/* 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;}
	
	.toppage{
		width: 100%;
		margin: 0 auto;
		}
	
	section{}
    
	.wrap{
		width: 96%;
		padding: 0;
		margin: 0 auto 15%;
		}
	.inner{
		padding: 0 0 10% 0;
		}
    
	.pagetitle{
		font-size: 6vw;
		padding: 10% 0;
		margin-bottom: 15%;
		}
	.pagetitle::after{
		font-size: 4vw;
		}
	
    .title01{
        font-size: 6vw;
        margin-bottom: 10%;
		padding-bottom: 5%;
        }
    
	.title02{
		font-size: 6vw;
		text-align: center;
		margin-bottom: 10%;
		}
	.title02::before{
		width: 50%;
		}

    .title03{
        font-size: 5vw;
        margin-bottom: 5%;
        }
    
    .title04{
        font-size: 5vw;
        margin: 0 0 5% 0;
        }
    
    .title05{
        font-size: 4.5vw;
        margin: 0 0 4% 0;
        }
	
	.title06{
		font-size: 5vw;
		margin-bottom: 2%;	
		}
    
	h4{
		font-size: 5vw;
		}
	h5{
		font-size: 4.5vw;
		}
	
	table th,
	table td{
		font-size: 4.5vw;
		line-height: 1.5;
		}
    
    table.time th,
    table.time td{
        font-size: 4.4vw;
        padding: 2% 0;
        line-height: 1.2;
        vertical-align: middle;
        }

    table.time th:first-child{
        width: 35%;
        }
    table.time td{
        font-size: 5vw;
        }
    .close{
        font-size: 5vw;
        text-align: center;
        }
        
    table.tb01{}
    table.tb01 th,
    table.tb01 td{
        display: block;
        width: 100%;
        padding: 2% 4%;
        }
    table.tb01 th{
        border-bottom: none;
        }
    table.tb01 td{
        border-width: 0 0 15px 0;
        padding: 2% 0 2% 8%;
        background-color: transparent;
        }
    table.tb02{
		border: #919191 1px solid;
        margin: 4% 0;
        }
    table.tb02 th,
    table.tb02 td{
		display: block;
		width: 100%;
        padding: 2% 4%;
		border: none;
        }
	table.tb02 th{
		}
	table.tb02 tr:not(:last-child) td{
		border-bottom: #919191 1px solid;
		}
	
	p,
	ol li,
	ul li,
	dl dt,
	dl dd{
		font-size: 4.5vw;
		line-height: 1.6;
		}
	
	ul.disc{
		}
	ul.disc li{
		font-size: 4.5vw;
		line-height: 1.4;
		}
    ul.check {
		}
	ul.check li{
		margin: 0 1em 0 0;
		}
	ul.linkList{
		flex-direction: column;
		justify-content: center;
		width: fit-content;
		margin: 0 auto;
		}
	ul.linkList li:not(:last-child){
		margin-right: 0;
		}
	
	.etc{
		width: 100%;
		font-size: 4vw;
		text-align: right;
		}
    
	dl dt{
		padding: 3% 0;
		}
	
	dl dd{
        }
        
	dl.dl01{ }
    dl.dl01 dt,
    dl.dl01 dd{
        width: 100%;
        }

    dl.dl01 dt{
        padding: 4% 4%;
        }
	dl.dl01 dt:not(:first-child){
		margin-top: 5%;
		}
    dl.dl01 dd{
        padding: 0 4% 4%;
        }
    
    dl.prof{
		flex-direction: column;
		}
	dl.prof dt,
	dl.prof dd{
		display: block;
		width: 100%;
		
		}
	dl.prof dt{
		border-bottom: none;
		padding: 2% 0 0;
		}

	dl.prof dd{
		padding: 0 0 2% 1em;
		}
    
    .stickyArea{
		width: 96%;
		margin: 0 auto;
		padding: 10% 0 0;
		flex-direction: column;
		}
	.stkMenu{
		position: inherit;
		z-index: auto;
		width: 100%;
		border-top: none;
		}
	
	.menuInner{
		position: inherit;
		top: auto;
		}

	.stkContent{
		width:100%;
		border-top: none;
		}
	.stkContent .wrap{
		width: 100%;
		}
	ul#mdList {
		margin: 0 0 10%;
		border-top: #111 1px solid;
		}
	ul#mdList > li {
		width: 100%;
		padding: 4% 0;
		}
	ul#mdList > li > a{
		display: block;
		font-size: 4.4vw;
		}
	ul#mdList > li ul{
		display: flex;
		flex-wrap: wrap;
	}
	ul#mdList > li ul li{
		width: 48%;
	}
	ul#mdList > li ul li a{
		font-size: 4vw;
		margin-top: 2%;
	}
	
	ul.images{
		margin-bottom: 5%;
		justify-content: space-around;
		}
	ul.images li{
		width: 80%;
		margin-bottom: 10%;
		}
    
    .pageLink{
        flex-direction: column;
        margin-top: 15%;
        }
    .pageLink li{
        width: 100%;
        margin-bottom: 0;
        }
    .pageLink li:not(:first-child){
        margin-top: 5%;
        }
    .pageLink li a{
        position: relative;
        font-size: 5vw;
        text-align: left;
        padding: 2% 10%;
        border-radius: 50px;
        }
    .pageLink li a::before{
        position: absolute;
        right: 5%;
        top: 50%;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
         -ms-transform: translateY(-50%);
        margin: 0;
        }
    
    .linkBox{
		flex-direction: column;
		width: 100%;
		}
	.linkBox a{
		width: 100%;
		font-size: 4.5vw;
		padding: 4% 8% 4% 4%;
		margin: 0;
		}
    .linkBox a::after{
        margin: 0;
        }
    
    .att{
        width: 100%;
        padding: 4% 4%;
        box-sizing: border-box;
        margin: 0 auto 10%;
        }

    ul.pageLink01 {
        margin-top: 15%;
        }
    ul.pageLink01 li{
        width: 80%;
        padding: 0 10% 2% 0%;
        
        }
    ul.pageLink01 li a{
        font-size: 5vw;
        line-height: 1.4;
        }    

    ul.pageLink02{
        flex-direction: column;
        margin-top: 15%;
        }
    ul.pageLink02 li:not(:last-child){
        margin: 0 0 5%;
        }
    ul.pageLink02 li a{
        width: 100%;
        padding: 4% 4%;
        }
	
	.notice{
		margin-top: 5%;
		padding: 4% 8%;
		}
	.notice.bd{
		padding: 4% 4%
		}
	.notice .title{
		margin-bottom: 2%;
		}
	.notice p:not(.title){
		font-size: 4vw;
		}

	.clickArea.price dt:not(:first-child){
		margin-top: 4%;
		}
	.clickArea.price dd{
		padding: 5% 0 10%;
		}

    
	/* header */
	header{}
	header .wrap{
        padding: 4% 4%;
		background-color: #f4f4f4;
        }
	
	header .wrap.sticky{
		position: fixed;
		top: 0;
		z-index: 2;
		box-shadow: 0 0 5px -2px rgba(0,0,0,0.3);
		}
	header .name{
		width: 100%;
		}
    header .name h1.logo,
	header .name p.logo{
        font-size: 5.5vw;
        }
	header ul.kamoku{
		margin: 2% 0 0;
		}
	ul.kamoku{
		margin: 0 0 2%;
		}
	ul.kamoku li{
		font-size: 3.2vw;
		}
	
    header .info > div:not(.menu-btn){
       display: none;
       }
    header .page,
	header address{
		display: none;
		}
     
	/*menu*/
	.menu-btn{
		display: block;
        width: 18%;
        }

    .menu-btn > *{
		width: 100%
        }

    .menu-btn.sticky{
        transform: translateY(0%);
        }
	
	nav{
		position: fixed;
		top: 0;
		right: 0;
		z-index: 999;
		width: 100%;
		height: 75vh;
		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: translateY(-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: #594b3a;
		opacity: 0.6;
		transition-duration: .5s;
		}
	
	/* footer */
	.cal {
		width: 100%;
		}
	
	footer iframe{
		height: 250px;
		}
	
    footer .wrap{
        flex-direction: column;
        padding: 10% 0;
		margin: 0 auto;
        }
    footer .info{
        width: 100%;
		margin-bottom: 10%;
        }
	footer .info .kamoku{
		justify-content: center;
		margin: 0;
		}
    footer .info .name{
        font-size: 6vw;
		font-weight: bold;
		text-align: center;
        margin: 0 0 4%;
        }
    footer address{
        font-size: 4.5vw;
		text-align: center;
        margin-bottom: 4%;
        }
	footer .tel{
		margin: 0 auto 10%;
		}
	
	footer ul.point{
		justify-content: center;
		padding: 4% 4%;
		margin: 5% 0 0 0;
		}
	footer ul.point li:not(:last-child)::after{
		content: "";
		}
	
	#calendar{
		width: 100%;
		}

	.copy{
		position: inherit;
		left: auto;
		bottom: auto;		
		width: 100%;
		font-size: 3.5vw;
		line-height: 1.4;
		padding-left: 2%;
		}
   
	.pagetop{
		width: 12%;
		right: 0;
		bottom: 8%;
		z-index: 2;
		border-width: 1px 0 1px 1px;
		}
    
	ul.fixBtn {
		right: inherit;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		z-index: 2;
		justify-content: center;
		width: 100%;
		background-color: #424a56;
		border-width: 0;
		}

	ul.fixBtn li{
		width: 50%;
		justify-content: center;
		border-width: 0;
		}
	ul.fixBtn li:not(:last-child){
		margin-right: 0;
		border-right: #FFF 1px dotted;
		}
	ul.fixBtn li a{
		font-size: 4.5vw;
		text-align: center;
		padding: 4% 0;
		}

	ul.fixBtn li:nth-child(2) a{
		font-size: 5.5vw;
		}


	/* index.html */
	.eyecatch{
		display: flex;
		flex-direction: column-reverse;
		width: 100%;
        margin: 0 auto 10%;
		padding-bottom: 5%;
		border-bottom: #424a56 2px solid;
		}
	
	.eyecatch .catch{
		position: inherit;
		top: auto;
		left: auto;
		}

	.catch{
		padding: 0 4%;
		margin-top: -5%;
		}
	
	.catch h1{
		font-size: 6vw;
		line-height: 1.4;		
		background:rgba(244,244,244,0.6);
		box-decoration-break:clone;
		-webkit-box-decoration-break:clone;
		text-shadow: none;
		padding: 2% 4%;
		}
	.catch ul{
		justify-content: space-between;
		width: 100%;
		margin: 4% 0;
		}
	.catch ul li:not(:last-child){
		margin-right: 0;
		}
	.catch ul img{
		width: 90%;
		}

	.schedule p{
		width: 100%;
		}
	.schedule p{
		font-size: 7.5vw;
		}
	
	/* slick */	
	.slider{
        width: 100%;
		margin: 0;
		}
	.slider img{
		width: 100%;
		height: auto;
		}
	
	#news .wrap .kasanLink{
		position: inherit;
		top: auto;
		right: auto;
		width: 80%;
		margin: 4% 0 0 auto;
		}
	#news .kasanLink a{
		position: inherit;
		padding: 4% 8% 4% 4%;
		}

	#news .title01{
		margin-bottom: 5%;
		}

	dl#view {
        width: 100%;
		margin-bottom: 5%;
		}
	dl#view dt{
		font-size: 4.5vw;
		line-height: 1.4;
		padding: 2% 4%;		
		}

	dl#view dd{
		padding: 0 0% 4% 4%;
		line-height: 1.4;
		}
    
    .click{
        font-size: 3.8vw;
        text-align: center;
        margin-bottom: 5%;
        }
        
	
	#guide{}

	#guide .wrap{
		flex-direction: column-reverse;
		width: 100%;
		padding: 0;
		}

	#guide iframe{
		width: 100%;
		height: 200px;
		}

	#guide .info{
		width: 96%;
		font-size: 4vw;
		text-align: center;
		padding: 10% 0;
		margin: 0 auto;
		}

	#guide ul{
		margin-top: 5%;
		}
	#guide ul li{
		font-size: 4vw;
		}
	#guide ul li:nth-child(1) {
		margin-bottom: 0;
		}
	#guide ul li:nth-child(1) span{
		display: block;
		width: 40%;
		font-size: 5vw;
		padding: 0 4%;
		margin: 0 auto 2%;
		background-color: #7E8A9C;
		}

	#guide .name{
		font-size: 6vw;
		margin: 2% 0;
		}
	#guide address{
		font-size: 4vw;
		}
	#guide .tel{
		display: none;
		}
	
	ul.kamokuLink{
		margin-bottom: 15%;
		}

	ul.kamokuLink li{
		width: 48%;
		}
	ul.kamokuLink li:nth-child(1){
		margin-bottom: 2%;
		}
	
	ul.kamokuLink li a{
		width: 100%;
		padding: 10% 0;
		}

	ul.kamokuLink li img{
		height: 3.5em;
		margin: 0 auto 5%;
		}
	ul.kamokuLink li span{
		font-size: 5vw;
		}

	ul.kensaLink{
		flex-direction: column;
		}

	ul.kensaLink li:not(:last-child){
		margin-bottom: 4%
		}
	ul.kensaLink li{
		width: 100%;
		padding: 2% 6%;
		}
	ul.kensaLink li a{
		width: 100%;
		}
	ul.kensaLink li a span,
	ul.kensaLink li:nth-child(5) a span,
	ul.kensaLink li span{
		font-size: 5vw;
		line-height: 1.2;
		}

	ul.kensaLink li img{
		height: 2.5em;
		margin-right: 5%;
		}

	/* greeting  */
	.message{
		flex-direction: column;
		margin-bottom: 15%;
		}
	.message > p,
	.incho{
		width: 100%;
		}
	
	.incho img{
		width: 40%;
		margin: 8% auto;
		}
	.incho p{
		margin: 0;
		}
	.incho p span{
		font-size: 5vw;
		}

	.double{
		flex-direction: column;
		}

	.double div{
		width: 100%;
		}	
	.double div:not(:first-child){
		margin-top: 10%;
		}
	
	/* medical */
	.tretmentList .detail{
		flex-direction: column;
		padding-bottom: 5%;
		margin-bottom: 5%;
		}

	.tretmentList .detail div{
		width: 100%;
		padding: 0 0 0 2%;
		}

	.tretmentList h2{
		display: flex;
		align-items: center;
		width: 100%;
		margin-bottom: 2%;
		}
	.tretmentList h2 img{
		height: 2em;
		width: auto;
		margin: 0 2% 0 0;
		}
	.tretmentList h2 span{
		font-size: 5vw;
		}
	
	.price table.tb02{
		width: 100%;
		}

	
	.naisikyo{
		flex-direction: column;
		margin-bottom: 0;
		}
	.naisikyo img{
		width: 100%;
		margin: 0 0 5%;
		}

	.recovery{
		flex-direction: column;
		margin-right: 0;
		}

	.recovery img{
		width: 100%;
		margin: 5% 0 0;
		}
	
	#ai ul.images li{
		width: 40%;
		}
	
	
	
	/* disease */
	.ibd{
		flex-direction: column;
		}
	.ibd div{
		width: 100%;
		}
	.ibd img{
		width: 100%;
		margin: 0 auto 20%;
		}
	
	.ibd_features .pc{
		display: none;
		}
	.ibd_features tr > *::before{
		display: block;
		color: #8D97A7;
		font-size: 3.6vw;
		font-weight: bold;
		margin-bottom: 2%;
		}
	.ibd_features tr > *:nth-child(2)::before{
		content: "潰瘍性大腸炎 (UC)…";
		}
	.ibd_features tr > *:nth-child(3)::before{
		content: "クローン病 (CD)…";
		}


	/* endoscopy --------------------------------------------------- */
		.endoscopy {
			flex-direction: column;
			width: 94%;
			margin: 10% auto 0;
		}
		.endoscopy div{
			width: 100%;
		}
		.endoscopy h2{
			font-size: 5vw;
			text-align: center;
			margin-bottom: 2%;
		}
		.endoscopy .pageLink02{
			margin: 5% 0;
		}
		.endoscopy img{
			width: 80%;
			margin: 0 auto;
		}

		.intro{
			flex-direction: column;
			margin-bottom: 10%;
		}
		.intro img{
			width: 60%;
			margin: 0 auto;
		}

		.polyp img{
			float: right;	
			width: 40%;
			margin: 0 0 0 4%;
		}

		.recovery02{
			flex-direction: column-reverse;
			margin: 5% auto;
		}
		.recovery02 img{
			width: 100%;
			margin: 5% 0;
		}

		.clickArea.flow{
			padding: 2% 4%;
		}


		.flow ul li{
			margin-top: 5%;
		}

		.flow li h4{
			padding: 0% 4%;
			margin-bottom: 4%;
		}
		.flow li h4 + p{
			margin-left: 1em;
		}


	/* clinic */
	.about .tel{
		font-size: 5vw;
		}
	#map{
		margin-top: 10%;
		}

	#map iframe{
		height: 300px;
		margin-top: 10%;
		}


	.flexslider .slides{
		margin: 0 auto 10%;
		}
	.flex-control-nav{
		}
	.flex-control-thumbs li{
		width: calc( 90%/4 );
		margin: 0 2% 2% 0;
		}

	

}

@media only screen and (max-width : 992px){
	body{min-width: 1100px;}
	
}


@media print, only screen and (min-width:1351px){
	body{min-width: 1100px;}
	
}