@charset "UTF-8";

/*medical_menu
---------------------------------------------------------*/
.medical_menu {
	margin-top: 20px;
}
.medical_menu .w970 {
	position: relative;
	padding: 90px 0 40px;
}
.medical_menu h4 {
	position: absolute;
	max-width: 124px;
	width: 13vw;
	left: 0;
	right: 0;
	margin: auto;
	top: 0;
	transform: translateY(-40%);
}
.medical_menu ul {
	display: flex;
	justify-content: space-between;
    flex-wrap: wrap;
}
.medical_menu li {
	max-width: 186px;
	width: 19.18%;
	margin-top: 1.025%;
	font-size: min(95%,1.35vw);
	letter-spacing: normal;
	line-height: 1.5em;
}
.medical_menu ul li a{
	display: block;
	background-color: #fff;
	padding: 1em;
	box-sizing: border-box;
	position: relative;
}
.medical_menu ul li a::before{
	content: '';
	color: #8b7d70;
	width: 0;
	height: 0;
	border-style: solid;
	 border-left-style: solid;
	border-color: transparent;
	border-left-color: transparent;
	border-width: 0.36em 0.62354em;
	border-left-width: 0.62354em;
	border-right-color: currentColor;
	border-left: 0;
	transform: translateX(-50%) rotate(180deg);
	position: absolute;
	top: 40%;
	right: 0.5em;
	bottom: 0;
}

