@charset "UTF-8";

/*! sanitize.css | CC0 Public Domain | github.com/jonathantneal/sanitize.css */
pre,textarea{overflow:auto}
[hidden],audio:not([controls]),template{display:none}
details,main,summary{display:block}
input[type=number]{width:auto}
input[type=search]{-webkit-appearance:textfield}
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}
progress{display:inline-block}
small{font-size:75%}
textarea{resize:vertical}
[unselectable]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
*,::after,::before{box-sizing:inherit;border-style:solid;border-width:0}
*{font-size:inherit;line-height:inherit;margin:0;padding:0}
::after,::before{text-decoration:inherit;vertical-align:inherit}
:root{-ms-overflow-style:-ms-autohiding-scrollbar;overflow-y:scroll;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;box-sizing:border-box;cursor:default;font:16px/1.5 sans-serif;text-rendering:optimizeLegibility}
a{text-decoration:none}
audio,canvas,iframe,img,svg,video{vertical-align:middle}
button,input,select,textarea{background-color:transparent;color:inherit;font-family:inherit;font-style:inherit;font-weight:inherit;min-height:1.5em}
code,kbd,pre,samp{font-family:monospace,monospace}
nav ol,nav ul{list-style:none}
select{-moz-appearance:none;-webkit-appearance:none}
select::-ms-expand{display:none}
select::-ms-value{color:currentColor}
table{border-collapse:collapse;border-spacing:0}
::-moz-selection{background-color:#B3D4FC;text-shadow:none}
::selection{background-color:#B3D4FC;text-shadow:none}
@media screen{[hidden~=screen]{display:inherit}
[hidden~=screen]:not(:active):not(:focus):not(:target){clip:rect(0 0 0 0)!important;position:absolute!important}
}
/*# sourceMappingURL=sanitize.css.map */


/*--------------------------------------------------------------
## 共通
--------------------------------------------------------------*/

body{
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	color:#838383;
	letter-spacing:1.5px;
	background-image:url(../img/body_bg.jpg);
}

.sub_bg{
	background-image:url(../img/body_bg.jpg);
	background-repeat: repeat;
}
@media screen and (max-width:767px){
	.sub_bg{
		padding-top: 80px;
		padding-bottom: 100px;
	}
}
@media screen and (min-width:768px){
	.sub_bg{
		padding-bottom: 200px;
	}
}

/*clearfix*/

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

.clearfix {
	min-height:1px;
}

* html .clearfix {
	height: 1px;
	/*ﾂ･*//*/
	height: auto;
	overflow: hidden;
	/**/
}

.clear{
	clear:both;
}

/*iframe*/

.iframe_wrapper{
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
	margin-bottom:15px;
}
.iframe_wrapper iframe,
.iframe_wrapper object,
.iframe_wrapper embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*flexbox*/

.flex_between_all{
	-js-display: flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.flex_center_all{
	-js-display: flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

/*img*/

img{
	max-width:100%;
	height:auto;
}

/*Webfont*/

h1,
h2,
h3,
h4,
h5,
h6,
#header,
.top_mv_rbn p,
#g_navi ul.main_navi li a,
#top_two_contents_area p,
.area_yellow,
.link_arw,
a.link_btn_white,
p.cta_tel,
#footer .copyright,
.paragraph p.tel,
table.price th,
table.price td.bg_price,
p.shiki{
	font-family: vdl-v7marugothic, sans-serif;
	font-weight:600;
}

/*text-deco*/

b{
	background: -moz-linear-gradient(transparent 20%, #fdebe5 0%);      /* Firefox用 */
	background: -webkit-linear-gradient(transparent 20%, #fdebe5 0%);   /* Safari用 */
	background: -ms-linear-gradient(transparent 20%, #fdebe5 0%);       /* IE用 */
	background: -o-linear-gradient(transparent 20%, #fdebe5 0%);        /* Opera用 */
	background: linear-gradient(transparent 20%, #fdebe5 0%);           /* Default */
	font-weight:bold;
}

p.small,
span.small{
	font-size:90%;
}

/*link*/

.header_infoarea_contact img:hover,
#top_bnr_area img:hover,
#top_two_contents_area a:hover,
#top_habit .top_habit_btn_area a:hover,
#top_type .top_type_box a:hover,
a.link_arw:hover,
img.cta_btn:hover,
img.cta_info_other_contact:hover,
.service_btn a:hover{
	opacity:0.8;
	transition: all .3s;
	text-decoration:none;
}

/*pagetop*/

#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index:500;
}

#page-top a{
	display:block;
}

#page-top img{
	width:100px;
	height:100px;
}

#page-top a:hover{
    text-decoration: none;
	opacity: 0.60;
}


/*スマホのみ*/
@media screen and (max-width: 767px){

body p{
	font-size:13px;
	letter-spacing:0px;
	margin-bottom:10px;
}

.sp_none{
	display:none!important;
}

.section_inner,
.section_inner_wide{
	width:100%;
	margin:0 auto;
	padding:0 20px;
}

p.small{
	font-size:10px;
}

/*pagetop*/

#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
}

#page-top a{
	display:block;
}

#page-top img{
	width:80px;
	height:80px;
}

}

/*タブレットとPC（小画面）*/
@media screen and (min-width:768px){

body{
	border-top:solid 10px #f99c1c;
}

.flex_between{
-js-display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.flex_center{
-js-display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.section_inner,
.section_inner_wide{
	width:100%;
	margin:0 auto;
	padding:0 30px;
}

}

/*タブレットのみ*/
@media screen and (min-width : 768px) and (max-width: 1023px) {

body p{
	font-size:15px;
	margin-bottom:15px;
}

.tab_none{
	display:none!important;
}

}

/*PC（小画面）とPC（大画面）*/
@media screen and (min-width : 1024px){

body p{
	font-size:16px;
	margin-bottom:20px;
}

.pc_none{
	display:none!important;
}

}

/*PC（大画面）のみ*/
@media screen and (min-width : 1300px){

.section_inner{
	width:980px;
	margin:0 auto;
}

.section_inner_wide{
	width:1300px;
	margin:0 auto;
}

}

/*--------------------------------------------------------------
## トップページ:ヘッダー
--------------------------------------------------------------*/

/* スマホのみ */
@media screen and (max-width: 767px){

#sp_header{
	width:100%;
	height:80px;
	position:fixed;
	background-color:#f99c1c;
	z-index:9980;
}

#sp_header h1{
	font-size:12px;
	letter-spacing:0;
	margin:13px 0 0 10px;
	color:#fff;
	max-width:35%;
}

#sp_header h2{
	text-align:center;
	color:#f99c1c;
}

img.header_tel,
img.header_reservation,
img.txt_menu,
#toggle{
	display: block;
	position: absolute;
}

img.header_tel{
	width:50px;
	height:auto;
	top: 15px;
	right: 63px;
}

img.header_reservation{
	width:50px;
	height:auto;
	top: 15px;
	right: 115px;
}

img.txt_menu{
	width:40px;
	height:auto;
	top: 57px;
	right: 15px;
}

#toggle {
  background: #fff;
  color: #fff;
  text-align: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  top: 12px;
  right: 15px;
  position:absolute;
  z-index:9999;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;

}

.trigger,
.trigger span {
  display: inline-block;
  -webkit-transition: all .4s;
          transition: all .4s;
}
.trigger {
  position: relative;
  width: 20px;
  height: 19px;
}

.trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #a2d7d4;
  border-radius: 4px;
}

.trigger span:nth-of-type(1) {
  top: 1px;
}

.trigger span:nth-of-type(2) {
  top: 8px;
}

