/* --------------------------------------------------------
1200px
----------------------------------------------------------*/
@media screen and (max-width: 1200px) {




}
/* --------------------------------------------------------
1000px
----------------------------------------------------------*/
@media screen and (max-width: 1000px) {


}
/* 1000px*/
/* --------------------------------------------------------
980px
----------------------------------------------------------*/
@media screen and (max-width: 980px) {



div#content-top, div.content{
padding:180px 0 4rem;
}

#navToggle{
display:block;
position:absolute;
z-index:1000;
right:0;
top:0;
cursor:pointer;
text-align:center;
color:#fff;
font-size:0.7rem;
box-sizing:border-box;
height:60px;
width:60px;
text-align:center;
}
#navToggle div {
border-radius:6px;
height:38px;
}
#navToggle span {
display:block;
position:absolute;
width:60%;
height: 4px;
margin:0 20% 0;
border-radius: 4px;
background-color: #5E7B6E;
-webkit-transition: .35s ease-in-out;
-moz-transition: .35s ease-in-out;
transition: .35s ease-in-out}
#navToggle span:nth-child(1) {top:20%}
#navToggle span:nth-child(2) {top:36%}
#navToggle span:nth-child(3) {top:54%}

.openNav #navToggle span{
background-color: #fff;
}
.openNav #navToggle span:nth-child(1) {
    top: 30px;
    -webkit-transform: rotate(-45deg);
    -moz-transform:rotate(-45deg);
    transform:rotate(-45deg)
    }

.openNav #navToggle span:nth-child(2),
.openNav #navToggle span:nth-child(3) {
    top: 30px;
    -webkit-transform:rotate(45deg);
    -moz-transform:rotate(45deg);
    transform:rotate(45deg)
    }


div#wrapper.openNav{
margin-left:-260px;

}


div#header.fixed .block{
display: block;
}

ul#gNav{
 position: fixed;
 opacity:0;
  pointer-events: none;
 background:transparent;
  z-index: 20000;
  padding:0;
}
.openNav ul#gNav {
opacity:1;
pointer-events: auto;
  top:0;
  right:0;
width:260px;
background: #f8f4e6;
}
.openNav ul#gNav li{
display:block;
}
.openNav ul#gNav li a, .openNav ul#gNav li.sub a{
border:none;
border-radius:0;
border-bottom:1px solid #fff;
background:#E6E0D4;
padding:10px;
margin:0;
text-align:left;
font-size: 0.8rem;
}
.openNav ul#gNav li a{
color:#005600;
}
.openNav ul#gNav li.sub a{
background:#ffe787;
color:#666;
}
.openNav ul#gNav li.side a{
color:#fff;
padding:20px 10px;
background:#5E7B6E;
}
.openNav ul#gNav li.side a.mailapp{
background:#8CA68C;
}
.openNav ul#gNav li.side a i{
color:#fff;
}



div#header{
position:fixed;
z-index: 200;
}
div#header .block{
padding:0;
text-align:left;
}
div#header .logo{
min-width:200px;
padding: 0.4rem;
}
div#header .logoarea  .logo a{
padding:4px;
box-sizing:border-box;
overflow:hidden;
height:100px;
}
div#header .logo a img{
max-height:100%;
}

div#header .logoarea {
width:100%;
max-width:none;
}

div#header .block .info p.tel {
display:inline-block;
}

div#header .block .info{
margin:0 60px 0 0;
}
div#header .block .info p{
padding:0;
width:50%;
display:inline-block;
}

div#header .block .info p a{
text-align:center;
box-sizing:border-box;
border-radius:0;
display:block;
padding:20px 0;
margin:0 0.4rem 0.4rem;
border-radius:6px;
}

.notice{
font-size:1.1rem;
}
.panel-col{
column-count: 2;
}

.content .main{
width: auto;
margin:0 1rem;
}
}

#fee, #corporation{
padding-top: 12rem;
margin-top: -10rem;
border-top:none;
}

div#footer ul.fNav{
justify-content:space-between;
}
div#footer ul.fNav li{
width:calc(50% - 5px);
margin:0;
}
div#footer ul.fNav li.long{
width:98%;
}
div#footer ul.fNav li a{
padding:0.4rem 0;
}
div#footer ul.fNav + ul.fNav{
margin:0 0 3rem;
}

#service02.servicecol, .staff h2{
padding-top: 10rem;
margin-top: -10rem;
}