.medical_menu li:nth-child(-n + 5){
	margin-top: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.medical_menu {
	margin-top: 2%;
}
.medical_menu .w970 {
	padding: 9% 0 4%;
}
.medical_menu ul {
	justify-content: flex-start;
	max-width: 775px;
	margin: 0 auto;
}
.medical_menu li {
	width: 24%;
	margin-top: 1.333%!important;
	margin-right: 1.333%;
	font-size: min(95%,1.7vw);
}
.medical_menu li:nth-child(-n + 4){
	margin-top: 0!important;
}
.medical_menu li:nth-child(4n){
	margin-right: 0;	
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (min-width: 431px) and (max-width: 767px) {
.medical_menu {
	margin-top: 4%;
}
.medical_menu .w970 {
	padding: 14% 0 6%;
}
.medical_menu h4 {
	width: 20vw;
}
.medical_menu ul {
	justify-content: flex-start;
	max-width: 580px;
	margin: 0 auto;
}
.medical_menu li {
	width: 32%;
	margin-top: 2%!important;
	margin-right: 2%;
	font-size:55%;
}
.medical_menu li:nth-child(-n + 3){
	margin-top: 0!important;
}
.medical_menu li:nth-child(3n){
 margin-right: 0;	
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 430px) {
.medical_menu .w970 {
	padding: 17% 0 5%;
}
.medical_menu h4 {
	width: 24vw;
}
.medical_menu li {
	width: 48.5%;
	margin-top: 3%!important;
	font-size:85%;
}
.medical_menu li:nth-child(-n + 2){
	margin-top: 0!important;
}
}


/*共通
---------------------------------------------------------*/
.med_tit {
	font-size: min(290%,4.5vw);
	color: #67c587;
	letter-spacing: 0.1em;
	line-height: 1em;
	text-align: center;
	padding-bottom: 0.8em;
	margin-bottom: 1em;
	position: relative;
}
.med_tit::before{
	position: absolute;
	content: "";
	background: linear-gradient(to right,  rgba(103,197,135,0) 0%,rgba(103,197,135,1) 50%,rgba(103,197,135,0) 100%); 
	width: 100%;
	height: 2px;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 0;
}
.flt_box1 .txt_lead {
	padding-top: 20px;
	max-width: 640px;
	width: 66%;
	float: left;
	text-align: left;
}
.flt_box1 div {
	max-width: 300px;
	width: 31%;
	float: right;
}
.cure_flow h5::before{
	background-image: url(../images/medical/flow_arrow.png);
}
.cure_flow .fukidashi {
	position: absolute;
	max-width: 146px;
	width: 100%;
	top: 0;
	transform: translateY(-70%);
	left: 0;
	right: 0;
	margin: auto;
}
.cure_flow .txt dt {
	color: #009965;
	font-size: 105%;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.6em;
}

.check_box {
	border: solid 5px #6AC589;
	padding: 25px 40px;
}
.check_box h4 {
	color: #C57066;
	font-size: min(134%,2.52vw);
	font-weight: bold;
	letter-spacing: .2em;
	line-height: 1.6em;
	text-align: center;
	margin-bottom: 0.8em;
}
.check_box > div{
	display: flex;
	justify-content: center;
}
.check_box ul:first-child{
	margin-right: 2.5em;
}
.check_box li {
	font-size: min(120%,2.25vw);
	font-weight: bold;
	letter-spacing: .2em;
	line-height: 2.0em;
	background: url(../images/medical/check.png) no-repeat left -0.15em;
	background-size: 1.278em auto;
	padding-left: 2.2em;
	margin-bottom: 0.55;
}
.check_box .txt_strong {
	max-width: 680px;
	margin: 0.6em auto 0;
	background: #C97062;
	padding: 0.5em 0 0.6em;
	border-radius: 2em;
	text-align: center;
	color: #fff;
	font-size: 105%;
	font-weight: bold;
	letter-spacing: .2em;
	line-height: 1.5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.flt_box1 .txt_lead {
	padding-top: 0;
	max-width: 100%;
	width: 100%;
	float: none;
}
.flt_box1 div {
	margin-left: 4%;
	margin-bottom: 1em;
}
.check_box {
	padding: 2.5% 4%;
}
.check_box h4 {
	letter-spacing: .15em;
}
.check_box > div{
	justify-content: flex-start;
    flex-wrap: wrap;
}
.check_box ul:first-child{
	margin-right: 2em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.med_tit {
	font-size: 180%;
	letter-spacing: normal;
}
.med_tit::before{
	height: 1px;
}
.flt_box1 .txt_lead {
	padding-top: 0;
	text-align: left;
	max-width: 100%;
	width: 100%;
	float: none;
}
.flt_box1 div {
	width: 60%;
	float: none;
	margin: 0 auto 5vw;
	text-align: center;
}
.cure_flow div {
	position: relative;
}
.cure_flow li:last-child div{
	margin-top: 1.4em;
}
.check_box {
	padding: 5%;
}
.check_box h4 {
	font-size: 120%;
	letter-spacing: .05em;
}
.check_box > div{
	display: block;
}
.check_box ul:first-child{
	margin-right: 0;
}
.check_box li {
	font-size: 95%;
	letter-spacing: .05em;
	line-height: 1.5em;
	margin-top: 0.5em;
}
.check_box ul:first-child li:first-child{
	margin-top: 0;
}
.check_box .txt_strong {
	color: #fff;
	font-size: 90%;
	font-weight: bold;
	letter-spacing: .05em;
}
}



/*flow
---------------------------------------------------------*/
#flow .flow_bg{
	background-color: #F2FAD0;
	padding: 100px 0; 
}
#flow .flow_tit{
	font-size: min(254%,4vw);
	letter-spacing: 0.2em;
	line-height: 1em;
	text-align: center;
	margin-bottom: 90px;
}
#flow .flow_list li{
	margin-top: 40px;
	position: relative;
	z-index: 1;
}
#flow .flow_list li:first-child{
	margin-top: 0;
}
#flow .flow_list li .txt_l{
	max-width: 610px;
	width: 62.8865979%;
	float: left;
	padding: 0 4% 40px;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	min-height: 280px;
}
#flow .flow_list li .txt_l::before{
	position: absolute;
	content: "";
	background: #fff;
	font-size: min(100%,1.6vw);
	width: 105%;
	height: calc(100% - 3em);
	left: 0;
	bottom: 0;
	z-index: -1;
}
#flow .flow_list li .txt_l::after{
	position: absolute;
	content: "";
	background: url("../images/medical/flow_arrow.svg") no-repeat left bottom;
	background-size: 100% 100%;
	font-size: min(100%,1.6vw);
	width: 6.6667em;
	height: 6.6667em;
	left: 6.5%;
	bottom: 0;
	transform: translateY(50%);
}
#flow .flow_list li:last-child .txt_l::after{
	position: static;
	background: none;
}
#flow .flow_list li .txt_l .inbox{
	max-width: 515px;
	margin: 0 auto;
}
#flow .flow_list li .txt_l .no{
	font-size: min(100%,1.6vw);
	max-width: 79px;
	width: 5.26667em;
	max-height:79px;
	height: 5.26667em;
	margin-bottom: 0.4em;
}
#flow .flow_list li .txt_l  dt{
	font-size: min(167%,2.7vw);
	letter-spacing: 0.2em;
	line-height: 1.5em;
	font-weight: bold;
	margin-bottom: 0.4em;
	
}
#flow .flow_list li .img_r{
	max-width: 360px;
	width: 37.1134021%;
	float: right;
	position: relative;
	z-index: 2;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#flow .flow_bg{
	padding: 10% 0; 
}
#flow .flow_tit{
	letter-spacing: 0.15em;
	margin-bottom: 9%;
} 
#flow .flow_list li{
	margin-top: 4%;
}
#flow .flow_list li .txt_l{
	padding: 0 4% 4%;
	min-height: auto;
}
#flow .flow_list li .txt_l  dt{
	letter-spacing: 0.15em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#flow .flow_bg{
	padding: 12% 0; 
}
#flow .flow_tit{
	font-size: 170%;
	letter-spacing: 0.1em;
	margin-bottom: 10%;
}
#flow .flow_list li{
	margin-top: 6%;
	padding: 0 5% 10%;
	position: relative;
	z-index: 1;
}
#flow .flow_list li::before{
	position: absolute;
	content: "";
	background: #fff;
	font-size: 80%;
	width: 100%;
	height: calc(100% - 3em);
	left: 0;
	right: 0;
	margin: auto;
	bottom: 0;
	z-index: -2;
}
#flow .flow_list li::after{
	position: absolute;
	content: "";
	background: url("../images/medical/flow_arrow.svg") no-repeat center bottom;
	background-size: 100% 100%;
	font-size: 80%;
	width: 6.6667em;
	height: 6.6667em;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 0;
	transform: translateY(50%);
	z-index: -1;
}
#flow .flow_list li:last-child::after{
	background: none;
}
#flow .flow_list li .txt_l{
	max-width: 100%;
	width: 100%;
	float: none;
	padding: 0 0;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	min-height: auto;
}
#flow .flow_list li .txt_l::before{
	position: static;
	background: none;
}
#flow .flow_list li .txt_l::after{
	position: static;
	background: none;
	}
