@charset "UTF-8";

/*共通
---------------------------------------------------------*/
.rel{
	position: relative;
	z-index: 1;
}
.cli_tit{
	font-size: min(412%,7vw);
	letter-spacing: 0.3em;
	line-height:1em;
	text-align: center;
	margin-bottom: 70px;
}
.cli_tit h2{
	font-size: 38.6%;
	letter-spacing: 0.15em;
	line-height: 1.5em;
	margin-top: 1em;
}
.cli_tit span{
	letter-spacing: 0!important;
}
.cli_style dt{
	font-size: min(194.12%,3.4vw);
	letter-spacing: 0.15em;
	line-height: 1.5em;
	margin-bottom: 0.8em;
}
.cli_style dt .ft_hero_m{
	font-size: 45.5%;
	letter-spacing: 0.3em;
	line-height: 1em;
	margin-bottom: 1.3em;
}
.flex_box{
	display: flex;
	justify-content: space-between;
	align-items: center;
}


/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.cli_tit{
	letter-spacing: 0.25em;
	margin-bottom: 6.5vw;
}
.cli_tit h2{
	letter-spacing: 0.1em;
}
.cli_style dt{
	font-size: min(194.12%,3.4vw);
	letter-spacing: 0.1em;
}
.cli_style dt .ft_hero_m{
	letter-spacing: 0.25em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.cli_tit{
	font-size: 250%;
	letter-spacing: 0.2em;
	margin-bottom: 9%;
}
.cli_tit h2{
	font-size: 40%;
	letter-spacing: 0.05em;
	margin-top: 0.8em;
}
.cli_style dt{
	font-size: 154%;
	letter-spacing: 0.05em;
	text-align: center;
	margin-bottom: 0.5em;
}
.cli_style dt .ft_hero_m{
	letter-spacing: 0.2em;
	margin-bottom: 1em;
}
}



/*clinic
---------------------------------------------------------*/
/*waiting*/
#clinic #waiting .img{
	margin-bottom: 55px;
}
#clinic #waiting .img .abs{
	position: absolute;
	display: block;
	max-width: 180px;
	width: 15%;
	right: 2%;
	bottom: 0;
	transform: translateY(-14%);
	z-index: 2;
}
#clinic #waiting .abj{
	position: absolute;
	display: block;
	top: 0;
	left: -21%;
	max-width: 390px;
	width: 32.5%;
	z-index: -1;
}
#clinic #waiting .flex_box{
	max-width: 1125px;
	width: 94%;
	margin: 0 auto;
}
#clinic #waiting .flex_box .txt_l{
	width: 49.7%;
}
#clinic #waiting .flex_box .img_r{
	max-width: 520px;
	width: 46.3%;
}

/*counseling*/
#clinic #counseling .flt_box{
	max-width: 1130px;
	width: 94.167%;
}
#clinic #counseling .flt_box .img_l{
	float: left;
	width: 49.6%;
	max-width: 560px;
}
#clinic #counseling .flt_box .img_l .abs{
	position: absolute;
	display: block;
	max-width: 180px;
	width: 32.1428573%;
	left: 4.3%;
	top: 0;
	transform: translateY(14%);
	z-index: 2;
}
#clinic #counseling .flt_box .txt_r{
	float: right;
	width: 46.4%;
	max-width: 490px;
	margin-top: 40px;
}
#clinic #counseling .flt_box .txt_r .abs{
	position: absolute;
	max-width: 190px;
	width: 38.8%;
	right: -19%;
	top:0;
	transform: translateY(-51%);
}
#clinic #counseling .flt_box .txt_r .img{
	max-width: 707px;
	width: 144.3%;
	margin-right: -52.86%;
	margin-top: 0.8em;
}

/*treatment*/
#clinic #treatment .img{
	margin-bottom: 55px;
}
#clinic #treatment .img .abs{
	position: absolute;
	display: block;
	max-width: 180px;
	width: 15%;
	right: 2%;
	bottom: 0;
	transform: translateY(-14%);
	z-index: 2;
}
#clinic #treatment .abj{
	position: absolute;
	display: block;
	top: 0;
	transform: translateY(-12%);
	right: -15%;
	max-width: 390px;
	width: 32.5%;
	z-index: -1;
}
#clinic #treatment .flex_box{
	max-width: 1125px;
	width: 94%;
	margin: 0 auto;
}
#clinic #treatment .flex_box .img_l{
	max-width: 520px;
	width: 46.3%;
}
#clinic #treatment .flex_box .txt_r{
	width: 49.7%;
}
#clinic #treatment .flex_box .txt_r dl{
	max-width: 490px;
	width: 88%;
}