.trigger span:nth-of-type(2)::after {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background-color: #a2d7d4;
  border-radius: 4px;
  -webkit-transition: all .4s;
          transition: all .4s;
}
.trigger span:nth-of-type(3) {
  bottom: 1px;
}
.trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(8px) scale(0);
          transform: translateY(8px) scale(0);
}
.trigger.active span:nth-of-type(2) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.trigger.active span:nth-of-type(2)::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-8px) scale(0);
          transform: translateY(-8px) scale(0);
}

.toggleWrap {
  background:url(../img/sp_togglewrap_bg.gif);
  padding: 20px 15px 10px 15px;
  position: fixed;
  overflow-y: scroll;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index:9990;
}

.mainNav{
	margin:10px 0 20px 0;
}

.mainNav li{
  list-style-type: none;
}

.navItem {
  display: block;
  text-decoration: none;
  background:#fff;
  padding: 10px 0;
  text-align: center;
  font-size: 14px;
  color:#707070;
  border-radius:5px;
  margin-bottom:5px;
  border:dotted 2px #ddddec;
}

.sub_nav_item{
	width:48%;
	text-align:center;
	margin-bottom:10px;
}

.sub_nav_item a{
	color:#fff;
	font-size: 12px;
	display:block;
	padding:10px;
	border: solid 2px #ebebeb;
	border-radius:5px;
	background-color:#a2d7d4;
}

.hide {
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
}

.animation {
  -webkit-transition-property: opacity, visibility;
  transition-property: opacity, visibility;
  -webkit-transition-duration: .3s;
          transition-duration: .3s;
  -webkit-transition-timing-function: ease-in;
          transition-timing-function: ease-in;
}

.no-scroll {
  overflow: hidden;
}

img.kids_img{
	width:100px;
	height:auto;
	display:block;
	margin:0 auto 10px auto;
}

}


/* タブレットのみ */
@media screen and (min-width : 768px) and (max-width: 1023px) {

#header h1{
	margin-bottom:20px;
}

#header h2{
	font-size:14px;
}

#header .header_titlearea img{
	margin-left:-30px;
}

#header .header_infoarea{
	width:55%;
}

.header_infoarea_txt{
	width:100%;
}

.header_infoarea_txt p{
	font-size:12px;
}

.header_titlearea{
	width:45%;
	padding-top:30px;
}

}

/* タブレットとPC（小画面）*/
@media print, screen and (min-width:768px){

#header h1{
	color:#f99c1c;
	font-size:28px;
}

#header .header_infoarea{
	background-color:#f99c1c;
	color:#fff;
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	-webkit-border-bottom-left-radius: 8px;
	-webkit-border-bottom-right-radius: 8px;
	-moz-border-radius-bottomleft: 8px;
	-moz-border-radius-bottomright: 8px;
	position:relative;
	padding:30px 3%;
}

.header_infoarea_txt{
	text-align:center;
}

.header_infoarea_txt p{
	font-weight:500;
	line-height:180%;
	margin-bottom:10px;
}

.header_infoarea_txt p.header_tel{
	font-size:26px;
	margin-left:-30px;
}

.header_infoarea_txt p.header_tel span{
	background:url(../img/icon_tel_white.svg) left no-repeat;
	background-size:30px 30px;
	padding-left:35px;
}

.header_timetable{
	border-top:dotted 3px #fff;
	padding-top:10px;
}

.header_infoarea_contact img{
	position:absolute;
	right:0;
	top:0;
	margin-top:-10px;
	margin-right:3%;
	z-index:99;
}

}

/* スマホとタブレットとPC（小画面） */
@media screen and (max-width: 1199px) {
}


/* PC（小画面）とPC（大画面） */
@media print, screen and (min-width : 1024px){

.header_titlearea{
	width:40%;
	padding-top:100px;
}

#header .header_infoarea{
	width:57%;
}

.header_infoarea_txt p{
	font-size:12px;
}

.header_infoarea_txt{
	width:60%;
}

}

/*IE調整*/
@media all and (-ms-high-contrast:none){

}

/*--------------------------------------------------------------
## トップページ:メインビジュアル
--------------------------------------------------------------*/

.top_mv_titlearea{
	background:url(../img/top_mv_titlearea_bg.png) no-repeat;
	background-size:100% auto;
}

/* スマホのみ */
@media screen and (max-width: 767px){

#top_mv{
	margin-bottom:15px;
}

.top_mv_inner{
	margin-top:60px;
}

.top_mv_titlearea{
	width:90%;
	text-align:center;
	padding:18% 0 20px 0;
	margin:0 auto;
}

.top_mv_rbn_area{
	-js-display: flex;
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
	text-align:center;
}

.rbn_pink,
.rbn_blue,
.rbn_yellow{
	width:33.3%;
	padding:10px 5px;
	color:#fff;
}

.rbn_pink{
	background-color:#f8c6b4;
}
.rbn_blue{
	background-color:#a2d7d4;
}
.rbn_yellow{
	background-color:#fcd475;
}

.top_mv_rbn_area p{
	font-size:11px;
	letter-spacing:0;
	margin-bottom:0;
}

}

/* タブレットとPC（小画面）*/
@media print, screen and (min-width:768px){

.rbn_pink{
	background:url(../img/top_mv_merit_bg_pink.png) left no-repeat;
}
.rbn_blue{
	background:url(../img/top_mv_merit_bg_blue.png) left no-repeat;
}
.rbn_yellow{
	background:url(../img/top_mv_merit_bg_yellow.png) left no-repeat;
}

}

/* タブレットのみ */
@media screen and (min-width : 768px) and (max-width: 1023px) {

.top_mv_sp{
	width:100%;
	height:auto;
	margin:0 auto;
	display:block;
}

.top_mv_rbn_area{
	-js-display: flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.top_mv_rbn{
	width:240px;
	height:43px;
	line-height:43px;
	margin:5px;
	color:#fff;
}

.rbn_pink,
.rbn_blue,
.rbn_yellow{
	background-size:240px 43px;
	padding-left:40px;
}

.top_mv_rbn_area p{
	font-size:11px;
	letter-spacing:0;
}

}

/* PC（小画面）とPC（大画面） */
@media print, screen and (min-width : 1024px){

.top_mv_inner{
	background:url(../img/top_mv.png) right bottom no-repeat;
}

.top_mv_inner{
	margin:0 auto;
	background-size:70% auto;
	padding:10px 30px 0 30px;
}

.top_mv_titlearea{
	width:50%;
	padding:100px 0 30px 0;
	margin-bottom:5px;
}

.top_mv_rbn_area{
	padding-bottom:20px;
}

.top_mv_rbn{
	width:412px;
	height:74px;
	line-height:74px;
	margin-bottom:15px;
	color:#fff;
	padding-left:80px;
}

.top_mv_rbn p{
	font-size:18px;
	font-weight:normal;
}

.rbn_pink{
	background-image:url(../img/top_mv_merit_bg_pink.png);
}
.rbn_blue{
	background-image:url(../img/top_mv_merit_bg_blue.png);
}
.rbn_yellow{
	background-image:url(../img/top_mv_merit_bg_yellow.png);
}

}

/* PC（大画面）のみ */
@media print, screen and (min-width : 1300px){

.top_mv_inner{
	width:1300px;
	padding:20px 20px 0 20px;
}

.top_mv_titlearea{
	width:44%;
	margin-top:-40px;
}

}

/*--------------------------------------------------------------
## トップページ:グローバルナビ
--------------------------------------------------------------*/

/* タブレットのみ */
@media screen and (min-width : 768px) and (max-width: 1023px) {

#g_navi{
	margin-bottom:20px;
}

#g_navi .section_inner_wide{
	padding:0;
}

#g_navi ul.main_navi{
	margin:0 15px;
}