#flow .flow_list li:last-child .txt_l::after{
	position: static;
	background: none;
}
#flow .flow_list li .txt_l .inbox{
	max-width: 100%;
}
#flow .flow_list li .txt_l .no{
	font-size: 80%;
	max-width: 5.26667em;
	max-height:5.26667em;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
#flow .flow_list li .txt_l .no img{
	width: 100%;
	height: auto;
}
#flow .flow_list li .txt_l  dt{
	font-size: 130%;
	letter-spacing: 0.1em;
	text-align: center;
}
#flow .flow_list li .img_r{
	width: 70%;
	float:none;
	margin: 4% auto 0;
}
}



/*mushiba
---------------------------------------------------------*/
#mushiba .painless {
	background: radial-gradient(ellipse at center,  rgba(91,185,124,0.9) 0%,rgba(91,185,124,0.7) 100%); 
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e65bb97c', endColorstr='#b35bb97c',GradientType=1 );
	color: #fff;
	font-weight: bold;
	line-height: 1.6em;
	padding: 15px 1.5%;
}
#mushiba .painless .img_box {
	padding: 15px 2%;
	color: #fff;
	font-weight: bold;
	line-height: 1.6em;
	max-width: 940px;
	box-sizing: border-box;
}
#mushiba .painless .img_box .img_r{
	max-width: 343px;
	width: 39%;
	float: right;
	margin-right: -2%;
	margin-top: -2%;
}
#mushiba .painless .img_box dl{
	max-width: 560px;
	width: 63%;
	float: left;
}
#mushiba .painless dt {
	font-size: min(147%,2.75vw);
	letter-spacing: .15em;
	line-height: 1.6em;
}
#mushiba .painless dt span {
	color: #D83D33;
}
#mushiba .painless dd {
	margin-top: 1em;
}
#mushiba h5 {
	letter-spacing: .3em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#mushiba .painless {
	padding: 1.5vw 1.5vw;
}
#mushiba .painless .img_box {
	padding: 1.5vw 1.5vw;
}
#mushiba .painless .img_box .img_r{
	max-width: 343px;
	width: 39%;
	float: right;
	margin-right: -2%;
	margin-top: -2%;
	margin-left: 1%;
	margin-bottom: 0.5em;
}
#mushiba .painless .img_box dl{
	max-width: 100%;
	width:100%;;
	float: none;
}
#mushiba .painless dt {
	letter-spacing: .1em;
}
#mushiba .painless dd {
	margin-top: 0.8em;
}
#mushiba h5 {
	letter-spacing: .2em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#mushiba .painless {
	padding: 2%;
}
#mushiba .painless .img_box {
	padding: 2%;
}
#mushiba .painless .img_box .img_r{
	width:100%;
	float: none;
	margin: 0 auto 4vw;
}
#mushiba .painless .img_box dl{
	max-width: 100%;
	width: 100%;
	float: none;
}
#mushiba .painless dt {
	font-size: 130%;
	letter-spacing: .15em;
	line-height: 1.6em;
}
#mushiba .painless dd {
	margin-top: 0.5em;
}
#mushiba h5 {
	letter-spacing: .1em;
}
}



