@charset "UTF-8";

.contentpage .m_img_area .m_img {background-image: url("../images/m_img@2x.jpg");}



/*診療の流れ
---------------------------------------------------------*/
.flow {
	background: url("../images/bg2@2x.jpg") no-repeat left bottom;
	background-size: 1080px auto;
	padding-bottom: 100px;
}

/*タイトル*/
.flow .title_box {
	background: #6dbfe3 url("../images/bg1@2x.png") no-repeat right bottom;
	background-size: auto 100%;
	position: relative;
	text-align: center;
	color: #fff;
	font-size: 250%;
	letter-spacing: .15em;
	line-height: 1.2em;
	padding: 1.4em 0;
}
.flow .title_box::before {
	content: "";
	position: absolute;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 0;
	-webkit-transform: translateY(50%);
	transform: translateY(50%);
	background: url("../images/arrow1@2x.png") no-repeat center center;
	background-size: contain;
	box-shadow: 5px 5px 16px 0px rgba(0,0,0,0.2);
}
.flow .title_box .abs {
	position: absolute;
	width: 20%;
	max-width: 210px;
	right: calc(50% + 225px);
	bottom: 0;
}

/*流れ*/
.flow_list > li {
	position: relative;
	background: url("../images/arrow2@2x.png") no-repeat center top;
	background-size: auto 40px;
}
.flow_list > li::before {
content: "";	/* 影 */
position: absolute;
z-index: -1;
width: 100%;
height: 30px;
left: 0;
top: 0;
opacity: 0.15;
background: -moz-linear-gradient(top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%);
background: -webkit-linear-gradient(top, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
background: linear-gradient(to bottom, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 );
}
.flow_list .w1220 {
	padding-top: 90px;
	padding-bottom: 70px;
	position: relative;
}
.flow_list > li:first-child {
	background: none;
}
.flow_list > li:first-child::before {
	display: none;
}
.flow_list > li:first-child .w1220 {
	padding-top: 70px;
}

.flow_list .flow_float {
	position: relative;
	z-index: 1;
}
.flow_list .flow_float .img_box {
	width: 41%;
	max-width: 500px;
	float: left;
}
.flow_list .flow_float .txt_box {
	width: 56%;
	max-width: 665px;
	float: right;
}
.flow_list .style1 > dt {
	text-align: center;
	font-family: dnp-shuei-gothic-gin-std, sans-serif;
	font-weight: 600;
	font-style: normal;
	color: #49ace3;
	font-size: 240%;
	letter-spacing: .15em;
	line-height: 1.4em;
	padding-bottom: .4em;
	border-bottom: solid 1px #49ace3;
	margin-bottom: .5em;
}
.flow_list .style1 > dd {
	width: 100%;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}
.flow_list .style1 .com_btn2 {
	max-width: 350px;
	margin-left: auto;
	margin-right: auto;
}
.flow_list .style1 .com_btn2 {
	background-color: #3f98c4;
}
.flow_list .style1 .com_btn2 a {
	background: #6dbfe3;
}
/*診療室へ*/
.flow_list .bottom_img .w1220 {
	padding-bottom: 0;
}
.flow_list .bottom_img .img1 {
	margin-top: 10px;
	width: 60%;
	max-width: 300px;
	margin-left: auto;
	margin-right: 0;
	-webkit-transform: translateX(20%);
	transform: translateX(20%);
}

/*処置・治療*/
.flow_list .motto {
	width: 100%;
	max-width: 850px;
	margin-left: auto;
	margin-right: auto;
	display: -webkit-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
}
.flow_list .motto .img_box {
	width: 18%;
	max-width: 150px;
	position: relative;
	z-index: 0;
}
.flow_list .motto .txt {
	width: 75%;
	max-width: 620px;
	position: relative;
	z-index: 1;
	font-size: 120%;
	letter-spacing: .15em;
	line-height: 1.4em;
}
.flow_list .motto .img_box::before {
	content: "";
	position: absolute;
	width: 55px;
	height: 100%;
	background: url("../images/fukidashi@2x.png") no-repeat center center;
	background-size: contain;
	left: 115%;
	top: 0;
}
.flow_list .motto .txt ul {
	color: #49ace3;
	display: -webkit-flex;
	display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	margin: .8em 0;
}
.flow_list .motto .txt li {
	padding: .1em 0;
	padding-left: 2.2em;
	background: url("../../images/icon_check_blue@2x.png") no-repeat left top;
	background-size: 1.8em auto;
	margin-right: 1.0em;
}
.flow_list .motto .txt li:last-child {
	margin-right: 0;
}
.flow_list .attention1 {
	text-align: center;
}
.flow_list .attention1 dt {
	color: #df5d4c;
	font-size: 140%;
	letter-spacing: .15em;
	line-height: 1.6em;
	margin-bottom: .2em;
}

/*よくある質問*/
.qa_privacy .qa {
	position: relative;
	text-align: center;
}
.qa_privacy .qa::before {
	content: "";
	display: block;
	width: 100%;
	height: 60px;
	background: url("../images/qa@2x.png") no-repeat center top;
	background-size: contain;
	margin-bottom: 10px;
}
.qa_privacy .qa dl {
	width: 100%;
	max-width: 742px;
	margin-left: auto;
	margin-right: auto;
	padding-top: .5em;
	background-image: url("../../images/slash2_l@2x.png"), url("../../images/slash2_r@2x.png");
	background-repeat: no-repeat, no-repeat;
	background-position: left bottom, right bottom;
	background-size: auto 100%, auto 100%;
}
.qa_privacy .qa dt {
	color: #49ace3;
	font-size: 160%;
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-bottom: .2em;
}
.qa_privacy .qa .com_btn1 {
	margin-top: 40px;
}

/*プライバシー*/
.qa_privacy .privacy {
	background: rgba(255,255,255,0.85);
	padding: 120px 4% 80px;
	position: relative;
}
.qa_privacy .privacy .com_title1 {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	-webkit-transform: translateY(-25%);
	transform: translateY(-25%);
	margin: auto;
}
.qa_privacy .privacy ul {
	width: 100%;
	max-width: 990px;
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.qa_privacy .privacy li {
	width: 48%;
	max-width: 460px;
}
.qa_privacy .privacy h3 {
	color: #63534c;
	font-size: 140%;
	letter-spacing: .15em;
	line-height: 1.4em;
	background-image: url("../images/icon1@2x.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 5.2em auto;
	padding: 1.0em 0;
	padding-left: 6.2em;
	margin-bottom: .5em;
}
.qa_privacy .privacy h3 span {
	display: block;
	font-size: 120%;
	letter-spacing: .15em;
	line-height: 1.4em;
	margin-top: .2em;
	color: #2ca7aa;
}
.qa_privacy .privacy li:last-child h3 {
	background-image: url("../images/icon2@2x.png");
}
.qa_privacy .privacy li:last-child h3 span {
	color: #8e66c9;
}

/* 1400px以下
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1400px) {
/*診療室へ*/
.flow_list .bottom_img .img1 {
	-webkit-transform: translateX(10%);
	transform: translateX(10%);
}	
}

/* 1100px以下
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1100px) {
/*プライバシー*/
.qa_privacy .privacy h3 {
	font-size: 130%;
	letter-spacing: .1em;
}
.qa_privacy .privacy h3 span {
	letter-spacing: .1em;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.flow {
	background-size: 75% auto;
	padding-bottom: 8%;
}

/*タイトル*/
.flow .title_box {
	background-size: 24% auto;
	font-size: 220%;
	letter-spacing: .1em;
}
.flow .title_box::before {
	width: 6vw;
	height: 6vw;
}
.flow .title_box .abs {
	right: auto;
	left: 3%;
}

/*流れ*/
.flow_list .w1220 {
	padding-top: 8%;
	padding-bottom: 6%;
}
.flow_list > li:first-child .w1220 {
	padding-top: 8%;
}

.flow_list .flow_float .img_box {
	width: 41%;
	float: left;
}
.flow_list .flow_float .txt_box {
	width: 56%;
	float: right;
}
.flow_list .style1 > dt {
	font-size: 3.8vw;
	padding-bottom: .2em;
	margin-bottom: .4em;
}

/*処置・治療*/
.flow_list .motto .img_box {
	width: 15%;
}
.flow_list .motto .txt {
	width: 78%;
	max-width: 100%;
	font-size: 2.2vw;
	letter-spacing: .05em;
}
.flow_list .motto .img_box::before {
	left: 100%;
}
.flow_list .motto .txt ul {
	margin: .5em 0;
}
.flow_list .attention1 {
	font-size: 90%;
}
.flow_list .attention1 dt {
	letter-spacing: .1em;
}

/*よくある質問*/
.qa_privacy .qa::before {
	height: 6vw;
}
.qa_privacy .qa dl {
	width: 95%;
}
.qa_privacy .qa .com_btn1 {
	margin-top: 4%;
}

/*プライバシー*/
.qa_privacy .privacy {
	padding: 12% 4% 6%;
}
.qa_privacy .privacy h3 {
	font-size: 2.4vw;
	letter-spacing: .05em;
	background-size: 4.5em auto;
	padding-left: 5.0em;
}
.qa_privacy .privacy h3 span {
	letter-spacing: .05em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.flow {
	background-size: 100% auto;
	padding-bottom: 12%;
}

/*タイトル*/
.flow .title_box {
	background-size: 32% auto;
	font-size: 160%;
	letter-spacing: .1em;
	padding: 1.4em 0;
}
.flow .title_box::before {
	width: 1.5em;
	height: 1.5em;
}
.flow .title_box .abs {
	width: 30%;
	right: auto;
	left: 1%;
}

/*流れ*/
.flow_list > li {
	background-size: 20% auto;
}
.flow_list .w1220 {
	padding-top: 10%;
	padding-bottom: 8%;
}
.flow_list > li:first-child .w1220 {
	padding-top: 8%;
}

.flow_list .flow_float .img_box {
	width: 60%;
	float: none;
	margin: 0 auto 2%;
}
.flow_list .flow_float .txt_box {
	width: 100%;
	max-width: 100%;
	float: none;
}
.flow_list .style1 > dt {
	font-size: 160%;
	letter-spacing: .1em;
	padding-bottom: .2em;
	margin-bottom: .5em;
}
.flow_list .style1 > dd {
	max-width: 100%;
}
.flow_list .style1 .com_btn2 {
	width: 90%;
	max-width: 100%;
}
/*診療室へ*/
.flow_list .bottom_img .img1 {
	margin-top: 3%;
	width: 70%;
	-webkit-transform: none;
	transform: none;
	margin-left: auto;
	margin-right: auto;
}

/*処置・治療*/
.flow_list .motto {
	max-width: 100%;
	display: block;
	margin-bottom: 0;
}
.flow_list .motto .img_box {
	width: 25%;
	margin: 0 auto;
	padding-top: 1.0em;
}
.flow_list .motto .txt {
	width: 100%;
	max-width: 100%;
	font-size: 110%;
	letter-spacing: .1em;
	text-align: center;
}
.flow_list .motto .img_box::before {
	width: 100%;
	height: 120%;
	background-position: right center;
	background-size: contain;
	left: 0;
	right: 0;
	top: -1.0em;
	margin: auto;
	transform: rotate(-90deg);
}
.flow_list .motto .txt ul {
	display: inline-block;
	margin: .5em 0;
}
.flow_list .motto .txt li {
	margin-right: 0;
	text-align: left;
}
.flow_list .attention1 dt {
	font-size: 120%;
	letter-spacing: .05em;
}
.flow_list .attention1 dd {
	text-align: left;
	font-size: 90%;
}

/*よくある質問*/
.qa_privacy .qa::before {
	height: 10.0vw;
	margin-bottom: 2%;
}
.qa_privacy .qa dl {
	max-width: 100%;
	padding-top: 0;
	background-position: left center, right center;
	background-size: auto 3.0em, auto 3.0em;
	line-height: 1.6em;
}
.qa_privacy .qa dt {
	font-size: 150%;
	letter-spacing: .05em;
}
.qa_privacy .qa .com_btn1 {
	margin-top: 6%;
}

/*プライバシー*/
.qa_privacy .privacy {
	padding: 30% 4% 8%;
}
.qa_privacy .privacy .com_title1 {
	-webkit-transform: translateY(-15%);
	transform: translateY(-15%);
}
.qa_privacy .privacy ul {
	max-width: 100%;
	display: block;
}
.qa_privacy .privacy li {
	width: 100%;
	max-width: 100%;
	margin-bottom: 6%;
}
.qa_privacy .privacy li:last-child {
	margin-bottom: 0;
}
.qa_privacy .privacy h3 {
	font-size: 120%;
	letter-spacing: .05em;
	background-size: 4.0em auto;
	padding: .8em 0;
	padding-left: 4.5em;
	margin-bottom: 0;
}
.qa_privacy .privacy h3 span {
	letter-spacing: .05em;
}
}



/*診療予約について
---------------------------------------------------------*/
.reserve {
	background: #eaefb8;
	position: relative;
	padding-top: 70px;
}
.reserve .w1140 {
	position: relative;
	z-index: 1;
}
.reserve::before,
.reserve::after {
	content: "";
	position: absolute;
	z-index: 0;
	width: 100%;
	left: 0;
}
.reserve::before {
height: 30px;	/* 影 */
top: 0;
opacity: 0.15;
background: -moz-linear-gradient(top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0) 100%);
background: -webkit-linear-gradient(top, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
background: linear-gradient(to bottom, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a6000000', endColorstr='#00000000',GradientType=0 );
}
.reserve::after {
	height: 80px;	/* 下の白 */
	bottom: 0;
	background: #fff;
}
.reserve .com_title1 {
	margin-bottom: 40px;
}
.reserve .txt {
	text-align: center;
	font-size: 140%;
	letter-spacing: .15em;
	line-height: 1.8em;
	margin-bottom: 60px;
}
.reserve .txt span {
	color: #df645b;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.reserve {
	padding-top: 6%;
}
.reserve::after {
	height: 8vw;	/* 下の白 */
}
.reserve .com_title1 {
	margin-bottom: 4%;
}
.reserve .txt {
	font-size: 130%;
	letter-spacing: .1em;
	margin-bottom: 6%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.reserve {
	padding-top: 10%;
	padding-bottom: 4%;
}
.reserve::before {
	height: 5vw;	/* 影 */
}
.reserve::after {
	height: 10vw;	/* 下の白 */
}
.reserve .com_title1 {
	margin-bottom: 6%;
}
.reserve .txt {
	font-size: 120%;
	letter-spacing: .05em;
	line-height: 1.6em;
	margin-bottom: 10%;
}
}