#g_navi ul.main_navi li a{
	padding:0 16px;
	font-size:13px;
}

}

/* タブレットとPC（小画面）*/
@media print, screen and (min-width:768px){

#g_navi{
	background-color:#FFFFFF;
	height:100px;
}

#g_navi ul.main_navi li{
	float:left;
	border-left: dotted 3px #f0f0f0;
	margin:0;
	padding:0;
}

#g_navi ul.main_navi li:last-child{
	border-right: dotted 3px #f0f0f0;
}

#g_navi ul.main_navi li a{
	height:100px;
	line-height:100px;
	display:block;
	color:#838383;
}

#g_navi ul.main_navi li a:hover{
	background-color:#fff7e3;
	transition: all .3s;
}

img.navi_kids_img{
	float:left;
	margin-left:10px;
}

.sub_gnavi{
	margin-top: 100px;
}

}

/* PC（小画面）とPC（大画面） */
@media print, screen and (min-width : 1024px){

#g_navi ul.main_navi li a{
	padding:0 15px;
	font-size:15px;
}

img.navi_kids_img{
	width:170px;
	height:146px;
	margin-top:-25px;
}

}

/* PC（大画面）のみ */
@media print, screen and (min-width : 1200px){

#g_navi .section_inner_wide{
	padding:0;
}

#g_navi ul.main_navi li a{
	padding:0 25px;
	font-size:17px;
}

img.navi_kids_img{
	width:250px;
	height:215px;
	margin-top:-45px;
}

}


/*--------------------------------------------------------------
## トップページ:バナーエリア
--------------------------------------------------------------*/

#top_bnr_area{
	text-align:center;
	margin-bottom:40px;
}

/* スマホのみ */
@media screen and (max-width: 767px){

#top_bnr_area{
	margin-bottom:30px;
}

}

/*--------------------------------------------------------------
## トップページ:矯正年齢選択
--------------------------------------------------------------*/

#top_two_contents_area img{
	width:70%;
	height:auto;
	margin:-15px 0 5px 0;
}

#top_two_contents_area p{
	color:#fff;
	font-weight:normal;
	line-height:200%;
}

.top_two_contents_area{
	display:block;
	margin:0 10px 40px 10px;
}

.bnr_kids{
	background:url(../img/top_2_contents_kids.png) no-repeat;
	background-size:100% 100%;
}

.bnr_otona{
	background:url(../img/top_2_contents_otona.png) no-repeat;
	background-size:100% 100%;
}

.bnr_petit{
	background:url(../img/top_2_contents_petit.png) no-repeat;
	background-size:100% 100%;
}

/* スマホのみ */
@media screen and (max-width: 767px){

#top_two_contents_area img{
	margin:-15px 0 0 0;
}

.top_two_contents_area{
	width:100%;
	height:auto;
	padding:0 15px 15px 0;
	margin:0 0 20px 0;
}

#top_two_contents_area p{
	padding-left:20px;
	font-size:11px;
	letter-spacing:0;
}

}

/* タブレットのみ */
@media screen and (min-width : 768px) and (max-width: 1023px) {

#top_two_contents_area img{
	margin:-15px 0 0 0;
}

.top_two_contents_area{
	width:330px;
	height:153px;
	padding:0 15px 15px 0;
}

#top_two_contents_area p{
	padding-left:20px;
	font-size:11px;
	letter-spacing:0;
}

}

/* PC（小画面）とPC（大画面） */
@media print, screen and (min-width : 1024px){

.top_two_contents_area{
	width:460px;
	height:213px;
	padding:0 20px 20px 0;
}

#top_two_contents_area p{
	padding-left:35px;
	font-size:14px;
	letter-spacing:0;
}

}


/* PC（大画面）のみ */
@media print, screen and (min-width : 1200px){

#top_two_contents_area{
	margin-bottom:30px;
}

.top_two_contents_area{
	width:550px;
	height:254px;
	padding:0 40px 20px 0;
}

#top_two_contents_area p{
	padding-left:40px;
	font-size:16px;
	letter-spacing:1px;
}

}

/*--------------------------------------------------------------
## トップページ:お子様の癖
--------------------------------------------------------------*/

#top_habit{
	text-align:center;
}

.top_habit_01,
.top_habit_02,
.top_habit_03,
.top_habit_04,
.top_habit_05,
.top_habit_06{
	display:block;
}

.top_habit_01{
	background:url(../img/top_habit_01.png) center no-repeat;
}
.top_habit_02{
	background:url(../img/top_habit_02.png) center no-repeat;
}
.top_habit_03{
	background:url(../img/top_habit_03.png) center no-repeat;
}
.top_habit_04{
	background:url(../img/top_habit_04.png) center no-repeat;
}
.top_habit_05{
	background:url(../img/top_habit_05.png) center no-repeat;
}
.top_habit_06{
	background:url(../img/top_habit_06.png) center no-repeat;
}

#top_habit h3{
	color:#838383;
}

.top_habit_btm{
	background:#f9ad55;
	border-top: solid 10px #ffe096;
	border-bottom: solid 10px #ffe096;
}

#top_habit h4{
	color:#fff;
	letter-spacing:3px;
	line-height:200%;
}

rt {
  font-size:8px;
}

ruby {
  color:#bde2e0;
}

#top_habit h4 span{
	color:#fff;
}

/* スマホのみ */
@media screen and (max-width: 767px){

#top_habit{
	background:url(../img/top_habit_bg_sp.png) top no-repeat;
	background-size:100% auto;
}

.top_habit_btn_area{
	-js-display: flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width:100%;
}

.top_habit_01,
.top_habit_02,
.top_habit_03,
.top_habit_04,
.top_habit_05,
.top_habit_06{
	width:150px;
	height:150px;
	background-size:150px 150px;
	margin:0 5px;
}

img.top_habit_baby{
	width:60%;
	height:auto;
	margin-top:-60px;
}

#top_habit h3{
	font-size:12px;
	padding-top:85px;
	letter-spacing:0px;
}

img.top_habit_arw{
	width:20%;
	height:auto;
}

#top_habit h4{
	font-size:16px;
	margin-top:-25px;
	letter-spacing:1.5px;
}

.top_habit_btm_tooth{
	margin-top:-50px;
}

.top_habit_btm_tooth img{
	width:80px;
	height:100px;
}

.top_habit_btm{
	padding:0 0 20px 0;
}

}

/* タブレットとPC（小画面）*/
@media print, screen and (min-width:768px){

#top_habit{
	background:url(../img/top_habit_bg.png) bottom no-repeat;
	background-size:100% auto;
}

.top_habit_inner{
	background:url(../img/top_habit_inner_bg.png) top center no-repeat;
}

.top_habit_btn_area{
	-js-display: flex;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.area_top{
	margin-bottom:20px;
}
.area_middle,
.area_bottom{
	margin-top:-20px;
}

}

/* タブレットのみ */
@media screen and (min-width : 768px) and (max-width: 1023px) {

.top_habit_inner{
	margin:-100px auto 0 auto;
	padding:80px 30px 0 30px;
	background-size:400px 342px;
}

.top_habit_01,
.top_habit_02,
.top_habit_03,
.top_habit_04,
.top_habit_05,
.top_habit_06{
	width:150px;
	height:150px;
	background-size:150px 150px;
}

#top_habit h3{
	padding-top:85px;
	letter-spacing:0px;
	font-size:12px;
}

.area_top{
	margin-bottom:20px;
}

.area_middle{
	padding:0 40px;
}

.area_bottom{
	padding:0 140px;
}

img.top_habit_arw{
	margin-top:-150px;
}

#top_habit h4{
	font-size:20px;
	margin-top:-40px;
}

.top_habit_btm_tooth{
	margin-top:-90px;
}

