@charset "UTF-8";

/*メインイメージ
---------------------------------------------------------*/
.m_img_area {
	height: 100vh;
}
.m_img_area::before {
	content: "";	/*左上の円*/
	position: absolute;
	z-index: 0;
	width: 50%;
	max-width: 700px;
	aspect-ratio: 1 / 1;
	left: 0;
	top: 0;
	background: url("../images/bg1@2x.png") no-repeat left top;
	background-size: contain;
}
.m_img_area .m_img {
	width: 94%;
	max-width: 1900px;
	margin-left: auto;
	margin-right: auto;
	background: url("../images/m_img@2x.jpg") no-repeat center center;
	background-size: cover;
	position: relative;
	z-index: 5;
}
.m_img_area .m_img .m_copy {
	width: 80%;
	max-width: 1080px;
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 4%;
}

/* 画面高さ：900px以下
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-height: 900px) {
.m_img_area .m_img .m_copy {
	width: 100vh;
	max-width: 900px;
	bottom: 2vh;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* 縦向きの場合
------------------------------------------*/
@media only screen and (min-width: 768px) and (orientation: portrait) {
.m_img_area .m_img {
	background-image: url("../images/m_img_sp.jpg");
}
.m_img_area .m_img .m_copy {
	width: 85%;
	bottom: 50%;
	transform: translateY(70%);
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_area .m_img {
	width: 95%;
	background-image: url("../images/m_img_sp.jpg");
}
.m_img_area .m_img .m_copy {
	width: 100%;
	bottom: 50%;
	transform: translateY(60%);
}
}

/* 縦向きの場合
------------------------------------------*/
@media only screen and (max-width: 767px) and (orientation: portrait) {
}



/*内覧会・相談会
---------------------------------------------------------*/
#event .bg {
	background: #1D3855;
	position: relative;
	padding-top: 70px;
}
#event .bg::before {
	content: "";	/*右下の円*/
	position: absolute;
	z-index: 0;
	width: 50%;
	max-width: 700px;
	aspect-ratio: 1 / 1;
	right: 0;
	top: 0;
	transform: translateY(-50%);
	background: url("../images/bg2@2x.png") no-repeat left top;
	background-size: contain;
}
#event .w1220 {
	position: relative;
	z-index: 5;
	text-align: center;
}
#event h2 {
	width: 70%;
	margin: 0 auto;
}
#event .nair_date {
	width: 80%;
	max-width: 750px;
	margin: 1.2em auto 1.5em;
}
#event .txt {
	color: #fff;
}
#event .onegai {
	margin-top: 50px;
	position: relative;
	z-index: 2;
}
#event .onegai::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 100vw;
	height: 65%;
	background: #fff;
	left: 50%;
	bottom: -1px;
	transform: translateX(-50%);
}
#event .onegai .in_box {
	background: #F2F2ED;
	padding: 50px 4%;
}
#event .onegai h3 {
	display: inline-block;
	font-size: min(200%,2.8vw);
	letter-spacing: .2em;
	line-height: 1.2em;
	position: relative;
	padding: 0 .5em .5em;
	margin-bottom: 1.0em;
}
#event .onegai h3::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background: #1D3855;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 0;
}
#event .onegai p {
	width: 100%;
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}

/*チラシを見るボタン：微調整してください*/
#event .btn_flyer {
	margin-top: 1.0em;
}
#event .btn_flyer a {
	display: inline-block;
	color: #FFF;
	font-size: 110%;
	letter-spacing: .15em;
	line-height: 1.4;
	background-color: #ff8484;
	padding: .6em 3em;
	border-radius: 2em;
}
#event .btn_flyer a:hover {
	background-color: #ff5c5c;
}
#event .btn_flyer a span {
	display: inline-block;
	background: url(../images/icon_zoom.svg) no-repeat right center;
	background-size: 1em auto;
	padding-right: 1.6em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#event .bg {
	padding-top: 4%;
}
#event .onegai {
	margin-top: 4%;
}
#event .onegai .in_box {
	padding: 4% 4%;
}
#event .onegai h3 {
	font-size: min(200%,3.0vw);
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#event .bg {
	padding-top: 10%;
}
#event h2 {
	width: 100%;
}
#event .nair_date {
	width: 100%;
}
#event .txt {
	color: #fff;
}
#event .onegai {
	margin-top: 8%;
}
#event .onegai .in_box {
	padding: 6% 6%;
}
#event .onegai h3 {
	font-size: 140%;
	letter-spacing: .1em;
	margin-bottom: .7em;
}