/*periodontal
---------------------------------------------------------*/
#periodontal .specialist {
	background: #F3F4F2 url(../images/medical/specialist_bg.png) no-repeat left center;
	background-size: auto 100%;
	padding: 40px 3%;
}
#periodontal .specialist .inbox{
	max-width: 890px;
	margin: 0 auto;
}
#periodontal .specialist dl {
	max-width: 475px;
	widows: 55%;
	margin: 0 0 0 auto;
}
#periodontal .specialist dt {
	color: #6C5958;
	font-size: min(147%,2.75vw);
	font-weight: bold;
	letter-spacing: .2em;
	line-height: 1.6em;
	text-align: center;
	background: url(../images/medical/specialist.png) no-repeat center top;
	background-size: 4.86364em auto;
	padding: 2.27em 0 0.45em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#periodontal .specialist {
	background-position: -20% center; 
	padding: 3%;
}
#periodontal .specialist dt {
	letter-spacing: .15em;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 820px) {
#periodontal .specialist {
	background-position: -40% center; 
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#periodontal .specialist {
	background-position: center bottom;
	background-size: 100% auto;
	padding: 5% 5% 40vw;
	position: relative;
	z-index: 1;
}
#periodontal .specialist::before{
	position: absolute;
	content: "";
	z-index: -1;
	background: linear-gradient(rgba(243,244,242,1) 0%, rgba(243,244,242,0) 100%);
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center bottom;
	height: 20vw;
	width: 100%;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 25vw;
}	
#periodontal .specialist .inbox{
	max-width: 100%;
}
#periodontal .specialist dl {
	max-width: 100%;
	widows: 100%;
	margin: 0 0 0 auto;
}
#periodontal .specialist dt {
	font-size: 130%;
	letter-spacing: .05em;
}
}