.top_habit_btm_tooth img{
	width:130px;
	height:163px;
}

.top_habit_btm{
	padding:0 0 30px 0;
}

}

/* PC（小画面）とPC（大画面） */
@media print, screen and (min-width : 1024px){

.top_habit_inner{
	margin:-110px auto 0 auto;
	padding:110px 30px 0 30px;
	background-size:550px 470px;
}

.top_habit_01,
.top_habit_02,
.top_habit_03,
.top_habit_04,
.top_habit_05,
.top_habit_06{
	width:190px;
	height:190px;
	background-size:190px 190px;
}

#top_habit h3{
	padding-top:105px;
	letter-spacing:0px;
}

.area_top{
	margin-bottom:20px;
}

.area_middle{
	padding:0 60px;
}

.area_bottom{
	padding:0 220px;
}

img.top_habit_arw{
	margin-top:-130px;
	margin-bottom:80px;
}

#top_habit h4{
	font-size:28px;
	margin-top:-60px;
}

.top_habit_btm_tooth{
	margin-top:-80px;
}

.top_habit_btm{
	padding:0 0 50px 0;
}

}

/* PC（大画面）のみ */
@media print, screen and (min-width : 1200px){

.top_habit_inner{
	width:1300px;
	margin:-150px auto 0 auto;
	padding-top:150px;
	background-size:690px 590px;
}

.top_habit_01,
.top_habit_02,
.top_habit_03,
.top_habit_04,
.top_habit_05,
.top_habit_06{
	width:220px;
	height:220px;
	background-size:220px 220px;
}

#top_habit h3{
	padding-top:125px;
	letter-spacing:1.5px;
}

.area_top{
	margin-bottom:20px;
}

.area_middle{
	padding:0 100px;
}

.area_bottom{
	padding:0 280px;
}

}


/*--------------------------------------------------------------
## トップページ:現在お悩みの歯並び
--------------------------------------------------------------*/

#top_type{
	background-image:url(../img/top_type_bg.gif);
}

.top_type_box{
	border: solid 4px #e7e7e7;
	border-radius:20px;
	width:48%;
}

img.top_type_label{
	float:left;
}

#top_type h3{
	color:#838383;
}

#top_type a{
	display:block;
}

#top_type h4{
	text-shadow:
	#fff 2px 0px 0px, #fff -2px 0px 0px,
	#fff 0px -2px 0px, #fff 0px 2px 0px,
	#fff 2px 2px 0px, #fff -2px 2px 0px,
	#fff 2px -2px 0px, #fff -2px -2px 0px,
	#fff 1px 2px 0px, #fff -1px 2px 0px,
	#fff 1px -2px 0px, #fff -1px -2px 0px,
	#fff 2px 1px 0px, #fff -2px 1px 0px,
	#fff 2px -1px 0px, #fff -2px -1px 0px,
	#fff 1px 1px 0px, #fff -1px 1px 0px,
	#fff 1px -1px 0px, #fff -1px -1px 0px;
	letter-spacing:2px;
}

#top_type h4 span{
	color:#f9ad55;
}

.top_type_txt_box{
	width:48%;
}

.area_yellow{
	display:block;
	text-align:center;
	background:#fcd475;
	border:5px solid #fff;
	padding:10px;
	color:#fff;
	letter-spacing:2px;
}

/* スマホのみ */
@media screen and (max-width: 767px){

#top_type{
	padding:40px 0 20px 0;
}

.top_type_box{
	background:url(../img/icon_arw_blue.svg)  bottom no-repeat #fff;
	background-size:30px 30px;
	background-position : 50% 90%;
	margin-bottom:20px;
	padding:0 10px;
	text-align:center;
}

img.top_type_label{
	width:35px;
	height:63px;
	margin-top:-10px;
}

img.top_type_img{
	width:80%;
	height:auto;

}

#top_type h3{
	font-size:14px;
	letter-spacing:0;
	padding-bottom:60px;
}

#top_type h4{
	font-size:20px;
	margin-bottom:15px;
	text-align:center;
}

.area_yellow{
	font-size:12px;
	border-radius:20px;
	text-align:left;
	letter-spacing:0;
}

img.sp_hatena{
	width:30%;
	height:auto;
	display:block;
	margin:10px auto 10px auto;
}

}

/* タブレットのみ */
@media screen and (min-width : 768px) and (max-width: 1023px) {

#top_type{
	padding:60px 0;
}

img.top_type_label{
	width:35px;
	height:63px;
	margin-top:-10px;
}

img.top_type_img{
	width:100px;
	height:100px;

}

#top_type h3{
	font-size:16px;
	padding-top:25px;
}

#top_type h4{
	font-size:30px;
	margin-bottom:15px;
	text-align:center;
}

.area_yellow{
	font-size:13px;
}

}

/* タブレットとPC（小画面）*/
@media print, screen and (min-width:768px){

.top_type_box{
	background:url(../img/icon_arw_blue.svg) right no-repeat #fff;
	background-size:30px 30px;
	background-position : 97% 50%;
	margin-bottom:40px;
	padding:0 15px;
}

img.top_type_img{
	float:left;
	margin-right:10px;
}

.area_yellow{
	border-radius:50px;
}

}

/* PC（小画面）とPC（大画面） */
@media print, screen and (min-width : 1024px){

#top_type{
	padding:80px 0;
}

img.top_type_label{
	margin-top:-17px;
}

#top_type h3{
	padding-top:50px;
	font-size:18px;
}

#top_type h4{
	font-size:37px;
	margin-bottom:20px;
	text-align:center;
}

}

/*--------------------------------------------------------------
## トップページ:当院だからできること
--------------------------------------------------------------*/

#top_feature{
	background:url(../img/top_feature_bg.gif) repeat;
}

img.top_feature_three_photo{
	width:100%;
	height:auto;
	border-top:solid 5px #fff;
	border-bottom:solid 5px #fff;
}

#top_feature .top_feature_h2_area{
	background:url(../img/top_feature_h2_bg.png) no-repeat;
	background-size:100% auto;
	text-align:center;
	position:relative;
}

.top_feature_box{
	background:url(../img/top_feature_box_hole.svg) repeat-y;
}

#top_feature .top_feature_box img{
	border-radius:20px;
	border:solid #fff 8px;
}

.feature_pink{
	background-color:#fce7e0;
}

.feature_blue{
	background-color:#e1f1f0;
}

.feature_yellow{
	background-color:#fff3d5;
}

.feature_green{
	background-color:#eff7ed;
}

.feature_gray{
	background-color:#f2f0f2;
}

#top_feature h3{
	position: relative;
}

#top_feature h3:after{
	width:50px;
	content: "";
	border-bottom: 4px solid #fff;
	position: absolute;
	top:0;
	left: 0;
	margin:auto;
}

a.link_arw{
	color:#838383;
}

a.link_arw span{
	background:url(../img/icon_arw_orange.svg) right no-repeat;
	background-size:25px 25px;
	padding:3px 30px 3px 0;
}

/* スマホのみ */
@media screen and (max-width: 767px){

#top_feature .top_feature_h2_area{
	width:100%;
	height:auto;
	padding:15% 30px 50px 30px;
	margin:-50px auto 40px auto;
}

#top_feature h2{
	font-size:15px;
	padding-bottom:8px;
	letter-spacing:0;
	border-bottom:dotted 3px #fcd475;
}

.top_feature_img,
.top_feature_txt{
	width:100%;
}

.top_feature_img{
	margin-bottom:15px;
	}

.top_feature_box{
	background-position: 2% 0%;
	background-size:20px 20px;
	padding:30px 7% 30px 7%;
}

.feature_pink{
	padding-top:25%;
	margin-top:-130px;
}