.profile ul{
-webkit-flex-direction: column;
   flex-direction: column;
}
.profile ul li, .profile ul li.qualification, .profile ul li.history{
padding:1rem;
width:100%;
}
.profile ul li +li{
border-left:none;
border-top: 1px dashed #bebebe;
}

}
/* 980px*/
/* --------------------------------------------------------
940px
----------------------------------------------------------*/
@media screen and (max-width: 940px) {

.featurecol p.ttl{
font-size:0.9em;
}

div#content div.flow .guide {
	text-align:center;
}



div#content{
width:auto;
margin:0 0 20px;
}

div#map{
width:auto;
}

section {
    padding: 30px 10px;

}

}
/* 940px*/
/* --------------------------------------------------------
912px
----------------------------------------------------------*/
@media screen and (max-width: 912px) {


div#content h1.ttl {
    margin: 10px 0 30px 10px;
}



div#news {
    margin: 0 0 60px;
    overflow: hidden;
}


div#content div.tCol p.toplink {
    float: none;
    clear:both;
    padding: 0;
    width: 90%;
    margin:0 auto;
}

div.col01{
	margin:10px auto;

}




div#content h2.sTtl {
    border-left: none;
	border-bottom: 1px dotted #80725d;
    font-size: 18px;
    padding: 0 0 10px 0;
    margin:0 10px 20px;
}

div#logoCol{
height:174px;
text-align:justify;
text-justify: inter-ideograph;
}


div#doctor{
margin:0 auto;
}

div.cPhoto {
    margin: 0 20px 0 20px;
    overflow: hidden;
}


}
/* 912px*/
/* --------------------------------------------------------
890px
----------------------------------------------------------*/
@media screen and (max-width: 890px) {



.greetingInner .doctor{
margin:0;
}

ul.eq li a{
    height:150px;
}

.featurecol {
width:auto;
padding:1% 10px;
}
.featurecol p.ttl {
  white-space: normal;
}
.featurecol p.txt{
min-height:auto;
}
.featurecol p.ttl{
font-size:1.2em;
}
.featurecol p.dbl{
margin:0 0 6px;
}






div#header .block .sub {
   clear:left;
}



}
/* 870px*/
/* --------------------------------------------------------
870px
----------------------------------------------------------*/
@media screen and (max-width: 870px) {

.parking img{
max-width:100%;
}

.greeting .gtext{
width:60%;
}
.greeting .doctor{
width:40%;
}





}
/* 870px*/
/* --------------------------------------------------------
830px
----------------------------------------------------------*/
@media screen and (max-width: 830px) {

.staff .inner{
flex-direction:column;
}
.staff .staffphoto, .staff .stafftxt{
width:100%;
}

.staff .staffphoto{
margin:0 auto;
max-width:70%;
}

#doctorInfo .col .sub{
    display: inline-block;
    width:100%;
    margin:0 0 20px;
}



}
/* 830px*/
/* --------------------------------------------------------
810px
----------------------------------------------------------*/
@media screen and (max-width: 810px) {

ul#gNav li a{
    padding: 14px 6px;
}

}
/* 810px*/
/* --------------------------------------------------------
770px
----------------------------------------------------------*/
@media screen and (max-width: 770px) {



#info .recruit{
width:100%;
}

#parking p.pic, #parking div.txt{
width:100%;
padding:0 10px;
}



ul.cPhoto {
    text-align: center;
}
ul.cPhoto li,ul.eq li{
width:46%;
}



}
/* 770px*/
/* --------------------------------------------------------
750px spmode
----------------------------------------------------------*/
@media screen and (max-width: 750px) {

html {
 font-size: 2.4vw;
}


.panel-col{
column-count: 1;
padding: 1rem;
}

div#header.fixed + #content{
padding-top:0;
}

.openNav ul#gNav li a, .openNav ul#gNav li.sub a{
font-size:1rem;
padding:0.8rem 0.4rem;
}

div#content-top, div.content{
padding: calc(60px + 16%) 0 0;
}

div#footer ul.fNavinfo li{
width: auto;
display: block;
margin: 0 0 1rem;
}

.access iframe{
height:36vh;
}



.btn a{
min-width:80%;
}

.snav ul li{
width:46%;
}

.col {
width:94%;
margin: 0 auto 20px;
}

.photo {
text-align:center;
display:block;
margin:0 auto 20px;
    width: 100%;
    float:none;
max-width:none;
}
.photo img{
width:60%;
}

.calinner{
    padding-top:550px;
}

.fixed + .topimg img{
  padding-top:0;
}

div#header .logoarea .logo a{
height:12vw;
padding:0;
width:auto;
text-align:left;
box-sizing:border-box;
display: flex;
}

