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

.pc {
	display:none;
}

.sp {
	display:block;
}

body {
	letter-spacing: 0em;
}


/*------------------------------------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_btn_img {
	display:none;
}

nav ul li a:hover{
	background:#fff;
	color:#221815;
}

/*------------------------------------common*/



body {
	margin:0;
	padding:0;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	color:#231815;
}

#wrap {
}

h1,h2,h3,h4,th,td {
	margin:0;
	padding:0;
	font-weight:normal;
}

p,ul {
	margin:0;
	padding:0;
}

li {
	list-style: none;
	text-decoration:none;
}

a {
	text-decoration: none;
	color:#231815;
}

img {
	vertical-align: bottom;
}

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



/*スマホのみ改行表示*/
.br{
	display:block;
}

/*------------------------------------鈴の区切り*/

.kugiri {

}

.kugiri_cont {
	width:100%;
	height:250px;
	text-align: center;
	margin:0 auto;
}

.kugiri p,.kugiri span {
	display:block;
}

.suzu {
	padding-top:50px;
	text-align: center;
}

.suzu img {
	width:47px;
	height:47px
}

.kugiri_title_01{
	font-size:25px;
	font-weight:600;
	line-height:1.1em;
	padding:20px 0;
	letter-spacing: 2px;
}

.kugiri_title_02{
	font-size:15px;
	font-family: 'Lato', sans-serif;
	font-weight:normal;
	color:#F4A21F;
	letter-spacing: 2px;
}


/*------------------------------------firstview*/

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

#location h1 {
	font-size:10px;
	padding-top:15px;
	position: absolute;
	left: 0;
	right: 0;
	text-align: center;
	z-index: 1000;
}

#first_view_txt {
	position: absolute;
	left:0;
	right:0;
	text-align: center;
	top:140px;
	z-index: 10000;
}

#logo {
	position:absolute;
	left: 0;
	right: 0;
	text-align: center;
	z-index: 10000;
	padding-top:50px;
}

#first_view_txt h2 {
	font-size:22px;
	font-family: 'Noto Serif JP', serif;
	font-weight:500;
	color:#fff;
	text-shadow:1px 1px 8px #000;
	opacity:0;
}

#first_view_txt h2.txt2 {
	padding-top:1em;
}

/*------------------------------------header_nav*/

#sp_header {
	display:block;
	position:relative;
	width:100%;
	height:100%;
	margin: 0 auto;
}

#header_cont {

}

nav#sp_nav {
	z-index:20000;
	transition:all 0.3s ease-out;
	width:100%;
	height:100%;
	position:fixed;
	left:-100%;
	top:0;
	background:rgba(255,255,255,1);
	overflow:scroll;
}

nav#sp_nav ul {
	margin:0;
	padding:0;
	display:flex;
	justify-content: space-around;
	position:relative;
	flex-direction: column;
}

nav#sp_nav ul {
	flex-direction:column;
	position:static;

}

nav#sp_nav ul li a {
	font-size:16px;
	font-weight:500;
	color:#231815;
	position: relative;
	transition:all 0.5s;
	line-height:40px;
	padding:15px 0 15px 50px;
	text-align:left;
	display:block;
	border-bottom:1px solid #E3790E;
}


#sp_header .sp_nav_treatment a {
  pointer-events: none;
}

#sp_header .toggle {
	padding-top:0;
	background:rgba(255,255,255,0.2);
	line-height:2em;
	display:none;
}

#sp_header .toggle li a {
	border-bottom:1px dotted #ccc;
}

#sp_header .toggle li:last-child {
	border-bottom:1px solid #E3790E;
}

.toggle {
	display:block;
}

header { display:none;
}

/*------------------------------------time_table*/

.time_table_cont{
	width:auto;
	margin:0 auto;
	display:flex;
	justify-content: space-between;
	font-size:15px;
	flex-direction: column;
}

.table_week,
.table_uketuke {
	width:100%;
}

.time_table table {
	width:90%;
	margin:15px auto;
}


.table_week th,.table_week td{
	text-align:center;
	padding:14px 0;
	border-top:solid 1px #ccc;
	border-bottom:solid 1px #ccc;
}

.time {
	font-family: 'Lato', sans-serif;
}

.sinryou{
	width:130px;
}

.usual {
	color:#F4A21F;
}

.unusual {
	color:#CAC642;
}

.last {
	background-color:#F4A21F;
	text-align: center;
	color:#fff;
	padding-left:20px;
	padding-right:20px;
}

.heijitu,.doyou {
	padding:3px 20px;
}

.table_b td {
	padding:8px 0 0 10px;
}

.table_uketuke {
	display:none;
}

.table_uketuke_sp {
	display:block;
}

.table_uketuke_sp table {
	margin:0 auto;
}

.table_uketuke_sp .last {
	text-align:center;
	width:100px;
	padding:10px;
}

.table_uketuke_sp .heijitu,
.table_uketuke_sp .doyou {
	padding:2px 0 0 10px;
	text-align: left;
}