#top_feature h3{
	font-size:15px;
	margin-bottom:30px;
	text-align:center;
}

#top_feature h3:after{
	width:30px;
	bottom: -15px;
	right:0;
}

a.link_arw{
	font-size:13px;
}

a.link_arw span{
	background-size:20px 20px;
	padding:3px 25px 3px 0;
}

}

/* タブレットのみ */
@media screen and (min-width : 768px) and (max-width: 1023px) {

#top_feature .top_feature_h2_area{
	width:85%;
	height:auto;
	padding:100px 80px 50px 80px;
	margin:-72px auto 40px auto;
}

#top_feature h2{
	font-size:25px;
	padding-bottom:20px;
}

.top_feature_img,
.top_feature_txt{
	width:47%;
}

.top_feature_box{
	background-position: 2% 0%;
	background-size:43px 43px;
	padding:50px 35px 50px 55px;
}

.feature_pink{
	padding-top:200px;
	margin-top:-220px;
}

#top_feature h3{
	font-size:20px;
	margin-bottom:30px;
}

#top_feature h3:after{
	bottom: -15px;
}

}

/* タブレットとPC（小画面）*/
@media print, screen and (min-width:768px){

#top_feature h2{
	border-bottom:dotted 8px #fcd475;
}
}

/* PC（小画面）とPC（大画面） */
@media print, screen and (min-width : 1024px){

#top_feature .top_feature_h2_area{
	width:830px;
	height:320px;
	padding:130px 100px 0 100px;
	margin:-190px auto 0 auto;
}

#top_feature h2{
	font-size:34px;
	padding-bottom:20px;
}

.top_feature_img,
.top_feature_txt{
	width:48%;
}

.top_feature_box{
	background-position: 2% 0%;
	background-size:43px 43px;
	padding:80px 60px;
}

.feature_pink{
	padding-top:200px;
	margin-top:-130px;
}

#top_feature h3{
	font-size:23px;
	margin-bottom:40px;
}

#top_feature h3:after{
	bottom: -20px;
}
}

/*--------------------------------------------------------------
## トップページ:ごあいさつ
--------------------------------------------------------------*/

#top_greeting{
	background:#e5f3f2;
	border-top:solid 5px #fff;
	position:relative;
}

.top_greeting_txt,
.top_greeting_img{
	position:relative;
}

.top_greeting_title{
	background:url(../img/top_greeting_title.png) no-repeat;
	text-align:center;
	margin-bottom:20px;
}

.top_greeting_career{
	background-color:#fff;
	padding:25px;
	border:solid 3px #e7e7e7;
	margin-bottom:20px;
}

ul.list_career li{
	list-style:none;
	font-size:13px;
	background:url(../img/icon_arw_orange_circle.svg) left no-repeat;
	background-size:15px 15px;
	padding:3px 0 0 25px;
}

.tips_blog_inner{
	border-top: dashed 5px #fff;
	border-bottom: dashed 5px #fff;
	margin:0 auto;
}

#top_greeting h5{
	margin-bottom:10px;
	background:url(../img/icon_pen.svg) left no-repeat;
	background-size:20px 20px;
	padding-left:30px;
}

#top_greeting h5 a,
#top_greeting p.link_past a{
	color:#838383;
}

#top_greeting h5 a:hover,
#top_greeting p.link_past a:hover{
	text-decoration:underline;
}

#top_greeting p.link_past{
	text-align:right;
	margin-top:20px;
	font-size:14px;
}

#top_greeting p.link_past span{
	background:url(../img/icon_arw_blue.svg) right no-repeat;
	background-size:20px 20px;
	padding-right:30px;
}

/* スマホのみ */
@media screen and (max-width: 767px){

#top_greeting{
	padding-bottom:65px;
}

#top_greeting h2{
	border-bottom: dotted 7px #fcd475;
	padding-bottom:5px;
	margin:-40px 0 20px 0;
}

.top_greeting_career{
	border-radius:10px;
	margin-bottom:20px;
}

ul.list_career li{
	font-size:12px;
}

#top_greeting h4{
	margin-bottom:10px;
	font-size:16px;
}

.tips_blog_title,
.tips_blog_txt{
	padding:10px 20px 0 20px;
}

.tips_blog_title img{
	width:60%;
}

#top_greeting h5{
	font-size:12px;
	letter-spacing:0;
}

}

/* タブレットのみ */
@media screen and (min-width : 768px) and (max-width: 1023px) {

#top_greeting{
	padding-bottom:70px;
}

.top_greeting_txt,
.top_greeting_img{
	margin-top:-40px;
}

.top_greeting_title{
	width:350px;
	height:234px;
	padding-top:45px;
	padding-left:15px;
	background-size:100% auto;
}

#top_greeting h2{
	width:150px;
	font-size:25px;
}

#top_greeting h3{
	font-size:11px;
	letter-spacing:0;
}

#top_greeting h3 span{
	font-size:16px;
}

#top_greeting .top_greeting_txt p{
	font-size:14px;
}

.top_greeting_career{
	margin-bottom:60px;
}

ul.list_career li{
	font-size:13px;
}

.tips_blog_inner{
	width:100%;
	padding:40px 20px 20px 20px;
}

.tips_blog_title{
	padding-top:30px;
}

#top_greeting h5{
	font-size:15px;
}

}

/* タブレットとPC（小画面）*/
@media print, screen and (min-width:768px){

.top_greeting_txt,
.top_greeting_img{
	width:49%;
	position:relative;
}

#top_greeting h2{
	border-bottom: dotted 7px #fcd475;
	margin:0 auto;
	padding-bottom:8px;
	margin-bottom:8px;
}

.top_greeting_career{
	border-radius:20px;
}

#top_greeting h4{
	margin-bottom:10px;
	font-size:18px;
}

.tips_blog_title,
.tips_blog_txt{
	width:49%;
}

}

/* PC（小画面）とPC（大画面） */
@media print, screen and (min-width : 1024px){

#top_greeting{
	padding-bottom:140px;
}

.top_greeting_txt,
.top_greeting_img{
	margin-top:-80px;
}

.top_greeting_title{
	width:515px;
	height:345px;
	padding-top:80px;
	padding-left:20px;
}

#top_greeting h2{
	width:200px;
	font-size:33px;
}

#top_greeting h3{
	font-size:15px;
}

#top_greeting h3 span{
	font-size:20px;
}

#top_greeting .top_greeting_txt p{
	font-size:15px;
}

a.link_btn_white span{
	background-size:20px 20px;
	padding-right:30px;
}

.tips_blog_inner{
	width:980px;
	padding:40px 20px 20px 20px;
}

#top_greeting h5{
	font-size:16px;
}
}

/*--------------------------------------------------------------
## トップページ:CTA
--------------------------------------------------------------*/

img.top_cta_head{
	display:block;
	position:absolute;
	bottom:0;
}

#top_cta{
	background-color:#fff;
	text-align:center;
}

#top_cta h2{
	position:relative;
}

#top_cta p{
	line-height:200%;
}

.swiper-container{
	background-color:#fff;
}

#top_cta .swiper-button-prev,
#top_cta .swiper-button-next {
  display:none;
}

.cta_contact{
	background:url(../img/top_cta_bg.gif) repeat;
}

#top_cta h3{
	position:relative;
	z-index:99;
}

#map1{
	height:30vh;
	margin-top:-3px;
}

.cta_info{
	background:#fff;
	text-align:center;
}

table{
	width:100%;
	border: 3px solid #838383;
	border-spacing: 0;
	border-collapse: separate;
	background-color:#ffffff;
	border-radius:5px;

}