table.document td:first-child{
width:40%;
}

.btn a, .trauma .flex_img p{
width:100%;
}

.panel.center.image01 p{
font-size:1.2rem;
}

h1.image{
height:180px;
}

.servicecol{
flex-direction:column;
}
.servicecol h2, .servicecol .servicetxt {
width:100%;
}
.servicecol h2{
border-top: 2px solid #d3c6be;
}
.servicecol .servicetxt {
padding:1rem 0;
}

.serviceinner p img{
display:block;
margin:0 auto;
}

.adhdtable .tablecol{
width:100%;
}

.route li{
padding:1rem;
margin:0 0 1rem;
}
.route li .photoset{
flex-wrap:wrap;
}
.route li, .route li img{
width:100%;
}

.route li img{
margin:0;
}

.serviceinner p.sphoto{
text-align:center;
}
.serviceinner p.sphoto img{
display:inline-block;
margin:0 0 1rem;
}
.sphoto.half img{
width:90%;
}

.scol p, .scol p.sphoto{
width:100%;
margin: 0 0 1rem;
}
.serviceinner .scol p.sphoto img{
margin:0;
}

.flow ul.info li{
width:100%;
}

.route li .photoset img{
width:100%;
}

.greeting .rep{
width:100%;
align-items:center;
}
.greeting .rep img{
width:60%;
}


.newsinner, .footer-nav-widgets-wrapper{
width:100%;
}

.btnlink{
width:90%;
margin:0 auto;
}

.listcol, .flex_therapy{
flex-direction:column;
}
.flex_therapy.start{
justify-content:center;
}

.listcol .photo,.listcol .txt{
width:100%;
}
.listcol .photo img{
width:50%;
}
.listcol .photo.none{
display:none;
}

.panel .image{
max-height: 40vw;
}

.ptsdcore{
flex-direction:column;
align-items:center;
}
.ptsdcore h4, .ptsdcore p{
width:90%;
}

.ptsdcore:nth-of-type(1) img{
bottom:-10vw;
left:-7%;
width:20%;
}
.ptsdcore:nth-of-type(3) img{
bottom:-10vw;
left:-7%;
width:20%;
}

.bctstep .bcttxt, .bctstep p{
width:100%;
}

.spdisp{
display:block;
margin:0;
text-align:center;
font-size:1.2rem;
}
.blink {
  animation: blinkAnime 1s infinite alternate;
}
@keyframes blinkAnime{
   0% { color: #f49701 }
 100% { color: rgba(255,255,255,0) }
}
.ntrcol div, .ntrcol.two div{
width:100%;
}
.ntrcol div img{
width: auto;
max-width:200px;
}
.ntrcol > div img.w{
max-width:100%;
}
.nutrition table th{
min-width:10vw;
}

.paymentcol{
flex-direction:column;
}
.payment{
width:80%;
}

.credit{
text-align:center;
}

.steps .inner ul li{
width:100%;
flex-direction:column;
}
.steps .inner ul li + li:before{
content: "\f063";
}
.steps .inner ul li div{
padding:10px 0 0;
}

.content h1 span{
max-width:50%;
}

.qna .submenu li{
width:50%;
}
.qna .submenu li a .sm_ttl{
width:calc(100% - 60px);
}

.staff p.btn a{
width:auto;
}

@keyframes flash {
0%,100% {
opacity: 1;
  }
50% {
opacity: 0;
  }
}
a.panel:hover{
box-shadow: 0 1px 1px 5px rgba(0, 0, 0, 0.1);
}
a.panel:hover:after{
animation: flash 2s linear infinite;
font-size: 28px;
}

h1.image-qna{
background: url("../img/top/qna-sp.jpg") 100% 70% / cover transparent;
}

}
/* --------------------------------------------------------
730px
----------------------------------------------------------*/
@media screen and (max-width: 730px) {




.scol{
text-align:center;
margin-bottom:0;
}
.scol img{
float:none;
margin:0 auto 20px;
}

table.feeTable span:before {
	content: "\A" ;
	white-space: pre ;
}

div#map {
    height: 300px;
}





div#footer ul#fNav {
    float: none;
    font-size:14px;
}
div#footer ul#fNav li {
    float: none;
    display:inline-block;
    margin: 0 6px 14px 0;
}

