@charset "utf-8";
/*------------------------------------------------------------
	responsive
------------------------------------------------------------*/
@media all and (max-width: 767px) {
	.mainVisual {
		height: calc(100vh - 72px);
	}
	.mainVisual h1 {
		left: 10px;
		top: auto;
		bottom: 68px;
		transform: translateY(0);
		font-size: 1.1rem;
	}
	.mainVisual .mvList {
		width: 71.2%;
		border-radius: 0 110px 0 0;
	}
	.mainVisual .mvList li {
		height: calc(100vh - 72px);
	}
	.mainVisual .mvList li img{
		border-radius: 0 110px 0 0;
	}
	.mainVisual .imgTxt {
		width: 28.8%;
	}
	.mainVisual .imgTxt img {
		max-width: 61px;
		margin: -12% 0 0;
	}
	#main .news {
		padding: 50px 0 46px;
	}
	#main .news::after {
		height: calc(100% + 237px);
		top: -123px;
	}
	#main .news .linkBox {
		margin-bottom: 32px;
	}
	#main .news .linkBox a {
		display: block;
		background: none;
	}
	#main .news .linkBox .photo {
		width: auto;
	}
	#main .news .linkBox .photo img {
		width: 100%;
	}
	#main .news .linkBox .textBox {
		padding: 18px 25px;
		width: auto;
		display: block;
		background: url("../images/index/webp/sp_bg01.webp") no-repeat center center / cover;
	}
	#main .news .linkBox .textBox .text01 {
		margin-bottom: 10px;
		padding: 0 20px 8px 0;
		font-size: 1.8rem;
		line-height: 1.54;
	}
	#main .news .linkBox .textBox .text02 {
		padding-right: 23%;
		line-height: 1.57;
	}
	#main .news .newsBox {
		margin-bottom: 35px;
		padding-bottom: 0;
		position: relative;
		display: block;
		border-bottom: none;
	}
	#main .news .newsBox h2 {
		position: absolute;
		left: 0;
		top: -1px;
	}
	#main .news .newsBox .newsList {
		width: auto;
		display: block;
	}
	#main .news .newsBox .newsList dt {
		margin-left: 83px;
		width: auto;
	}
	#main .news .newsBox .newsList dd {
		width: auto;
		line-height: 33px;
		background: url("../images/index/webp/line01.webp") repeat left top / auto 33px;
	}
	#main .news .newsBox .newsList dd a {
		overflow: hidden;
	}
	#main .news .newsBox .newsList dd .moreBox {
		float: right;
		position: static;
	}
	
		#main .news .newsBox2{
		padding-bottom: 10px;
	}
	
	#main .news .newsBox2 h2 {
    position: absolute;
    left: 22px;
    top: 15px;
}
	
	#main .news .newsBox2 .newsList dd{
		background: none;
	}
	
	#main .riam {
		padding: 50px 0 29px;
		border-radius: 50px 0 0 0;
		background-position: right -238px top 51%;
	}
	#main .riam .imgBox {
		margin-bottom: 19px;
		display: block;
	}
	#main .riam .imgBox .photoBox {
		margin-bottom: 30px;
		width: auto;
	}
	#main .riam .imgBox .photoBox img {
		width: 100%;
	}
	#main .riam .imgBox .textBox {
		margin: 0;
		width: auto;
	}
	#main .riam .imgBox .textBox .subBox {
		margin-bottom: 27px;
		padding-bottom: 33px;
	}
	#main .riam .imgBox .textBox .subBox .enTxt {
		padding-left: 87px;
		font-size: 2.7rem;
		line-height: 1.37;
	}
	#main .riam .imgBox .textBox .subBox .enTxt .firstLetter {
		width: 88px;
		left: -10px;
		top: -1px;
		font-size: 8.8rem;
	}
	#main .riam .imgBox .textBox .subBox .jpTxt {
		margin-bottom: 27px;
		padding-left: 87px;
		font-size: 1.3rem;
		box-sizing: border-box;
	}
	#main .riam .imgBox .textBox .subBox .jpTxt:last-child {
		margin-bottom: 0;
	}
	#main .riam .imgBox .textBox .text {
		font-size: 4.6vw;;
		line-height: 2;
	}
	#main .feature {
		padding-bottom: 24px;
	}
	#main .feature::after {
		top: 78px;
		border-radius: 0 50px 0 0;
		background-image: url("../images/index/webp/sp_bg03.webp");
	}
	#main .feature .ttlBox {
		margin-bottom: 25px;
		display: block;
	}
	#main .feature .ttlBox .photo {
		margin-bottom: 25px;
		width: calc(100% - 100px);
		height: 170px;
		background-image: url("../images/index/webp/photo03.webp");
	}
	#main .feature .ttlBox .subBox {
		margin: 0 25px;
		width: auto;
	}
	#main .feature .ttlBox .subBox .headLine01 {
		margin-bottom: 0;
		max-width: inherit;
	}
	#main .feature .imgList {
		margin-bottom: 7px;
		display: block;
	}
	#main .feature .imgList li {
		margin: 0 0 20px;
		width: auto;
	}
	#main .feature .imgList li:nth-child(2n) {
		margin-top: 0;
	}
	#main .feature .imgList li:nth-child(2n-1) {
		margin-top: 0;
	}
	#main .feature .imgList li:nth-child(2) {
		margin-top: 0;
	}
	#main .feature .imgList li:last-child {
		margin-bottom: 0;
	}
	#main .feature .imgList li .photo {
		margin-bottom: 19px;
	}
	#main .feature .imgList li .photo img {
		width: 100%;
	}
	#main .feature .imgList li h3 {
		margin-bottom: 0;
		padding: 0 0 8px 50px;
		font-size: 1.8rem;
		letter-spacing: 0.03em;
	}
	#main .feature .imgList li h3 .num {
		top: -12px;
	}
	#main .feature .imgList li p {
		display: none;
	}
	#main .treatment {
		margin-bottom: 50px;
	}
	#main .treatment .bg01 {
		height: 250px;
		background-image: url("../images/index/webp/sp_photo10.webp");
		border-radius: 50px 0 0 0;
		background-attachment: inherit;
	}
	#main .treatment .bg02 {
		margin-bottom: 48px;
		padding: 32px 0 47px;
		background: url("../images/index/webp/bg06.webp") repeat left top / 80px auto;
	}
	#main .treatment .ttlBox {
		margin-bottom: 26px;
		flex-wrap: nowrap;
	}
	#main .treatment .ttlBox .subBox {
		margin-bottom: 10px;
		width: auto;
		min-width: 162px;
		max-width: calc(100% - 163px);
		flex: 1;
		position: relative;
		z-index: 1;
	}
	#main .treatment .ttlBox .subBox .headLine01 {
		margin-bottom: 16px;
		padding-bottom: 17px;
		font-size: 3rem;
	}
	#main .treatment .ttlBox .subBox .headLine01 .icon {
		margin-bottom: 2px;
	}
	#main .treatment .ttlBox .subBox p {
		margin-right: -50px;
		font-size: 3.7vw;
		line-height: 1.8125;
	}
	#main .treatment .ttlBox .photo {
		width: 38vw;
		height: 195px;
		background-image: url("../images/index/webp/sp_photo11.webp");
	}
	#main .treatment .linkList {
		margin-top: -14px;
		justify-content: space-between;
	}
	#main .treatment .linkList::after {
		width: 31%;
		display: block;
		content: "";
	}
	#main .treatment .linkList li {
		margin-top: 14px;
		margin-right: 0;
		width: 31%;
	}
	#main .treatment .linkList li:nth-child(5n) {
		margin-right: 0;
	}
	#main .treatment .linkList li .pho {
		margin-bottom: 10px;
	}
	#main .treatment .linkList li .pho img {
		width: 118%;
	}
	#main .treatment .linkList li .txt {
		margin: 0 -1.5em;
		font-size: 1.3rem;
	}
	#main .treatment .imgBox {
		margin-bottom: 28px;
		display: block;
	}
	#main .treatment .imgBox .photoBox {
		margin-bottom: 23px;
		width: auto;
	}
	#main .treatment .imgBox .photoBox img {
		width: 100%;
	}
	#main .treatment .imgBox .textBox {
		margin: 0;
		width: auto;
	}
	#main .treatment .imgBox .textBox .text01 {
		margin-bottom: 6px;
		padding-right: 5px;
		font-size: 1.8rem;
	}
	#main .treatment .imgBox .textBox .text01 span::after {
		bottom: 4px;
	}
	#main .introduce {
		padding: 51px 0 28px;
		border-radius: 0 60px 0 0;
		background-image: url("../images/index/webp/sp_bg04.webp");
	}
	#main .introduce .subBox01 {
		margin: 0;
		max-width: inherit;
		background-image: url("../images/index/webp/sp_bg05.webp");
		background: none;
		position: relative;
		z-index: 2;
	}
	#main .introduce .inner {
		padding: 0;
		max-width: inherit;
		display: block;
	}
	#main .introduce .subBox01 .photoBox {
		margin: 0 auto;
		width: 242px;
	}
	#main .introduce .subBox01 .textBox {
		padding: 22px 50px 32px;
		width: auto;
		position: relative;
	}
	#main .introduce .subBox01 .textBox::after {
		content: "";
		width: calc(100% - 25px);
		height: calc(100% + 69px);
		right: 0;
		top: -69px;
		position: absolute;
		z-index: -1;
		border-radius: 50px 0 0 50px;
		background: url("../images/index/webp/sp_bg05.webp") no-repeat center center / cover;
	}
	#main .introduce .subBox01 .textBox h3 {
		margin: 0 0 15px;
		font-size: 1.8rem;
		line-height: 2;
	}
	#main .introduce .subBox01 .textBox p {
		margin-bottom: 17px;
	}
	#main .introduce .subBox01 .textBox .name span {
		line-height: 1.3;
	}
	#main .introduce .subBox02 {
		margin: 0 0 22px;
		position: relative;
		max-width: inherit;
		border-radius: 0;
		background-color: transparent;
		z-index: 1;
	}
	#main .introduce .subBox02::after {
		content: "";
		background: #fff;
		width: calc(100% - 25px);
		height: calc(100% + 81px);
		top: -81px;
		left: 0;
		position: absolute;
		z-index: -1;
		border-radius: 0 50px 50px 0;
	}
	#main .introduce .subBox02 .inner {
		margin-left: 0;
		padding: 38px 50px 40px;
		max-width: inherit;
		display: block;
	}
	#main .introduce .subBox02 .subSec {
		margin-bottom: 22px;
		width: auto;
	}
	#main .introduce .subBox02 .subSec:last-child {
		margin-bottom: 0;
	}
	#main .flow {
		padding: 50px 0 30px;
		background: url("../images/index/webp/bg07.webp") no-repeat center top / cover;
	}
	#main .flow .headLine03 {
		margin-bottom: 34px;
	}
	#main .flow .flowList {
		margin: -15px 0 30px;
		justify-content: space-between;
	}
	#main .flow .flowList::after {
		content: "";
		width: 30.6%;
		display: block;
	}
	#main .flow .flowList li {
		margin: 15px 0 0;
		width: 30.6%;
	}
	#main .flow .flowList li .num {
		margin: -20px auto 6px;
		width: 42px;
		height: 42px;
		font-size: 2.1rem;
	}
	#main .flow .flowList li .text {
		margin: 0 -5px;
		font-size: 3.8vw;
		line-height: 1.333;
	}
	#main .flow .price {
		margin-bottom: 21px;
		display: block;
	}
	#main .flow .price .photo {
		width: auto;
	}
	#main .flow .price .photo img {
		width: 100%;
	}
	#main .flow .price .textBox {
		padding: 17px 25px;
		width: auto;
	}
	#main .flow .price .textBox p .sml {
		display: block;
	}
	#main .clinic {
		padding: 0 0 110px;
	}
	#main .clinic .bgBox {
		margin: 0 0 50px;
		height: 250px;
		background-image: url("../images/index/webp/sp_photo21.webp");
		border-radius: 50px 0 0 0;
		background-attachment: inherit;
	}
	#main .clinic .headLine01 {
		margin-bottom: 34px;
		padding-bottom: 17px;
		width: auto;
		font-size: 3rem;
		border: none;
		position: relative;
		left: auto;
		top: auto;
	}
	#main .clinic .headLine01 .icon {
		margin-bottom: 2px;
		letter-spacing: 0;
	}
	#main .clinic .headLine01::before {
		width: 162px;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
		background: #DFDFDF;
		content: "";
	}
	#main .clinic .headLine01::after {
		content: "";
		width: 50px;
		position: absolute;
		left: 0;
		bottom: 0;
		background: #C3B896;
	}
	#main .clinic .phoList {
		margin: -15px 0 22px;
		justify-content: space-between;
	}
	#main .clinic .phoList::after {
		content: "";
		width: 30.1%;
		display: block;
	}
	#main .clinic .phoList li {
		margin-top: 15px;
		padding: 0;
		width: 30.1%;
	}
	#main .clinic .phoList li:nth-child(n+10) {
		display: none;
	}
	#main .clinic .phoList li:first-child {
		margin-left: 0;
	}
	#main .clinic .phoList li span {
		border-radius: 12px 0 12px 0;
	}
	#main .clinic .phoList li img {
		width: 100%;
	}
	#main .clinic .comBtn {
		margin-bottom: 20px;
	}
	#main .clinic .linkBox {
		padding: 22px 25px;
		display: block;
	}
	#main .clinic .linkBox .logo {
		margin-bottom: 17px;
		padding: 0;
		width: auto;
		display: block;
	}
	#main .clinic .linkBox .logo img {
		width: auto;
	}
	#main .clinic .linkBox .snsBox {
		padding-top: 14px;
		width: auto;
		border-top: 1px solid #DFDFDF;
		border-left: none;
	}
	#main .clinic .linkBox .snsBox a {
		margin: 0;
		padding: 0 50px 0 0;
		line-height: 1.48;
		background-position: right center;
	}
	#main .clinic .linkBox .snsBox a .txt {
		font-size: 1.6rem;
		letter-spacing: 0;
	}
	#main .clinic .linkBox .snsBox a .sml {
		font-size: 1.3rem;
	}
     .ai-chat button img.sp{
   width:180px;
}
}
@media all and (max-width: 374px) {
	#main .news .linkBox .textBox .text02 {
		padding-right: 20%;
	}
	#main .riam .imgBox .textBox .subBox .enTxt {
		letter-spacing: 0;
	}
	#main .flow .flowList li .text {
		letter-spacing: -0.02em;
	}
	#main .clinic .linkBox {
		padding: 22px 20px;
	}
	#main .clinic .linkBox .snsBox a {
		letter-spacing: 0;
	}
}
@media all and (max-width: 359px) {
	#main .news .linkBox .textBox .text01 {
		padding-right: 10px;
	}
	#main .riam .imgBox .textBox .subBox .enTxt, #main .riam .imgBox .textBox .subBox .jpTxt {
		padding-left: 75px;
	}
	#main .riam .imgBox .textBox .subBox .enTxt {
		font-size: 2.4rem;
	}
	#main .riam .imgBox .textBox .subBox .enTxt .firstLetter {
		width: 80px;
		font-size: 8rem;
	}
	#main .flow .flowList li .text {
		font-size: 1.3rem;
	}
	#main .introduce .subBox01 .textBox h3 {
		margin-right: -20px;
		letter-spacing: 0;
	}
	#main .clinic .linkBox .snsBox a {
		padding-right: 24px;
		background-size: 20px auto;
	}
	#main .clinic .linkBox .snsBox a .txt {
		font-size: 1.4rem;
		letter-spacing: -0.02em;
	}
	#main .clinic .linkBox .snsBox a .sml {
		font-size: 1.2rem;
	}
	

	
	
}
@media all and (max-width: 767px) and (max-height: 567px) {
	.mainVisual .imgTxt img {
		margin: 0;
	}
	
}

@media all and (max-width:768px){
	
	.jidv_banner-wrap {
    width: 100%;
	}
	
		.cancel p{
	font-size: 3.4vw;
}
	
	.cancel{
		padding: 6vw;
	}
    
    .block {
        display: block;
    }
	
	
}