/*root
---------------------------------------------------------*/
#root .flt_box2 .flt_l {
	max-width: 360px;
	width: 37.2%;
}
#root .flt_box2 .flt_r {
	max-width: 580px;
	width: 60%;
	padding-top: 20px;
}
#root .pickup{
	padding: 45px 3% 65px;
	position: relative;
	margin-bottom: calc(1.5em + 40px);
}
#root .pickup .inbox{
	max-width: 870px;
	margin: 0 auto;
}
#root .pickup .inbox .flt_r{
	max-width: 440px;
	width: 51%;
}
#root .pickup .inbox .flt_l{
	max-width: 390px;
	width: 45%;
}
#root .pickup dt{
	font-size: min(134%, 2.52vw);
	font-weight: bold;
	letter-spacing: 0.2em;
	line-height: 1.6em;
	margin-bottom: 0.5em;
}
#root .pickup .abs_link{
	max-width:19.3334em;
	width: 100%;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 0;
	transform: translateY(50%);
}
#root .pickup .abs_link a {
	display: block;
	background-color: #5f4c3e;
	color: #FFF;
	font-weight: bold;
	letter-spacing: .1em;
	border-radius: 2.3334em;
	border: 1px solid #5f4c3e;
	padding: 0.4em 1.35em;
	position: relative;
}
#root .pickup .abs_link a::before{
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-top: 0.4em solid transparent;
	border-bottom: 0.4em solid transparent;
	border-left: 0.7em solid #FFF;
	right: 1.35em;
	top: 50%;
	transform: translateY(-50%);
	transition: all .5s;
}
#root .pickup .abs_link a:hover {
	color: #5f4c3e;
	background-color: transparent;
}
#root .pickup .abs_link a:hover span::after {
	border-left-color: #5f4c3e;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#root .flt_box2 .flt_l {
	margin-right: 4%;
	margin-bottom: 1em;
}
#root .flt_box2 .flt_r {
	max-width: 100%;
	width: 100%;
	padding-top: 0;
	float: none;
}
#root .pickup{
	padding: 4% 3% 6%;
	margin-bottom: calc(1.5em + 4%);
}
#root .pickup .inbox .flt_r{
	margin-left: 4%;
	margin-bottom: 1em;
}
#root .pickup .inbox .flt_l{
	max-width: 100%;
	width: 100%;
	float: none;
}
#root .pickup dt{
    letter-spacing: 0.15em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#root .flt_box2 .flt_l {
	width: 72%;
	margin: 0 auto 5vw;
    text-align: center;
	float: none;
}
#root .flt_box2 .flt_r {
	max-width: 100%;
	width: 100%;
	padding-top: 0;
	float: none;
}
#root .pickup{
	padding: 8% 5% 10%;
	margin-bottom: calc(1.5em + 6%);
}
#root .pickup .inbox{
	max-width: 100%;
}
#root .pickup .inbox .flt_r{
	width: 80%;
	float: none;
	margin: 0 auto 5%;
	text-align: center;
}
#root .pickup .inbox .flt_l{
	max-width:100%;
	width: 100%;
	float: none;
}
#root .pickup dt{
	font-size: 120%;
    letter-spacing: 0.05em;
    line-height: 1.5em;
	text-align: center;
    margin-bottom: 0.4em;
}
}



/*denture
---------------------------------------------------------*/
#denture .pickup {
	padding: 20px 3%;
}
#denture .pickup .inbox{
	max-width: 910px;
	margin: 0 auto;
}
#denture .pickup .flt_l{
	max-width: 196px;
	width: 21.54%;
}
#denture .pickup .flt_r {
	max-width: 690px;
	width: 75.8242%;
	padding-top: 20px;
}
#denture .pickup dt {
	font-size: min(134%,2.52vw);
	font-weight: bold;
	letter-spacing: .2em;
	line-height: 1.6em;
	margin-bottom:0.5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#denture .pickup {
	padding: 3%;
}
#denture .pickup .flt_l{
	margin-right: 3%;
	margin-bottom: 0.5em;
}
#denture .pickup .flt_r {
	max-width: 100%;
	width: 100%;
	padding-top: 0;
	float: none;
}
#denture .pickup dt {
	letter-spacing: .15em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#denture .pickup {
	padding: 5%;
}
#denture .pickup .inbox{
	max-width: 100%;
}
#denture .pickup .flt_l{
	width:60%;
	margin: 0 auto 4vw;
	float: none;
}
#denture .pickup .flt_r {
	max-width: 100%;
	width: 100%;
	padding-top: 0;
	float: none;
}
#denture .pickup dt {
	font-size: 120%;
	letter-spacing: .05em;
	line-height: 1.5em;
	text-align: center;
	margin-bottom:0.4em;
}
}