@charset "utf-8";
/* CSS Document */

/* ---------------------------------------------------RESET */

html, body, div, span, iframe,
h1, h2, h3, h4, h5, h6, p,
address, img, ins, kbd, q, samp,
small, strong, ol, ul, li,
form, label,
table, caption, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, nav {
    margin:0;
    padding:0;
    font-size:100%;
    background:transparent;
}

body {

}

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

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

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

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

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

input, select {
    vertical-align:middle;
}

/*------------------------------------pcとsp*/
.pc {
	display:none;
}

.sp {
	display:block;
}


/*------------------------------------COMMON*/

@font-face {
	font-family: 'MyFont';
	src: url("../font/C4_Minniam_M.TTF");
}

body {
	font-family: MyFont;
	font-size: 16px;
	color:#595757;
	min-width: 360px;
}

#wrap {
}

/*------------------------------------FIRST VIEW*/

#first_view {
	position: relative;
	width:100%;
	height:300px;
	background-size: cover;
	background-position: center;
}

#first_view_txt {
	position:absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

#top_logo {
	position:absolute;
    top: 15%;
    left: 50%;
    transform: translate(0%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

#renew_info {
	position:absolute;
	bottom:15px;
	right:5%;
}


/*------------------------------------renew*/

#renew_info_sp {
	text-align:center;
	line-height:1.5em;
	background:#FFFEF0;
	padding:25px;
}

.renew_title {
	font-size:20px;
	border-bottom:solid 1px #575554;
	padding-bottom:10px;
}

.renew_text {
	font-size:20px;
}

#renew_info_sp .accent {
	padding:10px 0;
	font-size:24px;
}


/*------------------------------------header*/

header {
	background:#ffeb8d;
}

.header_flexbox {
	flex-direction: column;
}

.header_tel_side {
	text-align: center;
	padding-top:20px;
}

.header_logo_side {
	text-align: center;
}

.header_tel_side img,.header_logo_side img {
	width:80%;
}

.header_cont {

}

nav {
	width:100%;
	height:100%;
	margin: 0 auto;
	box-sizing: border-box;
	position:fixed;
	top:0;
	left: -100%;
	background-image: url("../images/texture_back.jpeg");
	z-index: 20000;
	overflow: scroll;

}

nav ul {
	display:flex;
	justify-content: center;
	flex-direction: column;
	padding:0 50px;
}

/* .nav01,.nav02_sp,.nav03_sp,.nav04,.nav05,.nav06 { */
.nav01,.nav02_sp,.nav03_sp,.nav04,.nav05,.nav06,.nav07 {
	border-right:none;
	border-bottom:dotted 2px #f5ad82;
	padding-left:25px;
}

.nav03_1,.nav03_2,.nav03_3,.nav03_4,.nav03_5,.nav03_6,.nav03_7,.nav02_1,.nav02_2,.nav02_3 {
	border-right:none;
	border-bottom:dotted 2px #ccc;
}

.nav03_7,.nav02_3 {
	border-right:none;
	border-bottom:dotted 2px #f5ad82;
}

.nav01 {
	border-top:dotted 2px #f5ad82;
}

nav ul li {
	padding:0 35px;
}

nav ul li a {
	transition:all 0.5s;
	color:#595656;
	line-height:50px;
	font-size:18px;
	font-weight:500;
	letter-spacing: 0.1em;
}

nav ul li.nav02_2 a {
	transition:all 0.5s;
	color:#595656;
	line-height:50px;
	font-size:18px;
	font-weight:500;
	letter-spacing: 0.1em;
}

.nav02_sp,.nav03_sp {
	color: #595656;
    line-height: 50px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.1em;
}

.nav_icon {
	padding:50px 0px;
	text-align: center;
}

/*診療項目*/
ul .toggle {
	padding:0;
}

ul .toggle li {
	margin-left:25px;
	padding-left:0;
}

ul .toggle li.nav02_3,ul .toggle li.nav03_7 {
	margin-left:0;
	padding-left:25px;
}

.toggle {
	display:none;
}

/*------------------------------------navbtn*/

#navbtn{
	display:block;
	z-index:30000;
	position:fixed;
	right:10px;
	top:10px;
	width:40px;
	height:40px;
	background:transparent;
}

#navbtn:hover{ cursor:pointer; }

#navbtn span{
	position:absolute;
	left:10px;
	width:20px;
	height:2px;
	background:#221815;
}

#navbtn span:nth-child(1){top:12px; transition:all 0.3s;}
#navbtn span:nth-child(2){top:19px; transition:all 0.3s;}
#navbtn span:nth-child(3){top:26px; transition:all 0.3s;}