#event .btn_flyer a {
	font-size: 105%;
	letter-spacing: .1em;
}
}



/*CLINIC POLICY
---------------------------------------------------------*/
.com_index1 {
	color: #A3B5C1;
	font-size: min(165%,2.4vw);
	letter-spacing: .1em;
	line-height: 1.4em;
}

#policy .max1500 {
	position: relative;
}
#policy .img_r {
	width: 47%;
	max-width: 700px;
	transform: translateY(-3%);
	float: right;
}
#policy .txt_l {
	width: 49%;
	max-width: 730px;
	float: left;
}
#policy .txt_l .in_box {
	width: 94%;
	max-width: 600px;
	margin-left: auto;
	margin-right: 0;
}
#policy .txt_l h2 {
	font-size: min(400%,5.0vw);
	letter-spacing: .1em;
	line-height: 1.7em;
	margin: .45em 0 .45em;
}
#policy .txt_l .txt2 {
	background: #E2ECF3;
	text-align: center;
	font-weight: bold;
	line-height: 1.4em;
	padding: .8em 5%;
	margin-top: 1.5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_index1 {
	letter-spacing: .05em;
}

#policy .img_r {
	margin-left: 3%;
}
#policy .txt_l {
	width: 100%;
	max-width: 100%;
	float: none;
}
#policy .txt_l .in_box {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
	box-sizing: border-box;
	padding: 0 3%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_index1 {
	font-size: 90%;
	letter-spacing: .05em;
}

#policy .img_r {
	width: 70%;
	transform: none;
	float: none;
	margin: 0 auto 5%;
}
#policy .txt_l {
	width: 100%;
	max-width: 100%;
	float: none;
}
#policy .txt_l .in_box {
	width: 94%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
#policy .txt_l h2 {
	font-size: 200%;
	letter-spacing: .05em;
	line-height: 1.5em;
	margin: .45em 0 .45em;
}
}



/*FOR SURGERY
---------------------------------------------------------*/
#surgery .max1500 {
	position: relative;
	padding-bottom: 70px;
}
#surgery .max1500::before {
	content: "";	/*水色背景*/
	position: absolute;
	z-index: 0;
	width: 94%;
	height: calc(100% - 90px);
	margin: auto;
	left: 0;
	right: 0;
	bottom: 0;
	background: #E2ECF3;
}
#surgery .max1500 > div {
	position: relative;
	z-index: 1;
}
#surgery .box1 .img_l {
	width: 46%;
	max-width: 690px;
	float: left;
}
#surgery .box1 .txt_r {
	width: 50%;
	max-width: 720px;
	float: right;
	padding-top: 60px;
}
#surgery .box1 .txt_r dl {
	width: 88%;
	max-width: 580px;
}
#surgery .box1 dt {
	font-size: min(235%,3.0vw);
	font-weight: bold;
	letter-spacing: .2em;
	line-height: 1.7em;
	margin-bottom: .8em;
}
#surgery .box2 {
	width: 88%;
	max-width: 1220px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