/*pain_box*/
#clinic .pain_box{
	background: #f8f7f0;
	padding: 60px 4% 65px;
}
#clinic .pain_box .pain_txt{
	font-size: 142%;
	letter-spacing: 0.15em;
	line-height: 1.8em;
	margin-bottom: 1.8em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*waiting*/
#clinic #waiting .img{
	margin-bottom: 5%;
}
	
/*counseling*/	
#clinic #counseling .flt_box .txt_r{
	margin-top: 4%;
}
	
/*treatment*/
#clinic #treatment .img{
	margin-bottom: 5%;
}

/*pain_box*/
#clinic .pain_box{
	padding: 6% 4% 6.5%;
}
#clinic .pain_box .pain_txt{
	font-size: 132%;
	letter-spacing: 0.1em;
	margin-bottom: 1.4em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/*waiting*/
#clinic #waiting .img{
	margin-bottom: 8%;
}
#clinic #waiting .img .abs{
	width: 22vw;
	right: 2vw;
	bottom: 2vw;
	transform: translateY(0);
}
#clinic #waiting .abj{
	width: 54%;
}
#clinic #waiting .flex_box{
	max-width: 100%;
    flex-wrap: wrap;
}
#clinic #waiting .flex_box .txt_l{
	width: 100%;
}
#clinic #waiting .flex_box .img_r{
	width: 80%;
	margin: 6% auto 0;
}
	
/*counseling*/
#clinic #counseling .flt_box{
	max-width: 100%;
	width: 100%;
}
#clinic #counseling .flt_box .img_l{
	float: none;
	width:80%;
	margin: 0 auto 8%;
}
#clinic #counseling .flt_box .img_l .abs{
	width: 22vw;
	left: 2vw;
	top: 2vw;
	transform: translateY(0);
}
#clinic #counseling .flt_box .txt_r{
	float: none;
	width: 100%;
	max-width: 100%;
	margin-top: 0;
}
#clinic #counseling .flt_box .txt_r .abs{
	width: 24vw;
	right: -3%;
	transform: translateY(-25%);
}
#clinic #counseling .flt_box .txt_r .img{
	width: 98vw;
	margin-right:auto;
	transform: translateX(3%);
}
	
/*treatment*/
#clinic #treatment .img{
	margin-bottom: 8%;
}
#clinic #treatment .img .abs{
	width: 22vw;
	right: 2vw;
	bottom: 2vw;
	transform: translateY(0);
}
#clinic #treatment .abj{
	transform: translateY(-10%);
	width: 54%;
}
#clinic #treatment .flex_box{
	max-width: 100%;
    flex-wrap: wrap;
}
#clinic #treatment .flex_box .img_l{
	width: 80%;
	margin: 6% auto 0;
}
#clinic #treatment .flex_box .txt_r{
	width: 100%;
	order: -1;
}
#clinic #treatment .flex_box .txt_r dl{
	max-width: 100%;
	width: 100%;
}

/*pain_box*/
#clinic .pain_box{
	padding: 8% 5%;
}
#clinic .pain_box .pain_txt{
	font-size: 122%;
	letter-spacing: 0.05em;
	line-height: 1.5em;
	margin-bottom: 1em;
}
}



/*for_family
---------------------------------------------------------*/
#for_family .for_family_bg{
	padding-bottom: 120px;
}
#for_family .for_family_bg::before {
	content: "";
	position: absolute;
	z-index: -2;
	font-size: min(412%,7vw);
	letter-spacing: 0.3em;
	line-height:1em;
	width: 100%;
	height: 100%;
	background: #F8F7F0;
	border-top-right-radius: 200px;
	left: 0;
	top: 0.5em;
}
#for_family .cli_tit .abs_img{
	position: absolute;
	display: block;
	max-width: 190px;
	width: 15.83334vw;
	right: calc(50% + 4.8em);
	top:0;
	transform: translateY(-25%);
}

/*family*/
#for_family #family .img{
	margin-bottom: 55px;
}
#for_family #family .img .abs{
	position: absolute;
	display: block;
	max-width: 180px;
	width: 15%;
	right: 2%;
	bottom: 0;
	transform: translateY(-14%);
	z-index: 2;
}
#for_family #family .img .abs_img{
	position: absolute;
	display: block;
	max-width: 190px;
	width: 15.83334vw;
	right: 3%;
	top:0;
	transform: translateY(-50%);
	z-index: 2;
}
#for_family #family .flt_box{
	max-width: 1130px;
	width: 94.167%;
}
#for_family #family .flt_box .img_l{
	float: left;
	max-width: 766px;
	width: 67.788%;
	margin-left: -19.82301%;
	margin-top: -122px;
}
#for_family #family .flt_box .txt_r{
	float: right;
	max-width: 490px;
	width: 46.4%;
}
#for_family #family .flt_box .txt_r .abs{
	position: absolute;
	display: block;
	max-width: 190px;
	width: 38.8%;
	right: -21%;
	top:0;
	transform: translateY(-9.5%);
}

