/* Media QuelikeTblry ================================================================================*/
.sp{display: none;}
.pc{display: inline-block;}


@media only screen and (max-width: 479px){
	.pc{display: inline-block;}
	
}

@media only screen and (min-width: 480px) and (max-width: 599px) {
	.pc{display: inline-block;}
	
}

@media only screen and (max-width : 599px) {
	.sp{display: inline-block;}
	.pc{display: none;}
	
	body{min-width:inherit!important;}

	p,
	ol li,
	ul li,
	dl dt,
	dl dd,
	table th,
	table td{
		font-size: 4.5vw;
		line-height: 1.6;
	}

	ul.disc li{
		line-height: 1.4;
	}
	ul.slash{
        margin-top: 2%;
        }

	ul.link{
		flex-direction: column;
		margin-top: 10%;
	}
	ul.link li,
	ul.link li:not(:first-child){
		margin: 0 0 4% 0;
	}
	ul.link li a {
		width: 100%;
		font-size: 4.5vw;
		padding-bottom: 0;
	}

	ul.download{
		flex-direction: column;
		margin: 8% 0 0 0;
	}
	ul.download li:not(:first-child){
		margin-left: 0;
		margin-top: 5%;
	}
	ul.download li a{
		width: 100%;
		font-size: 5vw;
		line-height: 1.4;
		padding: 2% 0;
	}

	dl.dl02 dt{
		width: 25%;
	}
	dl.dl02 dd{
		width: 75%;	
	}
	dl.dl02 dt,
	dl.dl02 dd{
		padding: 4% 0;
	}
	dl.dl03{
		margin-top: 4%;
	}
	dl.dl03 dt{
		padding: 4% 0;
	}
	dl.dl03 dd{
		padding: 0 0 4% 0;
	}


	address{
		font-size: 4.5vw;
	}
	.title01{
		font-size: 7vw;
		margin-bottom: 10%;
		padding-bottom: 5%;
	}
	.title01::after{
		font-size: 4vw;
		margin: 0;
	}
	.title02{
		font-size: 6vw;
		margin-bottom: 10%;
	}
	.title02::after{
		font-size: 3.5vw;
		margin: 3% 0 0;
	}
	.title03{
		font-size: 5vw;
		margin: 0 0 5%;
		padding: 2% 5%;
	}
	.title04{
		font-size: 5vw;
		margin-bottom: 3%;
	}
	.title05{
		font-size: 5vw;
	}

    table.tb01 {
		border: #21445B 1px solid;
	}
    table.tb01 th,
    table.tb01 td{
        display: block;
        border: none;
    }
    table.tb01 th{
        width: 100%;
        text-align: left;
		padding: 2% 4%;
    }

	table.tb01 td{
		padding: 4% 4% 8%;
	}

	table.time th,
	table.time td{
		font-size: 4.4vw;
		padding: 2% 0;
	}

	table.time th:first-child{
		width: 30%;
	}
	.mon,
	.closed{
		font-size: 4vw;
	}
	.closed{
		margin-top: 4%;
		}

	.closed small{
		font-size: 4vw;
		}
    
	main.subPage{
		padding-top: 20%;
	}

	.wrap{
		width: 96%;
		padding: 10% 0;
		margin: 0 auto;
	}
	.inner{
		padding: 0 0 10% 0;
	}
    
    
	/* header */
	header {
		position: fixed;
		z-index: 10;
		width: 100%;
		min-width: inherit;
		background: #ffffff;
		background:linear-gradient(180deg, rgba(255, 255, 255, 0.8) 30%, rgba(255, 255, 255, 0) 100%);
		padding: 4% 2%;
		}

	.headerInner {
		align-items: center;
	}

	header .logo {
		width: 65%;
	}

	header .right {
		width: 30%;
		flex-direction: row;
		align-items: center;
		}

	.headerInfo{
		display: block;
		margin-bottom: 0;
	}
	.headerInfo address{
		display: none;
	}
	.headerInfo .tel img{
		width: 90%;
	}


	nav ul{
		flex-direction: column;
		width: 80%;
		gap: 0;
	}

	nav ul li:last-child{
		display: block;
	}
	nav ul li:not(:last-child){
		margin-bottom: 5%;
	}

	nav ul li a{
		font-size: 5vw;
	}

    nav ul li button{
		display: block;
		width: 100%;
		color: #FFF;
		font-family: 'Zen Old Mincho', sans-serif,'Avenir','Helvetica Neue','Helvetica','Arial','Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif!important;
		font-size: 5vw;
		background-color: #11253e;
		border: none;
		padding: 4% 0;
		margin: 5% 0 10% auto;
		}

	/*menu*/
	.menu-btn{
		display: block;
        }

    .menu-btn img{
		width: 90%
        }

    .menu-btn.sticky{
        transform: translateY(0%);
        }
	
	nav{
		position: fixed;
		top: 0;
		right: 0;
		z-index: 999;
		width: 70%;
		height: 100vh;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		background: #FFF;
		margin: 0;
		overflow-y: auto;
		overflow-x: hidden;
		touch-action: pan-y;
		overscroll-behavior-x: none;
		opacity: 0;
		}
	nav{
		transform: translatex(100vh);
		transition: all .5s linear;
		}
	
	nav.is-active{
		opacity: 1;
		transform: translateY(0);
		}
	
	ul.menu{
		width: 90%;
		flex-direction: column;
        margin: 0 auto;
		}
	ul.menu > li{
		width: 100%;
		border-left: none;
		padding: 4% 0;
		}
	ul.menu > li > a{
		display: block;
		font-size: 5vw;
		line-height: 1;
		text-align: left;
		background-image: none;
		padding: 0;
		}

	ul.menu > li:last-child{
		padding: 0;
		border-bottom: none;
		}
	ul.menu > li > button{
		display: block;
		width: 60%;
		color: #FFF;
		font-size: 5vw;
		background-color: #6D7A8E;
		border: none;
		padding: 4% 0;
		margin: 5% 0 10% auto;
		}
	
	.drop-menu{
        position: inherit;
        }
    ul.submenu li a{
        font-size: 4.5vw;
        }

    .drop-menu ul.submenu {
        position: inherit;
        top: auto;
        left: auto;
		z-index: auto;
		visibility: visible;
		opacity: 1;        
		display: flex;
		flex-wrap: wrap;
        min-width: 100%;
        border: none;
        box-shadow: none;
		padding: 0 0 0 5%;
		margin: 4% 0 0 0;
        }
	.drop-menu ul.submenu li{
		width: 50%;
		border-bottom: none;
		}
	.drop-menu ul.submenu li:last-child{
		width: 100%;
		}
    .drop-menu ul.submenu li a {
        font-size: 4.5vw;
        white-space: nowrap;
        padding: 0;
        }
	
	.bk {
		position: fixed;
		z-index: 99;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #11253e;
		opacity: 0.6;
		transition-duration: .5s;
		}
	
	/* footer */
	#map iframe{
		height: 300px;
	}

	footer .wrap{
		width: 96%;
		flex-direction: column-reverse;
		padding: 10% 0 30%;
		margin: 0 auto;
	}

	footer .logo {
		width: 60%;
		margin: 0 auto 5%;
	}

	.footerInfo{
		width: 100%;
		margin-top: 10%;
	}
	.footerInfo p,
	.footerInfo address{
		font-size: 4.5vw;
	}

	.footerInfo p a{
		text-decoration: underline;
	}

	.footerInfo address{
		margin-bottom: 5%;
	}

	.footerInfo .time{
		margin: 5% 0;
		}

	.footerInfo .copy {
		font-size: 4vw;
	}

	#ftcal{
		width: 100%;
	}
	#ftcal h2{
		display: flex;
	}
	#ftcal h2 p{
		color: #FFF;
		font-size: 24px;
		font-weight: bold;
	}


	.monshinBtn{
		right: auto;
		left: 4%;
		bottom: 2%;
		width: 50%;
	}

	.insta {
		right: 23%;
		bottom: 1%;
		width: 20%;
	}

	.pageTop {
		right: 2%;
		bottom: 1%;
		width: 20%;
	}


	/* index --------------------------------------------------- */
	#mainVisual  .wrap{
		position: relative;
		height: auto;
	}

	.slider{
		width: 100%;
		height: auto
	}

	.visualCopy {
		position: relative;
		right: auto;
		bottom: auto;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		width: 100%;
		padding: 0;
		background-color: #FFF;
	}

	.catch01 {
		width: fit-content;
		color: #ad9261;
		font-size: 4vw;
		background-color: transparent;
		border-bottom: #ad9261 1px solid;
		padding: 2% 4%;
		margin: 0;
	}

	.catch02{
		width: 100%;
		align-items: flex-start;
		padding: 4%;
		margin: 0;
		}

	.catch02 .line{
		display: block;
		font-size: 6vw;
		line-height: 1.6;
		background-color: transparent;
		padding: 0;
		}

	.catch02 .line:nth-child(1){
		margin-bottom: 0;
		}

	.pointWrap {
		flex-wrap: wrap;
		justify-content: space-around;
		margin: 0;
		padding-bottom: 5%;
		background: url("../img/bg_paper.jpg") repeat;
	}

	.point{
		width: 10em;
		height: 10em;
	}
	
	.point p{
		font-size: 6vw;
	}
	.point span{
		display: block;
		font-size: 3vw;
	}
	.point:nth-child(1){
		width: 100%;
		height: auto;
		font-weight: bold;
		background-color: #11253e;
		border-radius: 0;
		padding: 4% 0;
		margin-bottom: 5%;
	}
	.point:nth-child(1) p{
		color: #FFF;
		font-size: 7;
		}
	.point:nth-child(1) .dot{
		display: inline;
	}
	.point:nth-child(2){
		margin: 0;
	}
	.point:nth-child(2) p{
		color: #ad9261;
	}
	.point:nth-child(2) p span{
		margin-top: 5%;
	}
	.point:nth-child(3){
		background-color: rgb(255, 255, 255);
	}
	.point:nth-child(3) p span{
		margin-bottom: 2%;
	}

	#news .wrap {
		display: flex;
		flex-direction: column;
		gap: inherit;
	}
	#news h2{
		text-align: center;
		margin-bottom: 10%;
		}
	#view article {
		padding: 5% 0;
		border-bottom: 1px solid #e2e2e2;
	}
	#view article:first-child {
		padding-top: 0;
	}
	#view h3 {
		font-size: 5vw;
	}
	#view article div {
		margin-top: 5%;
	}

	#visit .wrap{
		padding: 10% 0;
	}

	#visit .title03{
		margin-bottom: 5%;
	}

	.monshin{
		margin-bottom: 10%;
	}
	.monshin img.pc{
		display: none;
	}
	.monshin img.sp{
		margin-top: 5%;
	}

	.netsu{
		flex-direction: column-reverse;
		padding: 4% 4%;
		margin-bottom: 5%;
	}
	.netsu img{
		display: none;
	}
	.netsu h3{
		font-size: 5vw;
	}
	.netsu h4{
		margin: 4% 0 0 0;
	}

	.read{
		flex-direction: column;
		margin-bottom: 10%;
	}
	.read div{
		width: 100%;
	}
	
	.read div p{
		font-size: 4vw;
		line-height: 1.4;
	}
	.read div{
		margin-top: 5%;
	}

	#feature .wrap{
		margin-bottom: 0;
	}
	.department {
		grid-template-columns: repeat(6, 1fr);
	}
	.department li {
		grid-column: span 2;
		margin-bottom: 20%;
	}
	.department li:not(:last-child),
	.department li:first-child {
		border-right: none;
	}
	.department li:nth-child(4){
		grid-column: 2 / span 2;
	}
	.department img {
		width: 3em;
		margin-bottom: 4%;
	}
	.department span {
		font-size: 4.5vw;
	}
	.departmentLead {
		margin: 0 0 10% 0;
		text-align: left;
	}

	ul.kamoku{
		flex-direction: column;
	}
	ul.kamoku > li{
		width: 100%;
		margin-bottom: 5%;
	}
	ul.kamoku > li .title{
		margin-bottom: 5%;
	}
	ul.kamoku > li .title img{
		width: 15%;
		margin-right: 5%;
	}
	ul.kamoku > li .title h3{
		font-size: 5.5vw;
	}
	ul.kamoku > li .title h3::after{
		font-size: 3vw;
	}

	.medicalGrid {
		display: flex;
		flex-direction: column;
		gap: inherit;
		margin-bottom: 0;
	}
	.medicalGrid article{
		margin-bottom: 8%;
	}
	.medicalGrid .detail{
		position: inherit;
		margin-bottom: 0;
	}
	.medicalGrid .detail > img {
		width: 100%;
		height: auto;
		object-fit: cover;
	}
	.medicalGrid .detail ul{
		position: inherit;
		right: auto;
		bottom: auto;
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		padding: 0;
		margin: 4% 0;
		background-color: rgba(255, 255, 255, 0.9);
	}
	.medicalGrid .detail ul li{
		font-size: 5vw;
		font-weight: bold;
	}
	.medicalGrid .detail ul li:not(:last-child){
		margin-right: 1em;
	}
	.medicalGrid .detail ul li::before{
		display: inline-block;
		content: "";
		background-size: contain;
		vertical-align: middle;
		background-repeat: no-repeat;
		background-image: url("../img/icon_check.png");
		width: 0.8em;
		height: 0.8em;
		margin: -0.2em 0.5em 0 0;
	}	

	.featureBox1 {
		padding: 0;
	}
	.featureBox1 > div{
		width: 90%;
		margin: 0 auto;
		}
	.featureBox1 .featureRow {
		flex-direction: column;
	}

	.featureBox1 .featureRow p:nth-child(1) {
		font-size: 5vw;
	}
	.featureBox1 .featureRow small {
		font-size: 4.4vw;
	}
	.featureBox1 .featureRow > div {
		margin: 0;
	}
	.featureBox1 .featureRow.three > div{
		width: 100%;
		padding: 6% 0;
		margin: 0 auto;
	}
	.featureBox1 .featureRow.three > div + div {
		border-left: none;
	}
	.featureBox1 .featureRow.three > div:not(:last-child){
		border-bottom: #d8d0c5 1px solid;
	}

	.featureBox1 .featureRow.single > div {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		padding: 10% 0;
	}
	.featureBox1 .featureRow.single p:nth-child(2){
		margin-top: 4%;
	}

	.featureBox1 .featureRow.single ul.disc{
		flex-direction: column;
		text-align: left;
		margin-top: 4%;
	}
	.featureBox1 .featureRow.single ul.disc li{
		padding-left: 1em;
	}
	.featureBox1 .featureRow.single ul.disc li:not(:last-child){
		width: 100%;
	}

	#department .wrap{
		margin-bottom: 0;
	}
    .featureBox2 > p{
		font-size: 5vw;
		padding: 10% 0;
	}

	.featureBox2 .featureRow.three{
		flex-direction: column;
		margin-bottom: 0;
	}

	.featureBox2 .featureRow.three > div{
		width: 100%;
		padding: 4% 0;
		margin-bottom: 4%;
	}
	.featureBox2 .featureRow.three > div p{
		font-size: 5vw;
	}
	.featureBox2 .featureRow.three > div small{
		font-size: 4.5vw;
	}
		
	.featureBox2 .featureRow.three > div + div{
		border-left: none;
	}

	.featureBox2 .featureRow.single > div {
		flex-direction: column;
		padding: 4% 4%;
		margin-bottom: 4%;
	}
	.featureBox2 .featureRow.single > div p:nth-child(1){
		font-size: 5vw;
	}
	.featureBox2 .featureRow.single > div p:nth-child(2){
		width: 100%;
		font-size: 4.5vw;
		margin-top: 2%;
	}   
	

	/* doctor --------------------------------------------------- */
	.message{
		margin-bottom: 10%;
	}
	#doctor .name{
		font-size: 6vw;
		margin: 0 auto 10%;
	}
	#doctor .name span{
		font-size: 4vw;
	}

	.prof{
		flex-direction: column;
	}
	.prof div{
		width: 100%;
	}
	.prof div:nth-child(1){
		margin-bottom: 10%;
	}


	/* clinic --------------------------------------------------- */
	.declaration{
		position: inherit;
	}
	.declaration > p:nth-of-type(1){
		font-size: 4.5vw;
		text-align: left;
	}
	.declaration ol{
		margin: 5% 0 8%;
	}
	.declaration ol li h3{
		font-size: 4.5vw;
		padding: 0 2%;
		margin-bottom: 2%;
	}
	.declaration ol li p{
		padding-left: 6%;
	}
	.declaration ol li:not(:last-child){
		margin-bottom: 2%;
	}
	.declaration > img{
		position: inherit;
		left: none;
		bottom: none;
		width: 25%;
		margin: 0;
		margin-top: 10px;
	}
	.declaration > p:nth-of-type(2){
		margin: 4% 0 0 0;
	}
	.declaration > p:nth-of-type(3){
		margin: -25% 0 15% 0;
	}

	.flexslider{
		background-color: transparent;
		border: none;
		margin-bottom: 80px;
	}
	.flexslider .slides{
		position: relative;
		width: 100%;
		margin: 0 auto 30px;
		z-index: 0;
	}
	.flexslider .slides li p{
		position: absolute;
		left: 5%;
		bottom: 5%;
		background-color: #FFF;
		padding: 1% 3%;
		box-sizing: border-box;
	}
	.flex-control-nav{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		margin: 0 auto;
	}
	.flex-control-thumbs li{
		width: calc( 92%/5 );
		margin: 0 2% 2% 0;
	}
	.flex-control-thumbs li:nth-child(5n){
		margin-right: 0;
	}

	.click{
		font-size: 4vw;
		text-align: center;
	}

	dl.standard h3,
	dl.standard dd p{
		font-size: 4vw;
	}


	/* treatment --------------------------------------------------- */
	.intro{
		flex-direction: column;
		margin-bottom: 15%;
	}
	.intro > div{
		width: 100%;
	}
	.intro > div:nth-child(1){
		margin-bottom: 10%;
	}
	.intro .title04{
		display: block;
		width: fit-content;
		margin: 0 auto 5%;
	}

	#treatment .kamoku,
	.kensa{
		margin-bottom: 15%;
	}
	.kensa .dl02{
		margin-bottom: 5%;
	}

	.kensa .dl02 dt{
		width: 100%;
		border-bottom: none;
		padding: 4% 0 0 0;
	}
	.kensa .dl02 dt h3{
		font-size: 5vw;
		font-weight: bold;
	}
	.kensa .dl02 dd{
		width: 100%;
		padding: 0 0 4% 0;
	}

	.view39{
		padding: 4% 4%;
		margin: 5% 0;
	}
	.view39 .title05{
		font-size: 3.8vw;
	}
	.view39 > *:nth-child(3){
		margin-top: 5%;
	}
	.view39 ul.slash li{
		font-size: 3.6vw;

	}


	/* access --------------------------------------------------- */
	.about{
		flex-direction: column;
		margin-bottom: 10%;
	}
	.about img{
		width: 100%;
		height: auto;
		margin-top: 5%;
	}
	.about > div{
		width: 100%;
	}
	#access iframe{
		height: 300px;
	}

	.parking{
		flex-direction: column;
		margin-bottom: 10%;
	}
	.parking img{
		width: 100%;
		margin-top: 5%;
	}



}

@media only screen and (max-width : 992px){
	body{min-width: 1100px;}
	
}


@media print, only screen and (min-width:1351px){
	body{min-width: 1100px;}
	
}