#navbtn.menu span:nth-child(2){ width:0%; left:50%; }
#navbtn.menu span:nth-child(1){ top:19px; transform:rotate(45deg); }
#navbtn.menu span:nth-child(3){ top:19px; transform:rotate(-45deg); }





/*------------------------------------予約ボタン*/

.flow {

}

#flow_btn {
    position: fixed;
    right: 0;
    top: 260px;
    z-index: 3;
}

/*------------------------------------INFO*/

.info_bar {
	padding:10px;
	background:#ef8055;
	color:#fff;
	width:100%;
	margin-top:0;
	margin-bottom:25px;
	text-align:center;
	font-size:18px;
	box-sizing: border-box;
}

.logo_img {
	text-align:center;
}

.logo_img img {
	width:50%;
	max-width: 100px;
}

.info_flexbox {
	display:flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

.bold {
	display: block;
	margin: 0 0 10px;
	font-weight:bold;
	color:#231815;
}

.tel_no {
	display: block;
	font-weight:bold;
	font-size:30px;
	color:#ef8055;
	text-align: center;
}

.adress_cont {
	width: 100%;
	padding-top:0px;
}

.adress_place {
	display: block;
	text-align: center;
}

.tel_cont {
	width: 100%;
	padding-top:20px;
}

.orange {
		color:#ef8055;
}

.adress {
	width: 100%;
	padding: 0 20px;
	box-sizing: border-box;
	margin-left:0px;
	margin: 20px 0 0;
}


.banner {
	width: 100%;
	height: auto;
}

.banner:hover {
	opacity: 1;
	transition: 0.4s;
}

.banner a {
	display: block;
	width: 100%;
	height: 100%;
}

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



/*time_table*/

.time_table {
	padding:15px 15px 0 15px;
}

.tablebox {
	padding: 20px;
	margin-left:0px;
	box-sizing: border-box;
}

table.time_table th,
table.time_table td {
	padding:7px;
	font-size:15px;
}

table.time_table td {
	border-top:solid 1px #595656;
	border-left:solid 1px #595656;
}

table.time_table th {
	border-left:solid 1px #595656;
}

table.time_table .title {
	border-left:solid 1px #fff;
}

.time_table .text01 {
	text-align:center;
	padding-top:10px;
}

.time_table .text02 {
	text-align:center;
	padding-top:10px;
	margin-left:0px;
}

/* @media screen and (max-width: 928px) {
	table.time_table th,
	table.time_table td {
		padding:15px 5px;
	}
} */

/*------------------------------------BLOG*/

#section9 {
	margin-top:50px;
	padding:25px 0;
	width:100%;
	background:#eeefef;
}

.blog_cont {
	width:auto;
	height:auto;
	background:#eeefef;
	margin:0 auto;
	text-align:center;
	padding:15px;
	box-sizing: border-box;
}

#section9 .blog_cont ul {
	display:flex;
	flex-direction: column;
	justify-content: space-between;
}

#section9 .blog_cont li {
    width: 245px;
    margin: 20px auto;
    padding: 0px;
    height: 280px;
	list-style: none;
}

.eyecatch {
	width:100%;
	height:auto;
	max-height: 150px;
	overflow: hidden;
	object-fit: contain;
	box-sizing: border-box;
}

.s1,.s2 {
	display:block;
	padding-top:15px;
	text-align: left;
	color:#595757;
}

.a1 {
	display:block;
    border-radius: 20px;
    background: #FCE6DB;
    color: #595757;
    padding: 15px;
	margin-top:25px;
}


/*------------------------------------TITLE*/

.title02 {
	font-size:35px;
	font-weight:bold;
	letter-spacing: 0.15em;
	padding-top:10px;
}

.title03 {
	font-size:30px;
	padding:30px 0;
}

/* gw_banner */
.gw_banner {
	display: block;
	width: 100%;
	padding: 0 20px 20px 20px;
	box-sizing: border-box;
	margin: 20px auto 0;
}

.gw_banner div {
	width: 100%;
	height: 100%;
}

.gw_banner img {
	width: 100%;
	margin: 0 auto;
	object-fit: cover;
}

.gw_banner div:nth-child(-n + 2) {
	margin-right: 0;
	margin-bottom: 10px;
}

.gw_banner .rinji {
    width: 100%;
}

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

#blog {
	margin-top:25px;
}

.blog_cont {
	width:100%;
	height:auto;
	background:#eeefef;
	margin:0 auto;
	text-align:center;
	padding:20px;
	box-sizing: border-box;
}

.message_flexbox {
	display:flex;
	flex-direction: column;
	justify-content: center;
	max-width:100%;
	margin:0 auto;

}

#message {
	padding-top:25px;
}

#message .img_side {
	padding-top:25px;
	text-align: center;
}

#message .img_side img {
	width:90%;
}

#message .text_side {
	padding:15px 15px 25px 15px;
}