/*kids*/
#for_family #kids .abj{
	position: absolute;
	display: block;
	top: 0;
	transform: translateY(-33%);
	right: -16%;
	max-width: 390px;
	width: 32.5%;
}
#for_family #kids .flex_box{
	max-width: 1166px;
	margin-right: 0;
	margin-left: auto;
}
#for_family #kids .flex_box .txt_l{
	max-width: 490px;
	width: 42.1%;
}
#for_family #kids .flex_box .txt_l .icon_list{
	font-size: min(100%,1.7vw);
	margin-top: 50px;
}
#for_family #kids .flex_box .txt_l .icon_list li{
	display: flex;
	align-items: center;
	margin-top: 1em;
}
#for_family #kids .flex_box .txt_l .icon_list li:first-child{
	margin-top: 0;
}
#for_family #kids .flex_box .txt_l .icon_list div{
	max-width: 120px;
	width: 7.06em;
	margin-right: 1.4em;
}
#for_family #kids.flex_box .txt_l .icon_list p{
	line-height: 1.5em;
}
#for_family #kids .flex_box .txt_l .icon_list p span{
	font-size: 159%;
	letter-spacing: 0.15em;
	line-height: 1.5em;
	display: block;
	margin-top: 0.4em;
}
#for_family #kids .flex_box .img_r{
	max-width: 560px;
	width: 48.1%;
}
#for_family #kids .flex_box .img_r .abs{
	position: absolute;
	display: block;
	max-width: 180px;
	width: 32.1428573%;
	right: 4.3%;
	bottom: 0;
	transform: translateY(-14%);
	z-index: 2;
}
#for_family #kids .flex_box .img_r .abs_img{
	position: absolute;
	display: block;
	max-width: 190px;
	width: 33.93%;
	left: 0;
	transform: translateX(-50%);
	bottom: 0;
	z-index: 2;
}

/*takuji_box*/
#for_family .takuji_box{
	background: #fff;
	position: relative;
	z-index: 1;
	border: 1px solid #e69300;
}
#for_family .takuji_box .bg{
	padding: 75px 4% 70px;
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
}
#for_family .takuji_box .bg::before {
	position: absolute;
	content: "";
	background: url("../medical/images/med_box_abs@2x.png") no-repeat right top;
	background-size: auto;
	background-size: 100% auto;
	max-width: 323px;
	width: 34%;
	height: 178px;
	right: 0;
	top: 0;
	z-index: -1;
	border-radius: 0 50px 0 0;
}
#for_family .takuji_box .takuji_box_tit {
	font-size: 206%;
	letter-spacing: 0.15em;
	line-height: 1.8em;
	text-align: center;
	padding-bottom: 0.8em;
	margin-bottom: 1.6em;
	position: relative;
}
#for_family .takuji_box .takuji_box_tit::before {
	position: absolute;
	content: "";
	background: #e69300;
	width: 3.7em;
	height: 3px;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 0;
}
#for_family .takuji_box .takuji_box_txt{
	font-size: 118%;
	letter-spacing: 0.15em;
	line-height: 1.8em;
}
#for_family .takuji_box .abs li{
	position: absolute;
	display: block;
	max-width: 190px;
	width: 15.84%;
	z-index: 2;
}
#for_family .takuji_box .abs li:first-child{
	left: 0;
	top: 0;
	transform: translateY(-12.632%);
}
#for_family .takuji_box .abs li:last-child{
	right: 0;
	bottom: 0;
	transform: translateY(12.632%);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1423px) {
/*family*/
#for_family .cli_tit .abs_img{
	right: calc(50% + 4.4em);
}
#for_family #family .flt_box .img_l{
	width: 64%;
	margin-left: -13%;
	margin-top: -8.574vw;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1280px) {
/*family*/
#for_family #family .flt_box .txt_r .abs{
	right: -19%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#for_family .for_family_bg{
	padding-bottom: 10%;
}
#for_family .for_family_bg::before {
	border-top-right-radius: 15vw;
}
	
/*family*/
#for_family #family .img{
	margin-bottom: 5%;
}
	
/*kids*/
#for_family #kids .flex_box .txt_l .icon_list{
	margin-top: 4.5vw;
}
#for_family #kids .flex_box .txt_l .icon_list p span{
	letter-spacing: 0.1em;
}

/*takuji_box*/
#for_family .takuji_box .bg{
	padding: 6.5% 4% 6%;
}
#for_family .takuji_box .bg::before {
	border-radius: 0 5vw 0 0;
}
#for_family .takuji_box .takuji_box_tit {
	font-size: 186%;
    letter-spacing: 0.1em;
}
#for_family .takuji_box .takuji_box_txt{
	font-size: 115%;
	letter-spacing: 0.1em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#for_family .for_family_bg{
	padding-bottom: 13%;
}
#for_family .for_family_bg::before {
	border-top-right-radius: 20vw;
}
#for_family .cli_tit .abs_img{
	width: 24vw;
	right: calc(50% + 2.6em);
	top:0;
	transform: translateY(-87%);
}
	