div#footer div#fInfo {
    float: none;
    margin: 0 0 40px;
    width: auto;
    text-align:center;
}
div#footer div#fInfo img {
    width: auto;
}

}
/* 730px */
/* --------------------------------------------------------
710px
----------------------------------------------------------*/
@media screen and (max-width: 710px) {

.sub-menu{
width:100%;
padding: 20px;
}
.sub-menu + main{
width:100%;
}
.sub-menu ul .smsb li{
display:inline-block;
}

}
/* 710px */
/* --------------------------------------------------------
700px
----------------------------------------------------------*/
@media screen and (max-width: 700px) {



div#header .block p.info {
    width: 100%;
}

table.calinfo{
    width: 100%;
}





div#main-top,div#main-top + div,div#main,div#main + div {
width:100%;
float:none;
margin-left:0;
}
.info iframe {
height:300px;
}





span.add::after{
content:"\A";
 white-space: pre;
}

ul#gNav {
    margin:0;
}


}
/* 700px */
/* --------------------------------------------------------
640px
----------------------------------------------------------*/
@media screen and (max-width: 640px) {

html {
    font-size: 3vw;
}

.notice span{
display:block;
}


}
/* 640px */

/* --------------------------------------------------------
610px
----------------------------------------------------------*/
@media screen and (max-width: 610px) {



div#content div#side p.access {
    text-align:center;
}




div#main, div#side {
    width: 100%;
    float:none;
}

div.cPhoto {
    margin: 0 10px 0 10px;
    overflow: hidden;
}

div.tCol {
	margin: 0 10px 20px;
}

div.col01{
	margin:10px;
	width:auto;
}

.gcal{
padding:0;
}

}
/* 610px */
/* --------------------------------------------------------
580px
----------------------------------------------------------*/
@media screen and (max-width: 580px) {





.monshin{
text-align:center;
}

.btncol{
	text-align:center;

}


div#header .block .hinfo .btn p {
    font-size: 14px;
}



#reservation .resvCol {
width:100%;
margin-bottom:20px;
padding:10px;
}

.stat {
    display: inline-block;
    float: none;
    padding:10px 0;
background:#EBECED;
border-radius:8px;
width:100%;
}

}
/* 580px */
/* --------------------------------------------------------
524px
----------------------------------------------------------*/
@media screen and (max-width: 524px) {

ul#gNav li a {
    padding: 10px 4px;
}




div#header .block p.tel a {
    letter-spacing: 1px;
}

.topmap {
	text-align:center;
}

#main-top .col {
    width: 100%;
}
#main-top .col:nth-child(2n) {
    margin-left: 0;
}
#main-top .col h2 {
    border-left:none;
    padding: 0 0 10px;
}




}
/* 495px */
/* --------------------------------------------------------
495px
----------------------------------------------------------*/
@media screen and (max-width: 495px) {

}
/* 495px */
/* --------------------------------------------------------
480px
----------------------------------------------------------*/
@media screen and (max-width: 480px) {

html {
    font-size: 3.6vw;
}
.main.about h2{
font-size: 1.2rem;
letter-spacing:0;
}



ul#gNav li.servicelist a{
min-height:60px;
}


main section#access{
    padding: 3rem 6% 8rem;
}

#news .btn{
margin: 0 5%;
width:90%;
}

.checktb{
font-size:0.9em;
}



ul.eq li p{
    font-size:0.8em;
}




.doctorInfo .col {
width:100%;
}







.pCol ul span:after{
content:"\A" ;
white-space: pre ;
}


div#header .block .hinfo {
    text-align: center;
    width: 66%;
}
div#header .block .hinfo .btn p {
    font-size: 12px;
}




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

.newscol {
    margin: 70px 0 120px;
}

div#footer ul#fNav li +li::before{
	content:none;
}




#main-top .col {
    display: inline-block;
    margin:0 0 20px;
    width: 100%;
}
#main-top .col:nth-child(2n) {
    margin-left: 0;
}







ul#gNav li a:hover{
opacity:1;
}

div#header .block p{
    font-size:0.7em;
}

a.spTel {
   pointer-events: auto;
   cursor: default;
}



div#logoCol {
    height: auto;
}
.snav ul li a{
min-height: 60px;
}

.calTxt{
font-size:0.6rem;
}

.service .catch{
padding: 0 14%;
}
.service .catch:before, .service .catch:after {
  width:12%;
}

.service.self p img{
width:auto;
margin:0 auto;
display:block;
}

}
/* 480px */

/* --------------------------------------------------------
440px
---------------------------------------------------------*/
@media screen and (max-width: 440px) {

h1.image-qna{
background: url("../img/top/qna-sp.jpg") 100% 70% transparent;
background-size:contain;
background-repeat:no-repeat;
}

#navToggle{
top:6px;
}

  .calinner {
      padding-top: 500px;
  }