#surgery .box2 h2 {
	font-size: min(300%,4.0vw);
	letter-spacing: .1em;
	line-height: 1.4em;
	position: relative;
	z-index: 2;
}
#surgery .box2 ul {
	position: relative;
	z-index: 0;
	padding: 50px 2%;
	display: flex;
    justify-content: space-between;
	text-align: left;
}
#surgery .box2 ul::before {
	content: "";	/*白背景*/
	position: absolute;
	z-index: 0;
	width: 100%;
	height: calc(100% + 30px);
	background: #fff;
	left: 0;
	bottom: 0;
}
#surgery .box2 li {
	position: relative;
	z-index: 1;
	width: 33.3333%;
	box-sizing: border-box;
	border-left: solid 1px #1D3855;
	padding-left: 5%;
	padding-right: 2.5%;
	padding-bottom: 1.0em;
}
#surgery .box2 li:first-child {
	border-left: none;
}
#surgery .box2 li h3 {	
	font-feature-settings: "halt";
	font-size: min(165%,2.0vw);
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.6em;
	margin-bottom: .6em;
}
#surgery .box2 li h3::before {
	content: "";	/*数字*/
	display: block;
	width: 100%;
	height: 2.6em;
	background: url("../images/no01@2x.jpg") no-repeat left center;
	background-size: contain;
	margin-bottom: .7em;
	margin-left: -1.0em;
}
#surgery .box2 li:nth-child(2) h3::before {background-image: url("../images/no02@2x.jpg");}
#surgery .box2 li:nth-child(3) h3::before {background-image: url("../images/no03@2x.jpg");}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#surgery .max1500 {
	padding-bottom: 6%;
}
#surgery .max1500::before {
	height: calc(100% - 8vw);
}
#surgery .box1 .img_l {
	margin-right: 4%;
	margin-bottom: 1.0em;
}
#surgery .box1 .txt_r {
	width: 100%;
	max-width: 100%;
	float: none;
	padding-top: 0;
}
#surgery .box1 .txt_r dl {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding-left: 6%;
	padding-right: 6%;
}
#surgery .box1 dt {
	font-size: min(235%,3.2vw);
	letter-spacing: .1em;
	line-height: 1.7em;
	margin-bottom: .5em;
}
#surgery .box2 h2 {
	font-size: min(300%,4.4vw);
}
#surgery .box2 ul {
	padding: 4% 0 4%;
}
#surgery .box2 ul::before {
	height: calc(100% + 3vw);
}
#surgery .box2 li {
	padding-left: 3%;
	padding-right: 3%;
}
#surgery .box2 li h3 {
	font-size: min(165%,2.7vw);
	letter-spacing: .05em;
}
#surgery .box2 li h3::before {
	height: 2.2em;
	margin-bottom: .8em;
	margin-left: 0;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#surgery .max1500 {
	padding-bottom: 10%;
}
#surgery .max1500::before {
	width: 94%;
	height: calc(100% - 15vw);	/*水色背景*/
}
#surgery .box1 .img_l {
	width: 78%;
	margin: 0 auto 5%;
	float: none;
}
#surgery .box1 .txt_r {
	width: 100%;
	max-width: 100%;
	float: none;
	padding-top: 0;
}
#surgery .box1 .txt_r dl {
	width: 84%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
#surgery .box1 dt {
	font-size: 150%;
	letter-spacing: .05em;
	line-height: 1.6em;
	margin-bottom: .5em;
}
#surgery .box2 {
	width: 86%;
}
#surgery .box2 h2 {
	font-size: 200%;
	letter-spacing: .05em;
	line-height: 1.4em;
	margin-top: .2em;
}
#surgery .box2 ul {
	padding: 6% 6% 8%;
	display: block;
}
#surgery .box2 ul::before {
	height: calc(100% + 12vw);	/*白背景*/
}
#surgery .box2 li {
	width: 100%;
	border-left: none;
	margin-top: 1.5em;
	border-top: solid 1px #1D3855;
	padding: 1.5em 0 0;
}
#surgery .box2 li:first-child {
	border-top: none;
	padding-top: 0;
	margin-top: 0;
}
#surgery .box2 li h3 {
	font-size: 130%;
	letter-spacing: .05em;
	line-height: 1.4em;
	padding-left: 4.2em;
	margin-bottom: .4em;
	position: relative;
}
#surgery .box2 li h3::before {
	position: absolute;	/*数字*/
	display: block;
	width: 3.5em;
	height: 100%;
	margin: 0;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