#message .title01,
#message .title02 {
	text-align:center;;
}

.text_cont {
	line-height:1.5em;
	padding-top:0px;
}

/*------------------------------------CONCEPT*/

#concept {
	background:#fffeef;
	margin:25px 0;
}

#concept .title03 {
	letter-spacing:0.1em;
}

.concept_cont {
	padding:25px 0;
}

.concept_title {
	text-align:center;
}

.concept_flexbox {
	display:flex;
	flex-direction: column;
	justify-content: center;
	margin:0 auto;
	align-items: center;
	max-width:600px;
	padding:30px 0;
}

.concept_flexbox .text_side {
	padding:15px;
	line-height:2em;
	width:auto;
}

.concept_flexbox .title04 {
	font-size:20px;
}

.four_a_flexbox {
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	margin:0 auto;
	width:auto;
	padding:15px;

}

.four_a_title {
	font-size:22px;
	padding-bottom:10px;
}

.four_a_box {
	padding:15px 0;
	width:100%;
}

.last_box {
	padding-right:0;
}

.four_a_text {
	line-height: 1.7em;
}

.accent {
	color:#f5ad82;
}

.accent2 {
		color:#f5ad82;
	font-size:30px;
}

.accent3 {
	font-size:30px;
	color:#f5ad82;
}

.accent4 {
	font-size:30px;
}

.important_title {
	font-size:24px;
	text-align: center;
}



.important_flexbox {
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width:1024px;
	margin:0 auto;
}

.important_flexbox .box1 {
	background-image:url(../images/important_back01.png);
}

.important_flexbox .box2 {
	background-image:url(../images/important_back02.png);
}

.important_flexbox .box3 {
	background-image:url(../images/important_back03.png);
}

.important_flexbox .box4 {
	background-image:url(../images/important_back04.png);
}

.important_flexbox .box5 {
	background-image:url(../images/important_back05.png);
}

.important_flexbox .box6 {
	background-image:url(../images/important_back06.png);
}


.important_flexbox .box1,
.important_flexbox .box2,
.important_flexbox .box3,
.important_flexbox .box4,
.important_flexbox .box5,
.important_flexbox .box6 {
	background-repeat:no-repeat;
	width:248px;
	height:216px;
	padding:30px;
	margin:25px;
	font-size:20px;
	line-height:1.5em;
	box-sizing: border-box;
}

/*------------------------------------TREATMENT*/

#treatment {
	background:#EDF7FD;
	padding:50px 0;
	margin-top:45px;
}

.treatment_title {
	text-align:center;
	padding-bottom:25px;
}

.treatment_box {
    width: 125px;
    height: 125px;
    padding: 10px 0;
    font-size: 20px;
    box-sizing: border-box;
    background: #fff;
    border: solid 1px #595757;
    margin: 10px;
}

#treatment a {
	color:#595757;
	transition: opacity 0.5s;
}

#treatment a:hover {
	opacity:0.5;
}

.treatment_flexbox {
	display:flex;
	flex-wrap:wrap;
	max-width:1020px;
	margin:0 auto;
	justify-content: center;
	text-align:center;

}

.treatment_text {
	display:inline-block;
	padding-top:0px;
}

.ireba {
	font-size:16px;
	text-align:center;
}

/*------------------------------------FEATURES*/

#features {
	padding-top:50px;
}

#features01 {
	border-top:none;
}

#features05 {
	border-bottom:none;
}

.features_title {
	text-align:center;
	padding-bottom:50px;
}

.features_flexbox {
	display:flex;
	flex-direction: column;
	margin:0 auto;
}

#features02 .features_flexbox,
#features04 .features_flexbox {
	flex-direction: column-reverse;
}

#features .img_side {
	width:100%;
	padding:20px;
	box-sizing: border-box;
}

#features .text_side {
	width:100%;
	padding:15px;
	box-sizing: border-box;
}

#features #features02 .text_side,
#features #features04 .text_side,
#features #features05 .text_side{
	width:100%;
	padding:15px;
	box-sizing: border-box;
}



#features .text_side {
	line-height:2em;
}

#features .text_side_accent {
	font-size:20px;
	padding-top:20px;

}

#features .img_side {
	background:#FBE7C8;
	text-align: center;
}

.features_title01 {
	font-size:27px;
	padding-top:10px;
}

.features_title02 {
	font-size:40px;
	font-weight:bold;
	padding-top:10px;
	padding-bottom:10px;
}

.features_title03 {
	font-size:22px;
	background:#fff;
	padding:10px;
	width:70%;
	margin:0 auto;
}

/*masui*/

#masui {
	background:#FCF4EE;
	padding:50px 0;
}

.masui_title {
	font-size:30px;
	text-align:center;
	padding-bottom:50px;
}