.table_uketuke_sp ul {
	padding:25px;
}

#tel .table_uketuke_sp ul {
	font-weight:400;
	font-size:4vw;
	padding:0 15px;
}

/*-------------------------------------banner*/

.banner_new {
	text-align: center;
    margin: 25px 0;
}

.banner_new img {
	width: 85%;
}

.banner_new .info {
	padding-bottom: 1.4vw;
	font-size: 4.4vw;
}

/*------------------------------------concept*/


#concept {
	margin-top:0px;
	opacity:0;
}

#concept_cont{
	width: auto;
	margin:0 auto;
	display:flex;
	justify-content: center;
	flex-direction: column;
}

/*round共通*/

.circle{
	position:relative;
	display: inline-block;
	width: 100%;
	height: 400px;
	border-radius: 0%;
	background:#CAC642;
	mix-blend-mode: normal;
	margin: 0px;
}

#round_02 .circle{
	height: 510px;
}

/*round1*/

#round_01 .circle{
	background:#CAC642;
}

#round_01 p.suzu img {
	position: absolute;
	top: 15%;
	left: 50%;
	transform: translateX(-50%);

}

.circle_title {
	font-family: 'Lato', sans-serif;
	top: 30%;
	left: 50%;
	color:#fff;
	font-size:35px;
	font-weight:500;
	border-bottom:solid 1px #fff;
	width:184px;
	padding-bottom:5px;
	letter-spacing: 4px;
}

.circle_txt2 {
	top: 58%;
	left: 50%;
	font-size:18px;
	line-height:2em;
	font-weight:600;
	width:100%;
}

.circle_txt1 {
	width:100%;
	font-size:21px;
    top: 48%;
    left: 51%;
    line-height: 1em;
    font-weight: 700;
}

/*round2*/

#round_02 .circle{
	background:#E5E5E5;
}

.circle_txt3 {
	position: absolute;
	top: 36%;
	left: 50%;
	transform: translateX(-50%);
	font-size:16px;
	font-weight:500;
	width:90%;
	line-height:1.5em;
	padding:0;
}

.circle_txt3 p{
	padding-bottom: 1em;
}

#concept #round_02 p.gaikan img {
	position: absolute;
	top: -10%;
	left: 50%;
	transform: translateX(-50%);
}

/*about*/

article .b_type_box {
	display:flex;
	flex-direction: column;
	width:auto;
	margin:0 auto;

}

.a_type {
	width:100%;
	height:auto;
	background-color: #f9f9f9;
}
.a_type_box,
.b_type_box {
	display:flex;
	justify-content:flex-end;
	width:100%;
	margin:0 auto;
}

.a_type_box {
	flex-direction: column-reverse;
}

.b_type_box {
	flex-direction: column;
}

.a_img,.a_txt,
.b_txt,.b_img {
	width:100%;
	padding:0;
}

.a_type img,.b_type img {
	width:100%;
	height:auto;
}

.number {
	display:block;
	padding:25px 0 0 0;
	font-size:60px;
	font-weight:600;
	line-height:1em;
	font-family: 'Lato', sans-serif;
	color:#E3790E;
	text-align: center;
	letter-spacing: 5px;
}

h4.sub_title {
	display:block;
	font-size:22px;
	font-weight:600;
	line-height:1.5em;
	text-align: center;
	letter-spacing: 1px;
}

.display_btn_takuzi {
	display:block;
	text-decoration: none;
	font-size:20px;
	color:#fff;
	background:#A3967F;
	width:190px;
	height:63px;
	text-align: center;
	line-height:63px;
	margin: 23px 0 15px;
	transition: background .6s;
}

p.content {
	display:block;
	font-size:16px;
	line-height:1.7em;
	color:#5C5D5D;
	width:auto;
	padding:5px 20px;
	margin:0 auto;
}

#article_04 .number,
#article_05 .number,
#article_07 .number {
    padding: 25px 0 0 0;
}

/*治療のバリエーションボタン*/

#variation {
	display:flex;
	justify-content: flex-start;
	flex-wrap:wrap;
	width:320px;
	margin:0 auto;
}

#variation a{
	display:block;
	text-decoration: none;
	font-size:20px;
	color:#fff;
	background:#A3967F;
	width:150px;
	height:63px;
	text-align: center;
	line-height:63px;
	margin:5px;
	transition: none;
}



#variation a:hover{
	background:#f4a21f;
}

/*------------------------------------contact*/

#contact_cont{
	width:auto;
	display:flex;
	margin:0 auto;
	justify-content: space-around;

	flex-direction: column;
}

#tel .square {
	width:90%;
	height:auto;
	border:solid 2px #a3967f;
	padding:18px 0;
	text-align: center;
	font-size:5vw;
	font-weight:bold;
	margin:0 auto 25px auto;
}

#web .square {
	width:90%;
	height:auto;
	border:solid 2px #a3967f;
	padding:18px 0;
	text-align: center;
	font-size:20px;
	font-weight:bold;
	margin:0 auto 0px auto;
}