table th{
	text-align:center;
	border-left: 1px solid #838383;
	border-bottom: 1px solid #838383;
	background-color:#F5F5F5;
	padding:8px 5px;
}

table tr td{
	border-left: 1px solid #838383;
	border-top: 1px solid #838383;
	text-align:left;
	color:#838383;
	margin-top:-1px;
}

table.timetable tr td{
	text-align:center;
}

table tr td.kigou{
	color:#f99c1c;
	font-size:15px;
}

table tr td:first-child,
table th:first-child{
　border-top:none;
  border-left: none;
}

th.border-left{
	border-left: 1px solid #838383!important;
}

table tr:first-child td tr{
  border-top: none;
}

.cta_info_table p{
	font-size:14px;
	text-align:left;
}

.cta_info_table p span{
	color:#f99c1c;
}

.cta_info_other{
	text-align:left;
}

#top_cta p{
	margin-bottom:10px;
}

p.cta_tel span{
	background:url(../img/icon_tel_gray.svg) left no-repeat;
	background-size:30px 30px;
	padding-left:40px;
}

img.cta_info_other_contact{
	width:360px;
	height:auto;
	border-radius:10px;
	border:4px solid #e9e9e9;
}

#top_cta p.cta_tel a{
	color:#838383;
}

/* スマホのみ */
@media screen and (max-width: 767px){

#top_cta h2{
	margin-top:-45px;
	margin-bottom:20px;
}

#top_cta .cta_txt_area p{
	text-align:left;
}

.cta_contact{
	padding:0 10px;
}

#top_cta h3{
	margin:-20px 0 20px 0;
}

#map1{
	height:45vh;
}

#top_cta h2{
	margin-top:-50px;
	margin-bottom:30px;
}

.cta_info{
	padding:40px 0;
}

#top_cta h4{
	font-size:20px;
	margin-bottom:20px;
}

table{
	font-size:10px;
	margin-bottom:10px;

}

table.timetable{
	margin-top:10px;
	margin-bottom:10px;
}

table tr td{
	padding: 5px;
	font-size:10px;
	line-height:20px;
	letter-spacing:0;
}

#top_cta .cta_info_table p{
	font-size:11px;
}

#top_cta p.cta_tel{
	text-align:center;
	font-size:25px;
	margin-bottom:0;
}

p.cta_tel span{
	background-size:20px 20px;
	padding-left:30px;
}


}

/* タブレットのみ */
@media screen and (min-width : 768px) and (max-width: 1023px) {

#top_cta h2{
	margin-top:-50px;
	margin-bottom:30px;
}

.cta_info{
	padding:40px 0;
}

table{
	font-size:12px;
	margin-bottom:10px;

}

table.timetable{
	margin-top:10px;
	margin-bottom:10px;
}

table tr td{
	padding: 5px;
	font-size:12px;
	line-height:20px;
}

#top_cta h4{
	font-size:25px;
	margin-bottom:30px;
}

}

/* タブレットとPC（小画面）*/
@media print, screen and (min-width:768px){

.cta_txt_area{
	padding-bottom:20px;
}

#top_cta h3{
	margin:-40px 0 20px 0;
}

.cta_contact_img{
	width:65%;
}

.cta_contact_btn{
	width:35%;
	padding-top:40px;
}

.cta_info_table,
.cta_info_other{
	width:48%;
}

#top_cta p.cta_tel{
	font-size:28px;
	margin-bottom:0;
}

}

/* スマホとタブレットとPC（小画面） */
@media screen and (max-width: 1199px) {
}


/* PC（小画面）とPC（大画面） */
@media print, screen and (min-width : 1024px){

#top_cta h2{
	margin-top:-120px;
	margin-bottom:30px;
}

.cta_info{
	padding:80px 0;
}

table{
	font-size:13px;
	margin-bottom:10px;

}

table.timetable{
	margin-top:10px;
	margin-bottom:20px;
}

table th{
	font-size:13px;
}

table tr td{
	padding: 0.8em;
	font-size:14px;
	line-height:20px;
}

#top_cta h4{
	font-size:28px;
	margin-bottom:40px;
}

}

/*--------------------------------------------------------------
## フッター
--------------------------------------------------------------*/

#footer{
	background-color:#f99c1c;
}

.footer_img img{
	width:100%;
	height:100%;
}

.footer_contents ul.footer_sitemap li{
	width:50%;
	float:left;
	list-style:none;
	background:url(../img/icon_arw_orange_circle.svg) left no-repeat;
	background-size:25px 25px;
	padding-left:35px;
}

.footer_contents ul.footer_sitemap li a{
	display:block;
	color:#fff;
}

#footer ul.footer_sitemap li a:hover{
	text-decoration:underline;
}

#footer .copyright{
	background:#fff;
	text-align:center;
}

/*マップ部分*/
#footer .contents_map{
    border: 10px solid #F5F5F5;
}

/* スマホのみ */
@media screen and (max-width: 767px){

#footer{
	padding-bottom:60px;
}

.footer_contents{
	padding:20px 5px;
}

.footer_img{
	padding-top:20px;
}

.footer_img img{
	border-radius:10px;
}

#footer ul.footer_sitemap{
	width:100%;
	padding-bottom:20px;
	}

.footer_contents ul.footer_sitemap li a{
	height:35px;
	line-height:35px;
	font-size:12px;
}

#footer .copyright{
	width:100%;
	height:30px;
	line-height:30px;
	border-radius:50px;
}

#footer .copyright p{
	font-size:11px;
}

}

/* スマホとタブレット */
@media screen and (max-width: 1023px){
}


/* タブレットのみ */
@media screen and (min-width : 768px) and (max-width: 1023px) {

.footer_contents{
	padding:40px 20px;
}

#footer ul.footer_sitemap{
	width:100%;
	padding-bottom:20px;
	}

.footer_contents ul.footer_sitemap li a{
	height:40px;
	line-height:40px;
	font-size:13px;
}

#footer .copyright{
	width:100%;
	height:30px;
	line-height:30px;
	border-radius:50px;
}

#footer .copyright p{
	font-size:12px;
}

}

/* タブレットとPC（小画面）*/
@media print, screen and (min-width:768px){

.footer_img,
.footer_contents{
	width:49%;
}

}

/* スマホとタブレットとPC（小画面） */
@media screen and (max-width: 1199px) {
}

/* PC（小画面）とPC（大画面） */
@media print, screen and (min-width : 1024px){

.footer_contents{
	padding:40px 20px;
}

#footer ul.footer_sitemap{
	width:400px;
	padding-bottom:40px;
}

.footer_contents ul.footer_sitemap li a{
	height:60px;
	line-height:60px;
}

#footer .copyright{
	width:400px;
	height:50px;
	line-height:50px;
	border-radius:50px;
}

#footer .copyright p{
	font-size:14px;
}

}

/*--------------------------------------------------------------
## アニメーション
--------------------------------------------------------------*/

.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}

.animated.infinite {
  animation-iteration-count: infinite;
}

.animated.hinge {
  animation-duration: 2s;
}

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
  animation-duration: .75s;
}

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}


@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

@-webkit-keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}

@keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0);
  }
}

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}



/*--------------------------------------------------------------
## サブページ
--------------------------------------------------------------*/

.main_contents{
	background-color: #fff;
	border-radius:10px;
}
.breadcrumbs{
	font-size: 12px;
}
.breadcrumbs a:link,
.breadcrumbs a:visited{
	color: #838383;
	text-decoration: underline;
}
.breadcrumbs a:hover,
.breadcrumbs a:active{
	text-decoration: none;
}

.paragraph p.tel{
	font-size:140%;
	margin-top:20px;
}

.paragraph p.tel span{
	background:url(../img/icon_tel_gray.svg) left no-repeat;
	background-size:25px 25px;
	padding:3px 0px 3px 30px;
}