table.cal td {
  height: 60px;
}

.docfee dt,.docfee dd{
width:100%;
display:inline-block;
}
.docfee dd{
text-align:center;
}

#info .qr p{
width:100%;
}
#info .qr p:nth-child(2){
text-align:center;
width:auto;
padding:10px;
}

div#header .adjwdth .info p a{
padding:6px;
}

.sub-menu.fixed ul{
display:block;
}

#service h2, #service h3, #clinic h2, #clinic h3{
padding-top: 90px;
margin-top: -90px;
}

.sub-menu ul .smsb li {
width:48%;
vertical-align:top;
}
.sub-menu ul .smsb li:nth-child(3) {
width:100%;
}

ul.eq li p{
    font-size:0.7em;
}

ul.cPhoto li span{
bottom:6px;
left:8px;
}



.doctorInfo h3{
font-size:1.2em;
}


.adjwdth .bizlink, div#header .adjwdth .info p.address{
display:none;
}

p.backToTop a {
    bottom: 10px;
    right: 10px;
}

.doctorInfo .col, .doctorInfo .col .sub  {
    width: 100%;
}




.profile ul span{
width:100%;
	}



.featurecol p.ttl {
font-size:1em;
letter-spacing:0;
}






div#content-top {
    margin: 0 auto;
}






div#footer {
padding:10px;
}





section {
    padding: 20px 10px;
}


.extend{
padding-top:430px !important;
}










ul#gNav li a {
height:auto;
}






.nosp{
display:none;
}



div#header{
    margin: 0;
    padding:0;
    text-align:center;
}


div.equip {
    height: 102px;
    margin: 0 10px 20px 10px;
    padding-left: 100px;
}



div.col {
margin: 10px 0 10px;
padding:0;
}

div#doctor .photo {
    background: url("../img/doctor/docphoto.jpg") no-repeat scroll 50% 10px rgba(0, 0, 0, 0);
    overflow: hidden;
    padding: 210px 0 0 0;
margin-bottom: 0;
}

.docttl span:after{
		content: "\A" ;
	white-space: pre ;
}


div#footer div#fInfo .flogo{
font-size:5vw;
}

.mapillust .circle{
height: 4.4vw;
width: 4.4vw;
}

}
/* 440px */
/* --------------------------------------------------------
380px
----------------------------------------------------------*/
@media screen and (max-width: 380px) {



div#header .logo {
min-width:auto;
width:calc(100% - 180px);
}

div#header .block .hinfo .btn p a {
    padding: 10px 4px;
}


ul#gNav li a::after {
    right: 8px;
}


table.feeTable th,table.feeTable td{
        width: auto;
        display: block;
    }


div#map {
    height: 240px;
}

#check table td {
padding:6px;
}

div#footer ul.fNav li{
font-size:3.4vw;
}

.greeting .rep .sig{
letter-spacing:0;
}
.greeting .rep .sig .line:nth-of-type(1){
white-space:nowrap;
}

}
/* 380px */
/* --------------------------------------------------------
360px
----------------------------------------------------------*/
@media screen and (max-width: 360px) {



ul.cPhoto li span{
font-size:0.7em;
padding:2px 4px;
}



}
/* 360px */
/* --------------------------------------------------------
340px
----------------------------------------------------------*/
@media screen and (max-width: 340px) {



html {
    font-size: 4vw;
}


#check .airs span {
font-size:1em;
}

.checktbCol{
max-width: 340px;
overflow: auto;
}
#check table th {
    width: 100px;
    min-width: 100px;
}
#check table td {
    width: 100px;
    min-width: 100px;
}

div#header .adjwdth .logo, div#header .adjwdth .info {
    padding:4px 0 0;
}

ul#gNav li a{
letter-spacing:0;
font-size:1rem;
}



div#header .adjwdth .logo {
    font-size: 5vw;
}

.btn {
width: 100%;
box-sizing:border-box;
}

div#header .adjwdth i{
line-height:30px;
}



#feature {
    padding: 10px 6px 0;
}



.newscol h2 {
    top: -26px;
}

.newscol {
    margin: 50px 0 120px;
}

.snav ul li a {
    min-height: 80px;
}



}
/* 340px */
/* --------------------------------------------------------
320px
----------------------------------------------------------*/
@media screen and (max-width: 320px) {


div#content div.tCol p.intro {
line-height: 1.4;
}

div#info img{
    width:100%;
}

div#cal {
background-size:contain;
}

}
/* 320px */