#surgery .box2 li h3 br.pc_only {
	display: block !important;
}
#surgery .box2 li p {
	padding-left: 5%;
}
}



/*clinic
---------------------------------------------------------*/
#clinic .item_list {
	display: flex;
    flex-wrap: wrap;
}
#clinic .item_list > li {
	width: 30%;
	margin-right: 5%;
	margin-top: 60px;
}
#clinic .item_list > li:nth-child(3n),
#clinic .item_list > li:last-child {
	margin-right: 0;
}
#clinic .item_list > li:nth-child(-n+3) {
	margin-top: 0;
}
#clinic .item_list dt {
	font-size: min(230%,2.6vw);
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.7em;
	margin: .8em 0 .5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#clinic .item_list > li {
	width: 32%;
	margin-right: 2%;
	margin-top: 6%;
}
#clinic .item_list dl {
	width: 95%;
	margin-left: auto;
	margin-right: auto;
}
#clinic .item_list dt {
	font-size: min(230%,2.8vw);
	letter-spacing: .05em;
	line-height: 1.6em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#clinic .item_list {
	display: block;
}
#clinic .item_list > li {
	width: 100%;
	margin-right: 0;
	margin-top: 6% !important;
	border-top: solid 1px #ccc;
	padding-top: 8%;
}
#clinic .item_list > li:first-child {
	margin-top: 0 !important;
}
#clinic .item_list > li > div {
	width: 70%;
	margin: 0 auto;
}
#clinic .item_list dt {
	text-align: center;
	font-size: 150%;
	letter-spacing: .05em;
	line-height: 1.4em;
	margin: .6em 0 .3em;
}
#clinic .item_list dd {
	padding: 0 5%;
}
}



/*院長紹介
---------------------------------------------------------*/
#doctors .bg {
	background: #F2F2ED;
	padding: 60px 0 100px;
	position: relative;
}
#doctors .title_box {
	text-align: center;
}
#doctors .title_box .ft_brother {
	color: rgba(177,159,139,0.8);
	font-size: min(465%,5.5vw);
	letter-spacing: .1em;
	line-height: 1.2em;
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	top: 0;
	transform: translateY(-50%);
}
#doctors .title_box h2 {
	font-size: min(235%,3.0vw);
	letter-spacing: .2em;
	line-height: 1.2em;
}

#doctors .dr_box .flt_box {
	width: 100%;
	max-width: 1220px;
	margin-left: auto;
	margin-right: auto;
}
#doctors .dr_box .flt_box .photo_name {
	width: 49%;
	float: left;
}
#doctors .dr_box .flt_box .message {
	width: 48%;
	max-width: 580px;
	float: right;
}

#doctors .dr_box .photo_name {
	display: flex;
    justify-content: space-between;
    align-items: center;
}
#doctors .dr_box .photo_name > div {
	width: 43%;
	max-width: 250px;
}
#doctors .dr_box .photo_name > dl {
	width: 50%;
	font-size: min(155%,2.0vw);
	letter-spacing: .2em;
	line-height: 1.4em;
}
#doctors .dr_box .photo_name .txt_name p {
	font-size: 200%;
	letter-spacing: .2em;
	line-height: 1.2em;
	margin-top: .2em;
}
#doctors .dr_box .photo_name .txt_name p.ft_brother {
	color: #B19F8B;
	font-size: 75%;
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-top: .5em;
}
#doctors .dr_box .photo_name .txt_prof {
	font-size: 87%;
	font-weight: bold;
	letter-spacing: .2em;
	line-height: 1.4em;
	margin-top: 1.0em;
}
#doctors .dr_box .photo_name .subject {
	padding-left: 1.3em;
	position: relative;
}
#doctors .dr_box .photo_name .subject::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 1.0em;
	background: #1D3855;
	left: .4em;
	top: .2em;
	transform: rotate(25deg);
}
#doctors .dr_box .photo_name .btn {
	font-size: 90%;
	letter-spacing: .15em;
	margin-top: 1.0em;
}
#doctors .dr_box .photo_name .btn a {
	display: inline-block;
	background: #1D3855;
	text-align: center;
	color: #fff;
	padding: .3em 1.5em;
	padding-right: 2.0em;
	border-radius: 3.0em;
	position: relative;
}
#doctors .dr_box .photo_name .btn a:hover {
	background: #5D788F;
}
#doctors .dr_box .photo_name .btn a::before {
	content: "";
	position: absolute;
	width: .8em;
	height: .8em;
	background: url("../images/arrow@2x.png") no-repeat center center;
	background-size: contain;
	right: 1.2em;
	top: 50%;
	transform: translateY(-50%);
}