#tel .square p {
	padding-bottom:18px;
}

.tel_img {
	margin:0 10px 4px 0;
}

#tel .square a {
	color:#e3790e;
	font-size:10vw;
	font-family: 'Lato', sans-serif;
}

#tel .square table.a {
	font-size:14px;
	margin:0 auto;
}

#tel .square .heijitu,
#tel .square .doyou {
	padding:0 0 0 2px;
	font-size:3.5vw;
}

#tel .square .last {
	padding:0 5px;
}


#web .square img {
	width:90px;
}

#web .square p {
	font-size:5vw;
	font-weight:bold;
	text-align: center;
	padding-bottom:4px;
}

#web .square p.uketuke {
	color:#cac642;
}

.location_02 {
	font-size:3vw;
	text-align: center;
	padding-top:20px;
}

.tel_number,.footer_telnumber {
	pointer-events: auto;
}

/*------------------------------------TOPへ戻る*/

#top_arrow {
	text-align: center;
	font-size:18px;
	font-family: 'Lato', sans-serif;
	padding:50px 0;
}

#arrow {
 	width: 0;
 	height: 0;
 	border-left: 25px solid transparent;
 	border-right: 25px solid transparent;
 	border-bottom: 25px solid #e3790e;
	letter-spacing: 2px;
	font-family: 'Lato', sans-serif;
	margin:0 auto;
	margin-top:100px;
	margin-bottom:10px;
}

/*------------------------------------imgスクロール*/

section#img_scroll {
	margin-bottom:50px;
}

#img_scroll {
	width:auto;
}

/*------------------------------------footer*/

footer {
	height:auto;
	border-top:solid 1px #6c6e70;
	border-bottom:solid 25px #f4a21f;
}

#footer_cont{
	width:auto;
	display:flex;
	justify-content: space-between;
	margin:0 auto;
	padding:15px 0;

	flex-direction: column;
}

.footer_left {
	text-align: center;
	width:100%;
	padding-right:0px;

}

p.adress {
	padding:30px 0 10px 0;
}

.footer_telnumber{
	font-size:35px;
	font-family: 'Lato', sans-serif;
	font-weight:700;
}

.footer_web{
	padding-top:25px;
}

.footer_right {
	width:100%;
	padding:0;
}

.footer_right .table_uketuke {
	padding-top:10px;
}

.footer_right td.heijitu,
.footer_right td.doyou{
	padding:0 20px;
}

.footer_right .table_b td {
    padding: 2px 0 0 10px;
}

.footer_time_table .time_table_cont{
	display:block;
}

.footer_time_table .table_week th,
.footer_time_table .table_week td {
    text-align: center;
    padding: 9px 0;
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
}

footer table {
	width:320px;
	margin:0 auto;
}

.footer_logo img {
	width:300px;
}

.footer_web_img {
	width:320px;
	height:auto;
	margin-bottom:25px;
}

footer .table_uketuke_sp ul {
    padding: 10px 0px;
	width:320px;
	margin:0 auto;
}

#footer_cont {
	font-size:15px;
}

#sp_tel {
	width:100%;
	display:block;
	position:fixed;
	left:0;
	bottom:0;
	z-index:1000;
}

#sp_tel img {
	width:100%;
}

/*------------------------------------googlemap*/

#googlemap_sp  {
	display: block;
	text-align:center;
}

#googlemap  {
	display:none;
}

#copyright{
	text-align: center;
}

small {
	font-family: 'Lato', sans-serif;
}

/*------------------------------------sitemap*/

.sitemap_sp {
	display:block;
	margin-top:25px;
}

.sitemap {
	display:none;
}

.sitemap_sp .toggle {
	display: none;
}

.sitemap_sp ul li a {
	font-size:16px;
	font-weight:500;
	color:#231815;
	transition:all 0.5s;
	line-height:40px;
	padding:15px 0 15px 50px;
	text-align:left;
	display:block;
	border-bottom:1px solid #E3790E;
}

.sitemap_sp ul li:first-child {
	border-top:1px solid #E3790E;
}

.sitemap_sp ul.toggle li:first-child {
	border-top:none;
}


.sitemap_sp .toggle {
	padding-top:0;
	background:rgba(255,255,255,0.2);
	line-height:2em;
	display:none;
}

.sitemap_sp .toggle li a {
	border-bottom:1px dotted #ccc;
}

.sitemap_sp .toggle li:last-child {
	border-bottom:1px solid #E3790E;
}


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

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

/*---TOPメインテキスト---*/

h2.txt1 {
    animation: fadeIn_txt 2s ease 0.9s 1 forwards;
}

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

h2.txt2 {
    animation: fadeIn_txt 2s ease 1.9s 1 forwards;
}

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

h2.txt3 {
    animation: fadeIn_txt 2s ease 2.7s 1 forwards;
}

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

/*---ロゴと場所---*/

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

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

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

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


.fa-angle-down {
}











