@media(max-width: 768px){
	*{
		font-size: 3.2vw;
	}

	body{
		margin-bottom: 18vw;
	}

	.pc{
		display: none !important;
	}
	.sp{
		display: block;
	}

	.wrap, .wide-wrap, .image .wrap{
		width: 100%;
		padding-left: 4vw;
		padding-right: 4vw;
	}

	.loading header .first-right{
		right: -48%;
		width: 120%;
	}
	.loading-item img{
		width: 25vw;
	}
	p.loading{
		font-size: 3vw;
	}

	header{
		height: 162.666vw;
		min-height: 100vh;
		background: url(../images/mainV-sp.png) no-repeat;
		background-size: cover;
	}
		header .logo{
			padding: 2.6666vw 8vw 1.6666vw 20vw;
			left: -14vw;
		}
		header .logo img{
			width: 21.333vw;
		}
		header .mainV ul.mainV-copy{
			left: -2vw;
			bottom: auto;
			top: 77vw;
		}
		header .mainV ul.mainV-copy li img{
			height: 4.4vw;
		}
		header .mainV ul.mainV-copy li{
			padding: 1.3333vw 4vw 1.3333vw 5.3333vw;
			margin-bottom: 2.13333vw;
		}
		header.active .mainV .h1-wrap{
			padding: 4.8vw 17.333vw 4.8vw 13.333vw;
			top: 112vw;
			bottom: auto;
			right: -9vw;
		}
		header .mainV .h1-wrap h1{
			font-size: 4.266vw;
		}
		header .mainV .h1-wrap h1 strong{
			font-size: 4.8vw;
		}
		header .first-left{
			left: -99.7%;
		}
		header .first-left .bg{
			width: 150%;
		}
		header .first-right{
			height: 100%;
			right: -106%;
			width: 100%;
		}
		header .first-right .bg{
		    width: 150%;
    		height: 100%;
		}

		.border01{
		    width: 1px;
		    height: 28.13333vw;
		    background: #fff;
		    transform: skew(-24deg);
		    position: absolute;
		    top: 39vw;
		    left: 6vw;
		    z-index: 10;
		}
		.border02{
		    width: 1px;
		    height: 28.13333vw;
		    background: #112A5A;
		    transform: skew(-24deg);
		    position: absolute;
		    top: -17vw;
		    left: 58vw;
		    z-index: 10;
		}
		.border03{
		    width: 1px;
		    height: 15.13333vw;
		    background: #112A5A;
		    transform: skew(-24deg);
		    position: absolute;
		    top: 88vw;
		    right: 4vw;
		    z-index: 10;
		}
		.border04{
		    width: 1px;
		    height: 20.13333vw;
		    background: #fff;
		    /* transform: skew(-27deg); */
		    position: absolute;
		    /* top: 129vw; */
		    bottom: 0;
		    left: 15vw;
		}
		.border05{
			width: 1px;
		    height: 16.13333vw;
		    background: #112A5A;
		    transform: skew(-24deg);
		    position: absolute;
		    top: 18vw;
		    left: 3vw;
		    z-index: 10;
		}
		.border06 {
		    width: 1px;
		    height: 16.13333vw;
		    background: #112A5A;
		    transform: skew(-24deg);
		    position: absolute;
		    top: 0;
		    right: 22vw;
		    z-index: 10;
		}
		.border07 {
		    width: 1px;
		    height: 23.13333vw;
		    background: #112A5A;
		    transform: skew(-24deg);
		    position: absolute;
		    bottom: 0;
		    right: 16vw;
		    z-index: 10;
		}

	.what{
		padding: 23.3333vw 0;
		padding-bottom: 7vw;
	}
		.what:before{
			width: 70vw;
			left: -78vw;
		}
		.what:after{
			content: '';
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 0 0 85.333vw 41.3333vw;
			border-color: transparent transparent #f6f6f6 transparent;
			position: absolute;
			bottom: 0;
			right: 0;
			z-index: -1;
		}
		.what h2, .toothache h2, .treatment h2, .dr h2, .flow h2{
			font-size: 4.2666vw;
		}
		.what h2 span, .toothache h2 span, .treatment h2 span, .dr h2 span, .flow h2 span{
			font-size: 3.2vw;
		}
		.what p{
			font-size: 3.7333vw;
			line-height: 2.6;
			margin-top: 8vw;
		}

	.toothache .bg-wihte, .toothache .tooth-list li{
		width: 100%;
	}
	.toothache{
		padding: 4vw 0;
	}
		.toothache h2 strong{
			padding-bottom: 0;
		}
		.toothache .bg-wihte{
			padding: 8vw 4vw;
			z-index: 0;
			overflow: hidden;
			background: url(../images/bg02-sp.png) no-repeat;
			background-size: 44.6666vw;
			background-position: top right;
		}
		.toothache .bg-wihte:before{
		    content: '';
		    width: 100%;
		    height: calc(100% - 13.6vw);
		    position: absolute;
		    left: 0;
		    z-index: -1;
		    top: auto;
		    bottom: 0;
		    right: auto;
		}
		.toothache .bg-wihte:after{
			content: '';
			width: 100%;
			height: 13.6vw;
			transform: skewX(-27deg);
			background: #fff;
			position: absolute;
			top: 0;
			left: 3.4vw;
			bottom: auto;
			right: auto;
			border: none;
			z-index: -1;
		}
		.toothache .wrap:before, .toothache .wrap:after{
			content: none;
		}
		.toothache h2{
			z-index: 0;
		}
		.toothache h2:before{
			content: '';
			width: 44.6666vw;
			height: 61.866vw;
			background: url(../images/bg02-sp.png) no-repeat;
			background-size: contain;
			position: absolute;
		    top: -29vw;
		    right: -13vw;
		    z-index: -1;
		}
		.toothache .tooth-list li dt{
			width: 51.6vw;
		}
		.toothache .tooth-list li dt .skew, .toothache .tooth-list li dt .skew span{
			font-size: 3.7333vw;
		}
		.toothache .tooth-list li dt .skew span:before{
		    width: 2.5333vw;
    		height: 3.466vw;
		    top: 1.4vw;
    		left: -4vw;
		}
		.toothache .tooth-list li dd
		{
			font-size: 3.4666vw;
			padding-left: 0;
			padding-right: 0;
			padding-top: 6.6666vw;
			margin-bottom: 8vw;
		}
		.toothache .tooth-list li:nth-of-type(1) dd{
			background-size: 27.3333vw;
			background-position: 0px 7.0666vw;
		}
		.toothache .tooth-list li:nth-of-type(2) dd{
			background-size: 27.3333vw;
			background-position: right bottom;
		}
		.toothache .tooth-list li:nth-of-type(3) dd{
			background-size: 27.3333vw;
			background-position: left bottom;
		}
		.toothache .tooth-list li dd::first-letter{
			font-size: inherit;
		}

	.image .wrap{
		padding-top: 15.3333vw;
		padding-bottom: 8vw;
	}

	.treatment{
		padding-bottom: 13.3333vw;
	}
		.treatment h2 strong{
			font-size: 8.133vw;
		}
		.contents-list{
			margin-top: 7.0666vw;	
		}
		.contents-list > li{
			flex-wrap: wrap;
			padding: 4vw;
		}
		.contents-list > li:before{
			font-size: 5.6vw;
			top: -5vw;
		}
		.contents-list > li .left{
			width: 100%;
		}
		.contents-list > li .right{
			width: 100%;
		}
		.contents-list > li h3{
			font-size: 4vw;
			height: 16.8vw;
			padding-left: 22vw;
			margin-bottom: 2.9333vw;
			margin-top: 2vw;
		}
		.contents-list > li:nth-of-type(1) h3:before{
			width: 20vw;
    		height: 19.066vw;
    	    top: -2vw;
		    left: -4vw;
		}
		.contents-list > li:nth-of-type(2) h3:before{
		    width: 20vw;
    		height: 19.066vw;
		    top: -2vw;
		    left: -0.4vw;
		}
		.contents-list > li:nth-of-type(3) h3:before{
		    width: 20vw;
    		height: 19.066vw;
    	    top: -2.2vw;
    		left: 0;
		}
		.contents-list > li:nth-of-type(3) h3:nth-of-type(2):before{
			width: 20vw;
    		height: 19.066vw;
    		top: -2.1vw;
    		left: 0;
		}
		.contents-list > li p{
			font-size: 3.4666vw;
		}
		.contents-list > li:nth-of-type(1) .right{
			justify-content: space-between;
			margin-bottom: 4vw;
		}
		.contents-list > li:nth-of-type(1) .right img{
			margin-bottom: 0;
		}
		.contents-list > li:nth-of-type(1) .right > div{
			width: calc(50% - 10px);
		}
		.contents-list > li .btn-pic{
			font-size: 3.7333vw;
			height: 13.3333vw;
		}
		.contents-list > li .btn-pic:before{
			width: 4vw;
		    top: 6vw;
    		right: 6vw;
		}
		.contents-list > li .btn-pic:after{
			width: 4vw;
		    bottom: 5.2vw;
    		right: 6vw;
		}
		.micro img{
			width: 100%;
			display: block;
		}
		.micro{
			position: relative;
			margin-bottom: 2.9333vw;
		}
		.micro:before{
			content: 'マイクロスコープ';
			font-size: 3.4666vw;
			font-weight: 400;
			position: absolute;
			top: 1vw;
			right: 2vw;
		}
		.contents-list > li .images-list{
			margin-bottom: 4vw;
			margin-top: 0;
		}
		.contents-list > li .images-list li{
			width: calc((100% - 36px) / 3);
		}
		.contents-list > li .images-list li img{
			width: 100%;
			display: block;
		}
		.contents-list > li .images-list p{
			font-size: 3.2vw;
			letter-spacing: 0;
			line-height: 1.4;
			margin-top: 2vw;
		}
		.contents-list > li .images-list02 li{
			width: calc(50% - 1.3333vw);
		}
		.contents-list > li .images-list02 p{
			padding-left: 1em;
    		text-indent: -.8em;
    		font-size: 3vw;
    		letter-spacing: 0;
    		line-height: 1.6;
		}
		.contents-list > li:last-of-type{
			margin-bottom: 0;
		}

	.dr{
		padding: 6.6666vw 0 12.5333vw;
	}
		.dr:after{
			content: none;
		}
		.dr-wrap{
    		padding: 8vw 4vw;
		}
		.dr .wrap img{
			display: block;
			width: 73.3333vw;
			margin: 6vw auto 0;
		}
		.dr h3{
			font-size: 4.2666vw;
			margin: 6.6666vw 0;
		}
		.dr h3 span{
			font-size: 2.4vw;
		}
		.dr dl dt{
			font-size: 3.2vw;
		}
		.dr dl dd table th, .dr dl dd table td{
			font-size: 3.2vw;
			letter-spacing: 0;
		}
		.dr dl dd table th{
			white-space: nowrap;
		}

	.flow{
		padding: 10.6666vw 0 4vw;
	}
		.flow ul{
			width: 100%;
		}
		.flow ul li{
			flex-wrap: wrap;
			padding: 0;
			margin-bottom: 13.333vw;
		}
		.flow ul li:after{
			border-width: 5.6vw 2.8vw 0 2.8vw;
			bottom: -9.4vw;
		}
		.flow ul li .left:before{
			content: none;
		}
		.flow ul li:nth-of-type(1) .left:after, .flow ul li:nth-of-type(2) .left:after, .flow ul li:nth-of-type(3) .left:after, .flow ul li:nth-of-type(4) .left:after {
	        width: 16.8vw;
		    height: 15.86vw;
		    top: 0;
		    left: 0;
		    z-index: -1;
		}
		.flow ul li .left{
			width: 100%;
			order: 2;
			padding: 5.333vw 4vw 2.666vw;
			z-index: 0;
		}
		.flow ul li h3{
			font-size: 3.7333vw;
			margin-bottom: .2em;
		}
		.flow ul li p{
			font-size: 3.4666vw;
		}
		.flow ul li .right{
			width: 100%;
			order: 1;
		}
		.flow ul li .right img{
			display: block;
			width: 100%;
		}

	.price{
		padding: 10.666vw 4vw 6.666vw;
	}
		.price .wrap{
			width: 100%;
		}
		.price h2{
			font-size: 4.2666vw;
			padding: 2vw 0;
		}
		.price .wrap table th{
			font-size: 3.4666vw;
			padding: 3vw 2vw;
		}
		.price .wrap table td{
			padding: 3vw 2vw;
		}
		.price .wrap table td img{
			width: 34.1333vw;
		}
		.price .wrap table td img.sp{
			display: block;
		}
		.price .wrap table + p{
			font-size: 3.2vw;
		}
    
    .price .wrap table td.price {
    text-align: right;
    font-size: 12px;
    font-family: 'Noto Serif JP', serif;
}

	.contact{
		padding: 8vw 4vw 13.333vw;
	}
		.contact h2{
			font-size: 4.2666vw;
			margin-bottom: 9.3333vw;
		}
		.contact ul{
			flex-wrap: wrap;
		}
		.contact ul li{
		    width: 100%;
    		height: 11.3333vw;
		}
		.contact ul li:nth-of-type(1){
			margin-bottom: 5.333vw;
		}
		.contact ul li:nth-of-type(1) p{
			font-size: 4.26666vw;
		}
		.contact ul li:nth-of-type(2) p{
			font-size: 3.2vw;
			width: 100%;
			text-align: center;
		}
		.contact ul li:nth-of-type(2) p span{
			font-size: 4.8vw;
			vertical-align: sub;
			padding-left: 1.1em;
		}
		.contact ul li:nth-of-type(2) p span:before{
			width: 3.3333vw;
			height: 4.13333vw;
		    top: 1.7vw;
    		left: 1vw;
		}

	footer .wrap{
		display: block;
		width: 100%;
		padding-left: 4vw;
		padding-right: 4vw;
	}
		footer .wrap .left{
			width: 100%;	
		}
		footer .wrap .right{
			width: 100%;
			margin-top: 6.6666vw;
		}
		footer .foot-logo {
		    width: 73.3333vw;
		    display: block;
		    margin: 0 auto 8vw;
		}
		footer .schdule th, footer .schdule td{
			font-size: 3.466vw;
		    padding-right: 1vw;
    		padding-left: 1vw;
		}
		footer .schdule th:nth-of-type(1), footer .schdule td:nth-of-type(1){
		    padding-left: 1vw;
    		padding-right: 1vw;
		}
		footer .schdule + p{
			font-size: 3.2vw;
		}
		footer .wrap .right ul {
		    display: flex;
		    justify-content: space-between;
		}
		footer .wrap .right ul li {
		    width: calc(50% - 1.3333vw);
		}
		footer .info-sp dt{
			padding-top: 6.6666vw;
		}
		footer .info-sp dt img{
			width: 3.6vw;
			display: block;
			margin: 0 auto;
		}
		footer .info-sp dd{
			font-size: 3.7333vw;
			text-align: center;
			font-weight: 500;
			padding-bottom: 6.6666vw;
			position: relative;
		}
		footer .info-sp dd:after{
			content: '';
			width: 9.8666vw;
			height: 3px;
			background: #ffdc00;
			position: absolute;
			bottom: 0;
			left: 50%;
			transform: translateX(-50%);
		}
		footer .tel-btn a{
			font-size: 8vw;
			position: relative;
			display: table;
		    margin: 6.6666vw auto 0;
		    padding-left: 1em;
		}
		footer .tel-btn a:before{
			content: '';
			width: 6.2666vw;
			height: 8vw;
			background: url(../images/icon03.png) no-repeat;
			background-size: contain;
			position: absolute;
			top: 3.7vw;
			left: 1vw;
		}
		.Gmap iframe{
			height: 100vw;
		}
		footer .copy{
			font-size: 2.6666vw;
			padding: 3vw 0;
		}

	.sp-float{
		width: 100%;
		display: flex;
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 999;
		background: #112A5A;
		visibility: hidden;
		opacity: 0;
		transition: .3s;
	}
		.sp-float.visible{
			opacity: 1;
			visibility: visible;
		}
		.sp-float li{
			font-size: 3.73333vw;
			font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
			color: #fff;
			position: relative;
			width: calc(100% / 3);
		    text-align: center;
		    padding: 2vw 0;
		}
		.sp-float li:nth-of-type(2){
			border-left: solid 1px #fff;
			border-right: solid 1px #fff;
		}
		.sp-float li img{
			width: 6.6666vw;
			display: block;
			margin: 0 auto 0.6vw;
		}

	.menu-btn{
		display: table;
		position: relative;
		width: 13.3333vw;
		height: 13.3333vw;
		background: #112A5A;
		position: fixed;
		top: 10px;
		right: 10px;
		z-index: 10001;
		opacity: 0;
		visibility: hidden;
		transition: .3s;
	}
	.menu-btn.visible{
		visibility: visible;
		opacity: 1;
	}
	.menu-btn .menu-border{
		width: 100%;
		height: 4.93333vw;
		position: relative;
		margin-top: 2vw;
	}
	.menu-btn .menu-border span{
		width: 10.9333vw;
		height: 1px;
		background: #fff;
		position: absolute;
	}
	.menu-btn .menu-border span:nth-of-type(1){
		top: 0;
		right: 0;
	}
	.menu-btn .menu-border span:nth-of-type(2){
		top: calc(50% - 1px);
		left: 50%;
		transform: translateX(-50%);
	}
	.menu-btn .menu-border span:nth-of-type(3){
		bottom: 0;
		left: 0;
	}
	.menu-btn p{
		position: relative;
	    width: 8.8vw;
    	margin: 2vw auto 0;
	}
	.menu-btn p .menu-open{
		display: block;
		margin: 0 auto;
		transition: .3s;
	}
	.menu-btn p .menu-close{
		display: block;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		visibility: hidden;
		opacity: 0;
		transition: .3s;
	}
	.menu-btn.active p .menu-open{
		visibility: hidden;
		opacity: 0;
	}
	.menu-btn.active p .menu-close{
		visibility: visible;
		opacity: 1;
	}

	.menu-wrap{
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #fff;
		z-index: 10000;
		visibility: hidden;
		opacity: 0;
		transition: .3s;
	}
	.menu-wrap.active{
		visibility: visible;
		opacity: 1;
	}
	.menu-wrap img{
		width: 38vw;
		display: block;
		margin: 14vw auto 10vw;
	}
	.menu-wrap ul{
		display: table;
		margin: 0 auto;
	}
	.menu-wrap ul li{
		padding: 3.4vw 0;
		color: #3c3c3c;
		font-size: 3.2vw;
		text-align: center;
	}
	.menu-wrap ul li span{
		display: block;
		text-align: center;
		color: #112A5A;
		font-size: 2vw;
	}
	
	/*20240620バナー追加*/
	.banner-text-sp {
		text-align: center;
    	font-weight: bold;
		margin-top: 20px
	}
	
	.banner {
        width: 27rem;
/*        padding-right: 5rem;*/
    }
	
	.what .pick_midashi {
    background: #112A5A;
    color: #fff;
    text-align: center;
    width: 100%;
    margin: auto;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}
	
	.pick h3{
	text-align: center;
        font-size: 4.5vw;
        margin-bottom: 0;
        margin-top: 2rem;
        color: #30bd9b;
}
	
	.dr .wrap h3 img{
	width: 67%;
}

	
	.pick{
	background: #f2f2f2;
	    padding: 4vw;
	margin-top: 5vw;
}
	
	.what p.sml {
   font-size: 3.1vw;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 20px;
    font-weight: 500;
    line-height: 1.8;
}
	
	.mv_pick{
	position: absolute;
    bottom: 2vw;
    width: 90%;
		        left: 0;
        right: 0;
		margin: auto;
}
	
	
	.banner_area{
		padding-top: 7vw;
		width: 90%;
	}
	
	
}	