table .paragraph p.tel{
	margin-bottom:0;
}

@media screen and (max-width:800px){
	.main_contents{
		margin: 0 10px;
		padding: 15px 10px;
	}
	.breadcrumbs{
		margin: 0 10px 20px 10px;
	}
}
@media screen and (min-width:801px){
	.main_contents{
		width: 800px;
		margin: 0 auto;
		background-color: #fff;
		padding: 60px;
	}
	.breadcrumbs{
		width: 800px;
		margin: 0 auto 20px;
	}
}

.paragraph a:link,
.paragraph a:visited{
	color: #F99C1A;
	text-decoration: none;
}
.paragraph a:hover,
.paragraph a:active{
	text-decoration:underline;
}
.paragraph h2 a{
	color: #fff !important;
}
.paragraph img{
	margin-bottom: 20px;
	max-width: 100%;
	height: auto;
}

img.sub_head_icon{
	display:block;
	margin:20px auto;
	width:80px;
	height:80px;
}

.main_contents h1{
	letter-spacing: 2px;
	padding-bottom:10px;
	font-size:35px;
	margin-bottom:30px;
	text-align:center;
}

.paragraph h2{
  position: relative;
  padding: 20px 15px 15px 15px;
  background: #f99c1a;
  margin-bottom:40px;
  font-size:22px;
  border-radius:5px;
  color:#fff;
}

.paragraph h2:after {
	position: absolute;
	content: '';
	top: 100%;
	left: 30px;
	border: 15px solid transparent;
	border-top: 15px solid #f99c1a;
	width: 0;
	height: 0;
}

.paragraph h3 {
	border-top:dotted 3px #a2d7d4;
	border-bottom:dotted 3px #a2d7d4;
	padding:10px 15px;
	margin-bottom:30px;
	font-size:22px;
}

.paragraph h4{
	background:url(../img/icon_h4_bg.svg) left no-repeat;
	background-size:40px 40px;
	padding:10px 0 10px 50px;
	font-size:18px;
	margin-bottom:20px;
}

.paragraph h5{
	position: relative;
    font-size: 18px;
    padding: 0 0 0 15px;
    margin: 20px 0 20px 0;
	border-left: solid 5px #b8b8b8;
}

.paragraph h6{
	font-size: 16px;
	margin: 0 0 15px 0;
}

.paragraph h1,
.paragraph h2,
.paragraph h3,
.paragraph h4,
.paragraph h5{
	line-height:150%;
}

.paragraph h1 a,
.paragraph h2 a,
.paragraph h3 a,
.paragraph h4 a,
.paragraph h5 a,
.paragraph p a{
	text-decoration:none;
}
.paragraph ul,
.paragraph ol{
	margin-left: 30px;
}
.paragraph li{
	margin: 10px;
}
.border-box {
	border: 5px solid #f0f0f1;
	border-radius:10px;
	padding: 15px;
	margin-bottom:20px;
}


@media screen and (max-width:767px){
	.paragraph{
		padding:0 15px;
		margin-bottom: 30px;
	}
	.paragraph img{
		display: block;
		margin: 0 auto 10px;
	}

img.sub_head_icon{
	display:block;
	margin:20px auto 10px auto;
	width:60px;
	height:60px;
}


.main_contents h1{
	letter-spacing: 2px;
	font-size:23px;
	margin-bottom:20px;
	margin-top:30px;
}

.paragraph h2 {
	padding:10px 15px;
	margin-bottom:30px;
	font-size:17px;
}

.paragraph h3 {
  margin-bottom:20px;
  font-size:17px;
}

.paragraph h4{
	font-size:14px;
	margin-bottom:10px;
}

.paragraph h5{
    font-size: 14px;
    padding-left: 15px;
    margin: 0 0 10px 0;
}

.paragraph h6{
    font-size: 13px;
    margin: 0 0 10px 0;
}

.paragraph p{
	font-size:13px;
    margin-bottom: 15px;
    line-height: 23px;
}

.paragraph p.tel span{
	padding:5px 0 5px 25px;
}

}
@media screen and (min-width:768px){
	.paragraph{
		margin-bottom: 60px;
		padding:0 20px;
	}
	.paragraph img.img_center{
		display: block;
		margin: 0 auto 20px;
	}
	.paragraph img.img_left{
		float: left;
		margin-right: 20px;
	}
	.paragraph img.img_right{
		float: right;
		margin-left: 20px;
	}
	.paragraph .contents_flex_wrapper{
		display: -webkit-box;
	  display: -ms-flexbox;
	  display: flex;
		-ms-flex-wrap: wrap;
    flex-wrap: wrap;
		-webkit-box-pack: justify;
    -ms-flex-pack: justify;
		justify-content: space-between;
	}
	.paragraph .contents_flex_item{
		width: 300px;
		height: auto;
	}

}

/*--------------------------------------------------------------
## サブページ：文字装飾・リンク・リスト
--------------------------------------------------------------*/

/*文字装飾*/

.blue{
	color:#26b7c3;
}

.blue_bold{
	color:#26b7c3;
	font-weight: bold;
}

.green{
	color:#c4ce00;
}

.green_bold{
	color:#c4ce00;
	font-weight: bold;
}

.red{
	color:#de3030;
}

.red_bold{
	color:#de3030;
	font-weight: bold;
}

.text_s{
	font-size: 12px;
	letter-spacing:0px;
}

/*リスト*/

.paragraph ul{
	margin:20px 0 30px 0;
	padding: 0 5px;
}

.paragraph ul li{
	list-style-type:disc;
	margin:0 0 10px 25px;
}

.paragraph .list_arrow li{
	background:url(../img/icon_arw_orange.svg) no-repeat 3px 3px;
    background-size: 17px 17px;
    padding: 0 0 0 35px;
    line-height: 25px;
    margin:0 0 5px 0;
	list-style: none;
}

.paragraph ol{
	margin:20px 0 30px 0;
	padding: 0 3px 0 5px;
}

.paragraph .list_number{
	list-style: none;
	counter-reset: number;
}

.paragraph .list_number li{
	padding:0 0 0 3px;
	line-height: 25px;
	margin:0 0 5px 0;
}

.paragraph .list_number li:before{
	counter-increment: number;
	content: counter(number);
	color: #707070;
	font-weight: bold;
	margin-right: 8px;
}


/* スマホのみ */
@media screen and (max-width: 767px){

.text_s{
	font-size:10px;
}

.paragraph ul,
.paragraph .list_number{
	font-size:13px;
}

}

/*--------------------------------------------------------------
## サブページ:クリニック紹介
--------------------------------------------------------------*/


/*左右の矢印の色を変える*/
.slick-prev:before,
.slick-next:before {
    color: #000;
}
/*左右の矢印の位置を変える*/
.slick-next {
    right: 20px;
    z-index: 99;
}
.slick-prev {
     left: 15px;
    z-index: 100;
}
/*スライド数のドットの色を変える*/
.slick-dots li.slick-active button:before,
.slick-dots li button:before {
    color: #fff;
}
/*スライド画像の横幅可変*/
img {
    max-width: 100%;
     height: auto;
}

img.img_equipment_blue{
	border-radius:50%;
	border:solid 10px #e1f1f0;
}

img.img_equipment_pink{
	border-radius:50%;
	border:solid 10px #fce7e0;
}

.paragraph ul.thumb-item li{
	background-color:#F4F4F4;
	}

.thumb-item img{
	margin-bottom:0;
}

.thumb-item_txtarea{
	padding:15px;
}

.paragraph ul.thumb-item li h3{
	padding:0;
	border:none;
	margin:0 0 5px 0;
}