#doctors .prof_box {
	background: #fff;
	padding: 60px 4%;
}
#doctors .prof_box {
	display: flex;
    justify-content: space-between;
}
#doctors .prof_box .box_l {
	width: 46%;
}
#doctors .prof_box .box_r {
	width: 50%;
}

#doctors .prof_box .style1 {
	margin-top: 40px;
}
#doctors .prof_box .style1:first-child {
	margin-top: 0;
}
#doctors .prof_box .style1 > dt {
	font-size: 135%;
	letter-spacing: .2em;
	line-height: 1.4em;
	margin-bottom: .2em;
}
#doctors .prof_box .prof_list1 {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#doctors .prof_box .prof_list1 > dt {
	width: 80px;
}
#doctors .prof_box .prof_list1 > dd {
	width: calc(100% - 80px);
}
#doctors .prof_box .prof_list2 li {
	position: relative;
	box-sizing: border-box;
	padding-left: 1.0em;
}
#doctors .prof_box .prof_list2 li::before {
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
}
#doctors .prof_box .prof_list2 li.no_point {
	padding-left: 0;
	font-size: 105%;
}
#doctors .prof_box .prof_list2 li.no_point::before {
	display: none;
}
#doctors .prof_box .prof_list3 {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#doctors .prof_box .prof_list3 > dt {
	width: 140px;
}
#doctors .prof_box .prof_list3 > dd {
	width: calc(100% - 140px);
}

#doctors .prof_box .box_r .style1 {
	line-height: 1.7em;
}
#doctors .prof_box .box_r .style1 > dd {
	font-size: 94%;
}
#doctors .prof_box .box_r .prof_list2 li {
	margin-top: 1.0em;
}
#doctors .prof_box .box_r .prof_list2 li:first-child {
	margin-top: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#doctors .bg {
	padding: 6% 0 8%;
}
#doctors .title_box .ft_brother {
	font-size: min(465%,6.0vw);
}
#doctors .title_box h2 {
	font-size: min(235%,3.4vw);
}

#doctors .dr_box .flt_box .photo_name {
	margin-right: 4%;
	margin-bottom: 1.5em;
}
#doctors .dr_box .flt_box .message {
	width: 100%;
	max-width: 100%;
	float: none;
}

#doctors .dr_box .photo_name > dl {
	font-size: min(155%,2.2vw);
}
#doctors .dr_box .photo_name .txt_name p {
	letter-spacing: .1em;
}
#doctors .dr_box .photo_name .txt_prof {
	font-size: 95%;
	letter-spacing: .1em;
}
#doctors .dr_box .photo_name .btn {
	font-size: 80%;
	letter-spacing: .05em;
}
#doctors .dr_box .photo_name .btn a {
	padding: .4em 1.2em;
	padding-right: 2.0em;
}
#doctors .dr_box .photo_name .btn a::before {
	right: .5em;
}

#doctors .prof_box {
	padding: 4% 3%;
	font-size: 90%;
	letter-spacing: normal;
	line-height: 1.6em;
}
#doctors .prof_box .style1 {
	margin-top: 1.5em;
}
#doctors .prof_box .style1 > dt {
	letter-spacing: .1em;
}
#doctors .prof_box .prof_list1 > dt {
	width: 60px;
}
#doctors .prof_box .prof_list1 > dd {
	width: calc(100% - 60px);
}
#doctors .prof_box .prof_list3 {
	display: block;
}
#doctors .prof_box .prof_list3 > dt {
	width: 100%;
}
#doctors .prof_box .prof_list3 > dd {
	width: 100%;
}
#doctors .prof_box .box_r .style1 {
	line-height: 1.6em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#doctors .bg {
	padding: 8% 0 12%;
}
#doctors .title_box .ft_brother {
	font-size: 250%;
	letter-spacing: .05em;
}
#doctors .title_box h2 {
	font-size: 150%;
	letter-spacing: .1em;
}

