@media(max-width: 768px){
	#gHeader{ position: static; padding: 13px 15px 15px; }
	#gHeader .logo a{ width: auto; height: auto; display: inline-block; }

	.mv{ height: 31rem; }

	.pankuzu{ width: 100%; display: none; }

	main{ width: 100%; background: #f5f2f0; padding: 5rem 2.5rem 0rem; margin: 0 auto 5rem; font-size: 1.4rem; }
	main:before{ content: none; }

	main section + section{ margin-top: 6rem; }
	main section > img{ margin: 1.8rem 0; }
	main section a.btn{ margin: 2rem auto; font-size: 1.4rem; }

	main h1{ margin: 4.4rem 0 4rem; }
	main h1:before{ font-size: 3rem; }
	main section h2:not(.no-style){ font-size: 1.9rem; margin: 6rem 0 2.5rem; }
	main section h3:not(.no-style){ font-size: 1.8rem; margin: 5rem 0 2rem; }
	main section h4:not(.no-style){ font-size: 1.6rem; margin: 4rem 0 1.8rem; letter-spacing:0.05rem}
	main section h5:not(.no-style){ font-size: 1.5rem; margin: 3.5rem 0 1.6rem; }
	main section h6:not(.no-style){ font-size: 1.4rem; }

	main section ol:not([class]){ margin: 3rem 0; }
	main section ol:not([class]) li{ font-size: 1.5rem; padding-left: 6rem; }
	main section ol:not([class]) li + li{ margin-top: 2.35rem; }
	main section ol:not([class]) li:before{ width: 4rem; height: 4rem; font-size: 2.2rem; }

	main section ul:not([class]){ margin: 3rem 0; }
	main section ul:not([class]) li{ font-size: 1.4rem; letter-spacing:0.1rem; }
	main section ul:not([class]) li:before{ top: .5rem; }
	main section ul:not([class]) li + li{ margin-top: 1.6rem; }

	main section ol.flow{ margin: 4rem 0; }
	main section ol.flow li.has-img{ padding: 0; }	
	main section ol.flow li + li{ margin-top: 2.5rem; }
	main section ol.flow li strong:first-of-type{ font-size: 1.6rem; padding-left: 4.2rem; }
	main section ol.flow li strong:first-of-type:before{ width: 3.5rem; height: 3.5rem; border-radius: 3.5rem; font-size: 2rem; top: -.3rem;  }
	main section ol.flow li img{ position: static; margin-top: 1.5rem;  margin-bottom: 1.5rem; display: block; }

	main section table:not(.no-style){ margin: 3rem 0; }
	main section table:not(.no-style) th{ font-size: 1.5rem; }
	main section table.sp-break,
	main section table.sp-break tbody,
	main section table.sp-break tr,
	main section table.sp-break th,
	main section table.sp-break td{ display: block; width: 100%;}
	main section table:not(.no-style).sp-break{ border-bottom: solid 1px #f5f2f0; }
	main section table:not(.no-style).sp-break th{ text-align: center; border-bottom: none; padding: .5em 1em; width: 100%}
	main section table:not(.no-style).sp-break td{ border-bottom: none; width: 100%;}


	/*** doctor ***/

	.dr-pic{ height: 16.5rem; padding-left: 2rem; margin: 6rem 0 2rem; }
	.dr-pic img{ width: 14rem; height: 17.5rem; right: 0; object-fit: cover; object-position: top; }
	.dr-pic h3{ font-size: 2.5rem; position: relative; z-index: 2; }
	.dr-pic h3:after{ font-size: 1.3rem; margin-top: 1rem; }
    .dr-pic p {font-size: 1.4rem; font-weight: bold;}
	.history-row{ flex-wrap: wrap; margin: 4.5rem 0; }
	.history-row .inner{ width: 100%; }
	.history-row .inner + .inner{ margin-top: 3.25rem; }
	.history-row .inner h4{ margin-bottom: 1.7rem; font-size: 1.4rem; border-radius: 0; }


	/*** treatment ***/

	.treatment.treatUl { margin: 0 0 15px 20px; display: block; }
	.treatment.treatUl li { margin-top: 34px; width: auto; }
	.treatment.treatUl li a { padding: 20px; height: auto; background: #B7AF97 url(../images/common/webp/white_com_link_img.webp) no-repeat right 15px bottom 16px /80px; background-position: right 23px bottom 20px; }
    .no-webp .treatment.treatUl li a { background-image: url(../images/common/white_com_link_img.png); }
    .treatment.treatUl .photo { width: 160px; }
	.treatment.treatUl .textBox { margin-right: -4px; width: calc(100% - 139px); }
	.treatment.treatUl h2 { margin-bottom: 4px; letter-spacing: 0.1em; }
	.treatment.treatUl p { margin-bottom: 24px; font-size: 1.4rem; letter-spacing: 0.0025em; line-height: 2; }
    .treatment.linkList { margin: 0 -8px 50px; }
    .treatment.linkList li { margin-top: 32px; width: calc(100% / 3); }
    .treatment.linkList .ico { margin: 0 auto 4px; width: auto; text-align: center; }
	.treatment.linkList .ttl { font-size: 1.4rem; letter-spacing: 0.025em; }
	.treatment.linkList p { letter-spacing: 0.025em; }
    /*sub-cv*/
    .sub-cv {
        display: block;
        margin: 0 calc(50% - 50vw);
        padding: 4px calc(50vw - 50% + 8px);
        width: 100vw;
        margin-bottom: 0px;
    }
    .sub-cv:after{display: none;}
    
        .sub-cv .photo {
        margin-bottom: -20px;
    }
        .sub-cv .txt {
        width: 100%;
    }
	.sub-cv .ct{
		display: block;
	}
	.sub-cv .ct li{margin-top: 20px; margin-bottom: 20px;} 
    
    .sub-cv.ver1 table {
		margin-bottom: 5px;
		width: 100%;
		border-collapse: collapse;
		border-bottom: none;
	}
	.sub-cv.ver1 table th, .sub-cv.ver1 table td {
		padding-top: 4px;
		width: 9.4%;
		font-size: 1.3rem;
	}
    .sub-cv.ver1 table th:first-of-type {
    font-size: 1.2rem;
    padding-left: 0;
    }
    .sub-cv.ver1 table td:first-of-type {
		font-size: 1.2rem;
	}
	.sub-cv.ver1 table td {
		padding-top: 12px;
		font-size: 1.2rem;
	}
	.sub-cv.ver1 table th:first-of-type {
		padding-left: 0;
		width: 34.2%;
		text-align: center;
	}
	.sub-cv.ver1 table th {
		padding-bottom: 3px;
	}
    .sub-cv.ver1 tbody th {
    font-size: 3.444vw!important;
    }
    .sub-cv .ct .yoyaku {
    width: 100%;
    height: 55px;
    }
    .sub-cv .ct .mail {
    width: 100%;
    height: 55px;
    }
    /*measures-box*/
    .measures-box{padding: 1rem 1rem 1rem; border-radius: 2rem;}
    
    /*white-box*/
    .white-box{padding: 1rem 2rem 1rem; border-radius: 2rem;}
    
    /*card-list*/
    .card-list li{ width: 100%; margin-right: 0; border-radius: 2rem; }
	.card-list li:nth-of-type(n+2){ margin-top: 5rem; }
	.card-list li img{ border-radius: 2rem 2rem 0 0; }
	.card-list li h3{ height: auto; font-size: 1.5rem; padding-bottom: .8em; }
    /*white-box*/
    .white-box {padding: 1rem 2rem 1rem;border-radius: 2rem;}
    .white-box .side-img {flex-direction: column-reverse;}
    .white-box .side-img .img {margin-bottom: 20px;}
    
    /*side-img*/
    .side-img {flex-direction: column-reverse;}
    .side-img .content {width: 100%;}
    .side-img .img {width: 100%; margin-bottom: 2rem;}
    
    /*reservation*/
    	main .reservation {
    	margin-bottom: 52px;
    	padding: 55px 10px 40px;
    	background-image: url("../images/index/webp/sp_reservation_bg.webp");
        background-size: cover;
        background-attachment: inherit;
	}
    .no-webp main .reservation {
        background-image: url("../images/index/sp_reservation_bg.jpg");
    }
	main .reservation .headLine01 {
		margin-bottom: 22px;
        margin-left: 0;
	}
	main .reservation .reserUl {
		margin: 0 15px 22px;
		display: block;
	}
	main .reservation .reserUl::after {
		width: auto;
	}
	main .reservation .reserUl li {
		margin: 0 auto 7px;
		width: auto;
        max-width: 500px;
	}
	main .reservation .reserUl li:last-child {
		margin-bottom: 0;
	}
	main .reservation .reserUl li a {
		padding: 15px 15px 10px;
		display: block;
		height: auto;
		font-size: 1.75rem;
		letter-spacing: 0.05em;
		background-position: right 17px center;
		background-size: 28px;
	}
	main .reservation .reserUl .icoBox {
		margin-bottom: 0;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		align-items: center;
	}
    main .reservation .reserUl li p {
        box-sizing: border-box;
    }
	main .reservation .reserUl .tel a {
		font-size: 1.75rem;
		letter-spacing: 0.0375em;
	}
	main .reservation .reserUl .tel p {
        padding-right: 17px;
		width: calc(100% - 20px);
		line-height: 0.6;
        margin-bottom: 0em;
	}
	main .reservation .reserUl .ico {
		margin-bottom: 0;
	}
	main .reservation .reserUl li:first-child .icoBox .ico {
		width: 17px;
	}
	main .reservation .reserUl li:nth-child(2) .icoBox .ico {
		width: 21px;
	}
	main .reservation .reserUl li:nth-child(3) .icoBox .ico {
		width: 23px;
	}
	main .reservation .reserUl li:nth-child(2) p {
        padding-right: 20px;
		width: calc(100% - 22px);
        margin-bottom: 0em;
	}
	main .reservation .reserUl li:nth-child(3) p {
        padding-right: 20px;
		width: calc(100% - 24px);
        margin-bottom: 0em;
	}
	main .reservation .ttl {
		margin: 0 -8px 8px;
		letter-spacing: 0.0025em;
	}
	main .reservation .txt {
		margin-left: -10px;
		text-align: left;
		letter-spacing: 0.0025em;
	}
    .price_table td{ text-align:center;}
    
}


@media screen and (max-width: 768px) {
    
	/*clinic-pic*/
	.clinic-pic{ margin: 6rem 0 3rem; padding: 0; display: block; height: auto; }
	.clinic-pic:after{ content: none; }
	.clinic-pic img:nth-child(1){display: none;}
	.clinic-pic img:nth-child(2){ position: static; width: 100%; height: 27rem; object-fit: cover; object-position: top; display: block; margin-bottom: 2.3rem; }
	.clinic-pic .inner{ width: 100%; padding: 0 2.5rem 2rem; }
	.clinic-pic .inner h4{ max-width: 100%; text-align: center; font-size: 3rem; }
	.clinic-pic .inner h4:after{ width: 100%; }
	.clinic-pic .inner p{ font-size: 1.8rem; text-align: center; }
    
    .qa-list dl {
        position: relative;
        padding: 15px 40px 15px 10px;
    }
    .qa-list dl::before {
        top: 20px;
        right: 20px;
        width: 7px;
        height: 7px;
    }
    .qa-list dl dt {
        padding: 0 0 0 30px;
        font-size: 14px;
    }
    .qa-list dl dt::before {
        font-size: 14px;
        top: 3px;
        left: 5px;
        content: 'Q.';
    }
    .qa-list dl dd::before {
        font-size: 14px;
        top: 5px;
        left: 5px;
        content: 'A.';
    }
    .qa-list dl dd {
        margin: 10px 0 0;
        padding: 0 0 0 30px;
        font-size: 14px;
    }
    .qa-list dl dd p {
        margin: 30px 0 0;
    }
    .qa-list dl dd p:first-child{
        margin-top: 0;
    }
    
	main section .qa-list dl dd a.btn{ margin: 2rem auto; font-size: 1.4rem;  padding-left: 0; background: url(../images/common/arrow01.png) bottom center / 5rem no-repeat;}
    
	main section ol.card-list{ margin: 3rem 0; }
	main section ol.card-list li{ width: 100%; margin-right: 0; }
	main section ol.card-list li:nth-of-type(n+2){ margin-top: 2.5rem; }
	main section ol.card-list li strong:first-of-type{ font-size: 1.8rem; }
	main section ol.card-list li strong:first-of-type:before{ margin-bottom: .3em; }	
    
    main section.price table:not(.no-style) th {
        width: 100%;
    }
    .pay { display: table; margin: 0 auto;}
	.pay p:nth-child(1){ font-size: 2rem; }
	.pay p:nth-child(1):after{ font-size: 2rem; transform: translateY(-5px); display: inline-flex; }
	.pay p:nth-child(1) span{ font-size: 4rem; }
	.pay p:nth-child(1) small{ font-size: 2rem; }
	.pay p:nth-child(2){ font-size: 1rem;top: 3px; right: 18px; }
	.pay p:nth-child(3){ font-size: 1rem; letter-spacing: 0;right: 5px;top: 0px;
    left: -28px;}
    
		}
		/* 関連記事 */
    .point_box01 {
        margin: 25px 0 0 !important;
        padding: 15px;
        position: relative;
        background: #d3decc;
        -moz-border-radius: 5px;
        -webkit-border-radius: 5px;
        border-radius: 5px;
    }

    .point_box01 span {
        padding: 4px 8px;
        font-size: 13px;
        position: absolute;
        top: -15px;
        left: 10px;
        background: #376675;
        border: 2px solid #fff;
        -moz-border-radius: 16px;
        -webkit-border-radius: 16px;
        border-radius: 16px;
        color: #fff;
        line-height: 1;
    }

    .point_box01 ul {
        margin: 0 !important;
        padding: 0 0 0 20px !important;
    }

    .point_box01 ul li {
        margin: 6px 0 0;
        font-size: 15px;
        line-height: 1.6;
        font-weight: normal;
        list-style-type: disc;
    }

    .point_box01 ul li:first-child {
        margin: 0;
}

    .point_box01 a {
	color: #233B6C;
	font-weight:bold;
}