/*family*/
#for_family #family .img{
	margin-bottom: 8%;
}
#for_family #family .img .abs{
	width: 22vw;
	right: 2vw;
	bottom: 2vw;
	transform: translateY(0);
}
#for_family #family .img .abs_img{
	width: 24vw;
	right: 3vw;
	transform: translateY(-35%);
}
#for_family #family .flt_box{
	max-width: 100%;
	width: 100%;
}
#for_family #family .flt_box .img_l{
	float: none;
	width: 100vw;
	margin-left: -10%;
	top:0;
	transform: translateY(0);
	margin-top: -12%;
	margin-bottom: 2%;
}
#for_family #family .flt_box .txt_r{
	float: none;
	max-width: 100%;
	width: 100%;
}
#for_family #family .flt_box .txt_r .abs{
	width: 24vw;
	right: 0%;
	transform: translateY(-55vw);
}
	
/*kids*/
#for_family #kids .abj{
	transform: translateY(-29%);
	width: 54%;
}
#for_family #kids .flex_box{
	max-width: 100%;
    flex-wrap: wrap;
}
#for_family #kids .flex_box .txt_l{
	max-width: 100%;
	width: 100%;
}
#for_family #kids .flex_box .txt_l .icon_list{
	font-size:90%;
	margin-top: 7%;
	width: 67vw;
	margin-left: auto;
	margin-right: auto;
}
#for_family #kids .flex_box .txt_l .icon_list div{
	width: 6em;
}
#for_family #kids .flex_box .txt_l .icon_list p span{
	letter-spacing: 0.05em;
}
#for_family #kids .flex_box .img_r{
	width: 80%;
    margin: 0 auto 8%;
	order: -1;
}
#for_family #kids .flex_box .img_r .abs{
	width: 22vw;
    right: 2vw;
    bottom: 2vw;
    transform: translateY(0);
}
#for_family #kids .flex_box .img_r .abs_img{
	width: 24vw;
}
	
/*takuji_box*/
#for_family .takuji_box .bg{
	padding: 8.5% 5% 8%;
}
#for_family .takuji_box .bg::before {
	width: 50%;
	border-radius: 0 5vw 0 0;
}
#for_family .takuji_box .takuji_box_tit {
	font-size: 166%;
    line-height: 1.4em;
    letter-spacing: 0.05em;
    margin-bottom: 1.2em;
}
#for_family .takuji_box .takuji_box_txt{
	font-size: 110%;
	letter-spacing: 0.05em;
}
#for_family .takuji_box .abs li{
	width: 24vw;
}
#for_family .takuji_box .abs li:last-child{
	right: -5%;
	transform: translateY(25%);
}
}



/*comfortable
---------------------------------------------------------*/
#comfortable .comfortable_bg{
	background: #f8f7f0;
	padding-bottom: 150px;
}
#comfortable .comfortable_bg::before {
	content: "";
	position: absolute;
	z-index: -1;
	font-size: min(412%,7vw);
	letter-spacing: 0.3em;
	line-height:1em;
	width: 100%;
	height: 100%;
	background: #fff;
	border-top-left-radius: 200px;
	left: 0;
	top: 0.5em;
}
#comfortable .comfortable_list{
	display: flex;
	justify-content: space-between;
}
#comfortable .comfortable_list li{
	max-width: 373px;
	width: 31.5%;
}
#comfortable .comfortable_list li div{
	max-width: 373px;
	margin: 0 auto;
	text-align: center;
}
#comfortable .comfortable_list li dt{
	font-size: min(176.5%,2.4vw);
	letter-spacing: 0.15em;
	line-height: 1.5em;
	text-align: center;
	margin: 0.9em auto 0.6em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#comfortable .comfortable_bg{
	padding-bottom: 12%;
}
#comfortable .comfortable_bg::before {
	border-top-right-radius: 15vw;
}
#comfortable .comfortable_list li dt{
	font-size: min(176.5%,2.5vw);
	letter-spacing: 0.1em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#comfortable .comfortable_bg{
	padding-bottom: 14%;
}
#comfortable .comfortable_bg::before {
	border-top-left-radius: 20vw;
}
#comfortable .comfortable_list{
	display: block;
}
#comfortable .comfortable_list li{
	max-width: 100%;
	width: 100%;
	margin-top: 8%;
}
#comfortable .comfortable_list li div{
	width: 80%;
}
#comfortable .comfortable_list li dt{
	font-size: 136%;
	letter-spacing: 0.05em;
}
}