#doctors .dr_box .flt_box .photo_name {
	width: 90%;
	float: none;
	margin: 0 auto 6%;
}
#doctors .dr_box .flt_box .message {
	width: 100%;
	max-width: 100%;
	float: none;
}
#doctors .dr_box .photo_name > dl {
	font-size: 110%;
	letter-spacing: .15em;
}
#doctors .dr_box .photo_name .txt_name p {
	letter-spacing: .1em;
}
#doctors .dr_box .photo_name .txt_name p.ft_brother {
	letter-spacing: .05em;
}
#doctors .dr_box .photo_name .txt_prof {
	font-size: 95%;
	letter-spacing: .1em;
}
#doctors .dr_box .photo_name .btn {
	font-size: 90%;
	letter-spacing: .05em;
}
#doctors .dr_box .photo_name .btn a {
	display: block;
	padding: .5em 0;
	padding-right: .5em;
}
#doctors .dr_box .photo_name .btn a::before {
	right: .5em;
}

#doctors .prof_box {
	padding: 6% 6%;
	font-size: 95%;
	letter-spacing: normal;
	line-height: 1.6em;
}
#doctors .prof_box {
	display: block;
}
#doctors .prof_box .box_l {
	width: 100%;
}
#doctors .prof_box .box_r {
	width: 100%;
	margin-top: 1.5em;
}
#doctors .prof_box .style1 {
	margin-top: 1.5em;
}
#doctors .prof_box .style1 > dt {
	font-size: 120%;
	letter-spacing: .1em;
	margin-bottom: .4em;
}
#doctors .prof_box .prof_list1 > dt {
	width: 18%;
}
#doctors .prof_box .prof_list1 > dd {
	width: 82%;
}
#doctors .prof_box .prof_list3 > dt {
	width: 30%;
}
#doctors .prof_box .prof_list3 > dd {
	width: 70%;
}

#doctors .prof_box .box_r .style1 {
	line-height: 1.4em;
}
#doctors .prof_box .box_r .prof_list2 li {
	margin-top: .6em;
}
}



/*フッター
---------------------------------------------------------*/
footer {
	background: #1D3855;
	background: linear-gradient(0deg,rgba(29, 56, 85, 1) 0%, rgba(48, 76, 100, 1) 100%);
	position: relative;
}
footer .w1220 {
	padding-top: 60px;
	padding-bottom: 80px;
	color: #fff;
}
footer .f_logo {
	width: 9%;
	margin: 0 auto;
}
footer .f_clinic {
	text-align: center;
}
footer .f_clinic dt {
	font-size: min(300%,4.0vw);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.2em;
	margin: .3em 0 .3em;
}
footer .f_flex {
	display: flex;
    justify-content: space-between;
}
footer .f_flex .box_l,
footer .f_flex .box_r {
	width: 48%;
	max-width: 550px;
}
footer .f_contact {
	width: 90%;
	max-width: 440px;
	margin-bottom: 40px;
}
footer .f_timetable {
	margin-bottom: 30px;
}
footer .f_kamoku {
	display: flex;
    align-items: center;
    flex-wrap: wrap;
}
footer .f_kamoku dt {
	background: #fff;
	padding: 0 1.5em;
	border-radius: 3.0em;
	margin-right: 1.5em;
}
footer .f_kamoku dd ul {
	display: flex;
    flex-wrap: wrap;
}
footer .f_kamoku dd ul li::before {
	content: "・";
}
footer .f_kamoku dd ul li:first-child::before {
	display: none;
}
footer .f_access li {
	margin-top: 30px;
	padding-left: 15%;
	position: relative;
	background: url("../images/f_icon1@2x.png") no-repeat left top;
	background-size: 13% auto;
}
footer .f_access li.icon2 {
	background-image: url("../images/f_icon2@2x.png");
}
footer .f_access .txt1 {	
	font-feature-settings: "halt";
	font-size: min(155%,2.6vw);
	letter-spacing: .1em;
	line-height: 1.4em;
}
footer .f_access .txt2 {
	line-height: 1.7em;
	margin-top: .5em;	
}