.paragraph ul.thumb-item li p{
	font-size:12px;
	margin:0 0 5px 0;
}


.paragraph ul.thumb-item li,
.paragraph ul.thumb-item-nav li{
	padding:0;
	margin:0;
}

.paragraph ul.thumb-item-nav li{
	margin:0 2px;
}

/* スマホのみ */
@media screen and (max-width: 767px){

.clinic_inner_box{
	width:100%;
	margin-bottom:10px;
}

.thumb-item-nav{
	margin-top:-2vh!important;
}

img.img_dr,
img.img_equipment_blue,
img.img_equipment_pink{
	width:50%;
	margin:0 auto;
}

.paragraph ul.thumb-item li h3{
	font-size:14px;
}

}

/* タブレットとPC（小画面）*/
@media print, screen and (min-width:768px){

.clinic_inner_rightimg,
.service_inner_rightimg{
  display: flex;
  flex-direction: row-reverse;
  justify-content:space-between;
}

.clinic_inner_box{
	width:47%;
	margin-bottom:20px;
}

.paragraph ul.thumb-item li h3{
	font-size:18px;
}

}

/*--------------------------------------------------------------
## サブページ:当院の治療
--------------------------------------------------------------*/

.service_btn{
	width:31%;
	margin:5px;
}

.service_btn a{
	display:block;
	margin:0 auto;
	background:#a2d7d4;
	color:#fff;
	text-align:center;
	border-radius:8px;
	font-size:14px;
	border: solid 3px #EFEFEF;
	padding:20px 15px;
}

.paragraph .service_btn h3{
	font-size:18px;
	color:#fff;
	border:0;
	margin:0;
	padding:0;
}

.paragraph .service_btn p{
	font-size:12px;
	margin-bottom:0;
	color:#fff;
	line-height:20px;
}

.paragraph .service_btn a:hover{
	text-decoration:none;
}

.service_img{
	width:35%;
}

.service_img img{
	width:100%;
	height:auto;
}

.service_txt{
	width:60%;
}

h3.service_demerit{
	border-left:none;
	border-right:none;
	border-top: dotted 2px #f99c1a;
	border-bottom: dotted 2px #f99c1a;
	padding:5px 0;
	text-align:center;
	background-image:none;
	color:#f99c1a;
	font-size:16px;
	margin-top:20px;
}


/* スマホのみ */
@media screen and (max-width: 767px){

.service_btn{
	width:46%;
}

.service_btn a{
	font-size:12px;
	padding:10px;
}

.paragraph .service_btn p{
	font-size:9px;
	line-height:15px;
}

.paragraph .service_btn h3{
	line-height:auto;
	font-size:14px;
}

.service_img,
.service_txt{
	width:100%;
}

.service_img img{
	width:50%;
	margin:0 auto 20px auto;
}

}

/*--------------------------------------------------------------
## サブページ:治療費用
--------------------------------------------------------------*/

table.price{
	border-collapse: collapse;
	margin-bottom:15px;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	border:none;
}

table.price th{
	text-align: center;
	letter-spacing:1px;
    border:none;
	color:#fff;
	font-size:17px;
}

table.price th,
table.price td{
	padding:20px 15px;
}

table.price th p,
table.price td p{
	font-size:14px;
	line-height:150%;
}

table.price tr.price_contents{
	border-bottom:dashed 2px #dedede;
}

table.price tr.price_contents:last-child{
	border:0;
}

table.price td{
	text-align: left;
	border:none;
	background-color:#fafafa;
}

table.price td.bg_price{
	text-align:center;
	vertical-align:middle;
	background-color:#ffeec6;
	font-size:16px;
	color:#f99c1c;
}

table.price td.sub_contents{
	border-left:dashed 2px #dedede;
}

.bg_green{
	background:#a2d7d4;
}

.bg_yellow{
	background-color:#fcd475;
}

.bg_pink{
	background-color:#fef0eb;
}

.bg_lightgreen{
	background-color:#d5edec;
}

table.price .border-none{
	border-bottom:none!important;
}

table.price .border-left{
	border-left:dashed 2px #dedede!important;
}

table.price .border-bottom{
	border-bottom:dashed 2px #dedede!important;
}

table.price h4{
	margin:0 0 0 0;
	padding:0 0 0 0;
	border:none;
	font-size:18px;
	color:#8cd0cc;
	background-image:none;
}

table.price h5{
	margin:0;
	padding:0 0 0 0;
	border:none;
	font-size:15px;
	color:#8cd0cc;
	background-image:none;
}

.txt_orange{
	color:#f99c1c;
}

.price_case_box{
	margin:20px 0 40px 0;
}

.price_case{
	width:48%;
	text-align:center;
	border: solid 5px #efefef;
	border-radius:20px;
	padding:25px 15px 10px 15px;
}

.dl_box{
	width:48%;
	border-radius:20px;
	padding:25px 15px 10px 15px;
}

ul.check li{
	list-style:none;
	background:url(../img/icon_check.svg) left top no-repeat;
	background-size:20px 20px;
	background-position:0 1px;
	padding-left:30px;
	margin:0 0 10px 0;
}

p.shiki{
	font-size:115%;
}

table.table_dl{
	min-width:100%;
	overflow:scroll;
}

table.table_dl td{
	font-size:12px;
	letter-spacing:0;
}

.scroll{
overflow: auto;　　　　/*tableをスクロールさせる*/
white-space: nowrap;　　/*tableのセル内にある文字の折り返しを禁止*/
}

.scroll::-webkit-scrollbar{　　/*tableにスクロールバーを追加*/
 height: 5px;
}

.scroll::-webkit-scrollbar-track{　　/*tableにスクロールバーを追加*/
 background: #F1F1F1;
}

.scroll::-webkit-scrollbar-thumb {　　/*tableにスクロールバーを追加*/
 background: #BCBCBC;
}

/* スマホのみ */
@media screen and (max-width: 767px){

table.price th{
	font-size:13px;
}

table.price th p,
table.price td p{
	font-size:12px;
	line-height:150%;
}

table.price td.bg_price{
	font-size:12px;
}

table.price h4{
	font-size:14px;
}

table.price h5{
	font-size:12px;
}

.dl_box{
	width:100%;
	margin-bottom:20px;
}

ul.check li{
	list-style:none;
	background:url(../img/icon_check.svg) left top no-repeat;
	background-size:20px 20px;
	background-position:0 1px;
	padding-left:30px;
	margin:0 0 10px 0;
}


}

/*--------------------------------------------------------------
## フォーム
--------------------------------------------------------------*/
.form_must{
	font-size: 12px;
	padding: 5px 10px;
	background-color: #F99C1A;
	color: #fff;
}
@media screen and (max-width : 767px){
	.form_must{
		margin-left: 10px;
	}
}
@media screen and (min-width : 768px){
	.form_must{
		display: block;
		width: 50px;
		text-align: center;
	}
}
.form_column_head{
	font-weight: bolder;
}
.form input[type="text"],
.form input[type="email"],
.form textarea{
	border: 1px solid #ddd;
	width: 100%;
	padding: 5px 10px;
}
.form input.no100{
	width: inherit;
}
input[type="submit"]{
	display: block;
	margin: 0 auto;
	background-color: #F99C1A;
	padding: 10px 15px;
	color: #fff;
	font-weight: bold;
}
@media screen and (max-width : 767px){
	.form_column{
		margin: 30px 0;
	}
	.form_column_head{
		margin-bottom: 10px;
	}
}
@media screen and (min-width : 768px){
	.form_column{
		display: -webkit-box;
	  display: -ms-flexbox;
	  display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		margin: 20px 0;
	}
	.form_column_head{
		width: 25%;
	}
	.form_column_data{
		width: 70%;
	}
}