.masui_flex_box {
	display:flex;
	flex-direction: column;
	width:100%;
	margin:0 auto;
}

.masui_box_title {
	font-size:20px;
	font-weight:bold;
}

.masui_box {
	padding:0 20px 20px 20px;
	line-height:2em;
}

.masui_message {
	padding:0 20px;
	background:#FCF4EE;
	color:#F79869;
	max-width:900px;
	margin:0 auto;
	line-height:1.7em;
	box-sizing: border-box;
}

/*clean*/

#clean {
	background:#FCF4EE;
	padding-bottom:50px;
}

.clean_box_title {
	text-align: center;
	font-size:20px;
	border-bottom:solid 1px #F5AD82;
	padding-bottom:5px;
	margin-bottom:10px;
}

.clean_flex_box {
	display:flex;
	flex-direction: column;
	width:100%;
	margin:0 auto;
	line-height:1.7em;
	padding-top:15px;
}


.clean_box_left {
	width:auto;
	padding:15px;
}

.clean_box_img_left {
	text-align: center;
}

.clean_box_right {
	width:auto;
	position:relative;
	padding:15px;
}

.clean_box_text02 {
	padding:15px 135px 0px 0px;
}

.clean_box_img_right {
	position:absolute;
	right:15px;
	top:60px;
}

.clean_box_img_right img {
	width:127px;
}

.clean_cont_kids .clean_box_img_right {
 	position: absolute;
 	left: 0;
 	right: 0;
 	margin: auto;
}

.kids_img {
  	position: absolute;
  	left: 0;
 	right: 0;
 	margin: auto;
	padding-top:10px;
}

img.kids_img {
	width:90%;
}

.clean_box_text04 {
	padding:0px;
	height:200px;
}

.accent6 {
	font-size:22px;
}




/*------------------------------------求人バナー*/

#recruit_banner {
	text-align:center;
	padding: 30px 40px 0;

}

#recruit_banner img {
	width:90%;
}
#recruit_banner .shinsotsu {
	margin-bottom: 30px;
	}

/*------------------------------------TOPへ*/
#top {
	text-align:center;
	padding-bottom:50px;
}

/*------------------------------------MAP*/

#map_canvas {
	width:100%;
	height:300px;
}


/*------------------------------------FOOTER*/

footer {
	border-bottom:solid 25px #f5ac81;
	background:#EDF7FD;

}

.footer_logo {
	padding-bottom:25px;
	text-align: center;
}

.footer_logo img {
	width:70%;
}

.footer_cont {
	padding:25px 0;
}

/*FOOTERのタイムテーブルのみに適用*/
footer table.time_table .title {
	border-left:solid 1px #EDF7FD;
}


/*------------------------------------SITEMAP*/

#sitemap li {
	list-style:none;
}

.sitemap li {
	padding-top:10px;
}



.sitemap {
	width:100%;
	margin:0 auto;
}

.sitemap_01 {
	display:flex;
	flex-direction: column;
	padding-top:25px;
	padding-bottom:0px;
}

.sitemap_02 {
	display:flex;
	flex-direction: column;
	padding-top:0px;
	padding-bottom:25px;
}





.sitemap_03 {
	display:flex;
	padding-top:5px;
	padding-bottom:50px;
}

.sitemap_bar {
	border-bottom:none;

}

.sitemap_01 a {
	padding-left:50px;
	transition: all 0.5s;
}

.sitemap_02 a,.sitemap_03 a {
	padding-left:35px;
	transition: all 0.5s;
}

.sitemap_01 a.first,.sitemap_02 a.first,.sitemap_03 a.first {
	padding-left:0px;
}

.sitemap_text {
	color:#5C5D5D;
	padding-left:5px;
}

.sitemap_01 a:hover,.sitemap_02 a:hover,.sitemap_03 a:hover {
	opacity:0.5;
}

.sitemap_sp {
	display:none;
}

.fa-chevron-circle-right {
	color:#F5AD82;
}


#thanks {
    font-size: 20px;
    text-align: center;
    padding: 25px 0;
    line-height: 1.5em;
}

/*------------------------------------animation ふわっと表示*/
/*---TOPメインビジュアル---*/
#first_view {
    animation: fadeIn_img 3s ease 0s 1 normal;
}

@keyframes fadeIn_img {
    0% {opacity: 0}
    100% {opacity: 1}
}


/*------------------------------------ロゴをふわっと表示*/

#logo {
animation: fadeIn_logo 3s ease 0s 1 forwards;
}

@keyframes fadeIn_logo {
    0% {opacity: 0}
    100% {opacity: 1}
}


/*------------------------------------スクロールふわっと表示*/

.scroll {
  opacity : 0;
  transform: translateY(0px);
  transition: all 2.5s;
}