/*f_map*/
.f_map {
	width: 100%;
	position: relative;
}
.f_map iframe {
	position: absolute;
	display: block;
	width: calc(100% - 200px);
	height: 100%;
	left: 0;
	top: 0;
}
.f_map .map_btn {
	width: 100%;
	max-width: 200px;
	margin-left: auto;
	margin-right: 0;
}
.f_map .map_btn li {
	box-sizing: border-box;
	border-bottom: #fff 1px solid;
}
.f_map .map_btn li:nth-child(3){
	border-bottom: none;
}
.f_map .map_btn li a {
	display: block;
	background: #A3B5C1;
	position: relative;
}
.f_map .map_btn li a:hover {
	background: #71889D;
}
.f_map .map_btn li a::before {
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	background: url("../images/f_corner@2x.png") no-repeat left top;
	background-size: contain;
	right: 5px;
	bottom: 5px;
}

.copyright {
	background: #fff;
	text-align: center;
	padding: 50px 120px;
	letter-spacing: .2em;
	line-height: 1.6em;
}
#pagetop {
	width: 10%;
	max-width: 100px;
	position: absolute;
	right: 1%;
	bottom: 10px;
}
#pagetop a {
	display: block;
	border-radius: 50%;
	background: #B19F8B;
}
#pagetop a:hover {
	background: #897C75;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
footer .w1220 {
	padding-top: 4%;
	padding-bottom: 6%;
}
footer .f_clinic dt {
	font-size: min(300%,4.5vw);
}
footer .f_contact {
	margin-bottom: 6%;
}
footer .f_timetable {
	margin-bottom: 6%;
}
footer .f_access li {
	margin-top: 6%;
}
footer .f_access .txt2 {
	font-size: 95%;
	letter-spacing: normal;
}

.f_map iframe {
	width: 80%;
}
.f_map .map_btn {
	width: 20%;
}
.copyright {
	padding: 4% 0;
	letter-spacing: .05em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
footer .w1220 {
	padding-top: 8%;
	padding-bottom: 10%;
}
footer .f_logo {
	width: 13%;
}
footer .f_clinic dt {
	font-size: 160%;
	letter-spacing: .05em;
}
footer .f_clinic dd {
	line-height: 1.6em;
}
footer .f_flex {
	display: block;
}
footer .f_flex .box_l,
footer .f_flex .box_r {
	width: 100%;
	max-width: 100%;
}
footer .f_flex .box_l {
	margin-bottom: 8%;
}
footer .f_contact {
	margin-bottom: 6%;
}
footer .f_timetable {
	margin-bottom: 5%;
}
footer .f_access li {
	margin-top: 5%;
	padding-left: 17%;
	background-size: 13% auto;
}
footer .f_access .txt1 {
	font-size: 150%;
	letter-spacing: .05em;
}
footer .f_access .txt2 {
	line-height: 1.6em;
}

.f_map iframe {
	position: relative;
	width: 100%;
	left: auto;
	top: auto;
	height: 350px;
}
.f_map .map_btn {
	display: none;
}
.f_map .sp_map_btn a {
	display: block;
	background: #1D3855;
	color: #fff;
	letter-spacing: .2em;
	line-height: 1.2em;
	padding: 1.0em 0;
	text-align: center;
}
.f_map .sp_map_btn i {
	font-size: 120%;
}

.copyright {
	text-align: center;
	padding: 4% 0 28vw;
	letter-spacing: .05em;
}
#pagetop {
	width: 14%;
	bottom: 25vw;
}
}



/*
---------------------------------------------------------*/

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}