@charset "UTF-8";



/*導入、共通
---------------------------------------------------------*/
.m_img_area {
	margin-bottom: 80px;
}
.clinic .bg {
	padding: 150px 0;
}

.clin_index {
	font-size: 220%;
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-bottom: 70px;
}
.clin_index .ft_bellefair {
	color: #E3E1BD;
	font-size: 250%;
	letter-spacing: .08em;
	line-height: 1.0em;
}

#gallery .bg {
	background: #FBFAF4;
}
#gallery .clin_lead {
	width: 100%;
	box-sizing: border-box;
	margin: 0 auto;
	text-align: center;
	padding: 120px 3% 80px;
	position: relative;
	margin-bottom: 150px;
}
#gallery .clin_lead::before {
	content: "";	/*花びら*/
	position: absolute;
	width: 100%;
	height: 15vw;
	max-height: 160px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	left: 0;
	top: 0;
	transform: translateY(-50%);
}
/*大阪*/
#gallery .area_osaka .clin_lead {background: linear-gradient(0deg, rgba(255,235,58,0) 0%, rgba(255,235,58,0.2) 90%);}
#gallery .area_osaka .clin_lead::before {background-image: url("../images/clinic/petal1@2x.png");}
/*愛知*/
#gallery .area_aichi .clin_lead {background: linear-gradient(0deg, rgba(255,193,239,0) 0%, rgba(255,193,239,0.2) 90%);}
#gallery .area_aichi .clin_lead::before {background-image: url("../images/clinic/petal2@2x.png");}

#gallery .clin_lead::after {
	content: "";	/*影*/
	position: absolute;
	z-index: 0;
	width: 100%;
	max-width: 1220px;
	height: 100%;
	max-height: 72px;
	background: url("../images/clinic/shadow@2x.png") no-repeat center top;
	background-size: 100% 100%;
	margin: auto;
	left: 0;
	right: 0;
	top: 100%;
}
#gallery .w1220 {
	position: relative;
	z-index: 1;
}
#gallery .clin_lead .ft_min {
	font-size: 165%;
	font-size: min(165%,2.4vw);
	letter-spacing: .15em;
	line-height: 1.6em;
}
#gallery .clin_lead .ft_min span {
	display: block;
	font-size: 260%;
	font-size: min(260%,5.0vw);
	letter-spacing: .1em;
	line-height: 1.2em;
	margin-top: .2em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.m_img_area {
	margin-bottom: 6%;
}
.clinic .bg {
	padding: 12% 0;
}

.clin_index {
	font-size: 180%;
	margin-bottom: 8%;
}

#gallery .clin_lead {
	padding: 10% 3% 8%;
	margin-bottom: 10%;
}
#gallery .clin_lead .ft_min {
	font-size: 2.8vw;
	letter-spacing: .1em;
}
#gallery .clin_lead .ft_min span {
	font-size: 5.2vw;
	letter-spacing: .05em;
	margin-top: .1em;
	margin-top: .3em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.m_img_area {
	margin-bottom: 10%;
}
.clinic .bg {
	padding: 14% 0;
}

.clin_index {
	font-size: 160%;
	letter-spacing: .15em;
	margin-bottom: 12%;
}
.clin_index .ft_bellefair {
	font-size: 200%;
}

#gallery .clin_lead {
	padding: 10% 3% 7%;
	margin-bottom: 14%;
}
#gallery .clin_lead::before {
	height: 18vw;	/*花びら*/
}
#gallery .clin_lead .ft_min {
	font-size: 120%;
	letter-spacing: .15em;
	line-height: 1.8em;
}
#gallery .clin_lead .ft_min span {
	font-size: 180%;
	letter-spacing: .15em;
	line-height: 1.2em;
	margin-top: .4em;
}
}



/*医院ギャラリー
---------------------------------------------------------*/
#gallery .bg {
	padding-top: 0 !important;
}
#gallery .clin_index .ft_bellefair {
	transform: translateX(-.05em);
}

#gallery .gallery_slide .img_box {
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}
#gallery .gallery_slide .img_box::before {
	content: "";
	display: block;
	padding-top: 58%;	/*高さ*/
}
#gallery .gallery_slide dl {
	width: 90%;
	max-width: 1100px;
	margin: 50px auto 0;
}
#gallery .gallery_slide dt,
#gallery .gallery_slide dd {
	padding-left: 5%;
	padding-right: 5%;
}
#gallery .gallery_slide dt {
	font-size: 155%;
	letter-spacing: .1em;
	line-height: 1.6em;
	padding-bottom: .5em;
	border-bottom: solid 1px #BEBCBC;
	margin-bottom: .3em;
}
#gallery .gallery_slide dt > span {
	display: block;
	padding-left: 1.2em;
	position: relative;
}
#gallery .gallery_slide dt > span::before {
	content: "";
	position: absolute;
	width: .7em;
	height: 3px;
	background: #BF981D;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
#gallery .gallery_slide dd a {
	text-decoration: underline;
}
#gallery .gallery_slide dd a:hover {
	text-decoration: none;
}

#gallery .thumbnail {
	position: relative;
}
#gallery .thumbnail_slide {
	overflow: hidden;
	position: relative;
	z-index: 0;
}
#gallery .thumbnail_slide .slide {
	position: relative;
	overflow: hidden;
	margin: 0 5px;
}
#gallery .thumbnail_slide .slide::before {
	content: "";
	display: block;
	padding-top: 58%;	/*高さ*/
}
#gallery .thumbnail_slide .slide::after {
	content: "";	/*現在地表示*/
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: #422E22;
	opacity: 0.5;
	cursor: pointer;
	transition: opacity 0.4s;
}
#gallery .thumbnail_slide .slide.slick-current::after {
	opacity: 0;
}
#gallery .thumbnail .slide_arrow .slide-arrow {
	position: absolute;
	z-index: 5;
	top: 50%;
	width: 5vw;
	max-width: 66px;
	border-radius: 50%;
	background: #fff url("../images/next1@2x.png") no-repeat center center;
	background-size: contain;
	box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.2);
	transition: all 0.4s;
	cursor: pointer;
}
#gallery .thumbnail .slide_arrow .slide-arrow::before {
	content: "";
	display: block;
	padding-top: 100%;	/*高さ*/
}
#gallery .thumbnail .slide_arrow .slide-arrow:hover {
	box-shadow: none;
}
#gallery .thumbnail .prev-arrow {
	left: 0;
	transform: translate(-50%,-50%) rotate(180deg);
}
#gallery .thumbnail .next-arrow {
	right: 0;
	transform: translate(50%,-50%);
}

/* 画面高さ：900px以下
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-height: 900px) {
#gallery .slide_box {
	margin-bottom: 2vh;
}
#gallery .gallery_slide .img_box {
	width: 100vh;
}
#gallery .thumbnail_slide .slide::before {
	padding-top: 50%;	/*高さ*/
}
#gallery .gallery_slide dl {
	margin-top: 2vh;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#gallery .bg {
	padding-bottom: 12%;
}
#gallery .gallery_slide dl {
	margin-top: 3%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#gallery .bg {
	padding-bottom: 14%;
}
#gallery .clin_index .ft_bellefair {
	transform: translateX(-.05em);
}

#gallery .gallery_slide .img_box {
	width: 100%;
}
#gallery .gallery_slide dl {
	width: 100%;
	margin-top: 5%;
}
#gallery .gallery_slide dt,
#gallery .gallery_slide dd {
	padding-left: 0;
	padding-right: 0;
}
#gallery .gallery_slide dt {
	font-size: 140%;
	letter-spacing: .15em;
	padding-bottom: .3em;
	margin-bottom: .5em;
}

#gallery .thumbnail_slide .slide {
	margin: 0 2px;
}
#gallery .thumbnail .slide_arrow .slide-arrow {
	width: 8vw;
}
}



/*院長挨拶
---------------------------------------------------------*/
#message .bg {
	background: #EAF0D6;
}
#message .pos_box {
	position: relative;
}
#message .pos_box .txt_r {
	width: 62%;
	max-width: 750px;
	margin-left: auto;
	margin-right: 0;
}
#message .pos_box .dr_photo {
	width: 33%;
	max-width: 380px;
	position: absolute;
	left: 0;
	top: 0;
}

#message .clin_index {
	text-align: right;
}
#message .clin_index .ft_bellefair {
	color: #ADC461;
}

#message .pos_box .txt_r .txt {
	min-height: 200px;
}
#message .pos_box .txt_r .txt > dt {
	font-size: 335%;
	font-size: min(335%,4.3vw);
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-bottom: .4em;
}
#message .pos_box .txt_r .txt > dd {
	width: 100%;
	max-width: 690px;
}
#message .pos_box .txt_r .txt > dd a {
	text-decoration: underline;
}
#message .pos_box .txt_r .txt > dd a:hover {
	text-decoration: none;
}
/*準備中テキスト*/
#message .pos_box .txt_r .txt_zyunbi {
	position: absolute;
	left: 0;
}

#message .dr_photo > div {
	overflow: hidden;
	position: relative;
}
#message .dr_photo > div::before {
	content: "";
	display: block;
	padding-top: 100%;	/*高さ*/
}
#message .dr_photo dl {
	display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
	font-size: 145%;
	font-size: min(145%,2.0vw);
	letter-spacing: .1em;
	line-height: 1.2em;
	margin-top: 1.5em;
	position: relative;
}
#message .dr_photo dt {
	margin-right: 1.2em;
}
#message .dr_photo dd .ft_min {
	font-size: 160%;
	letter-spacing: .1em;
	line-height: 1.2em;
}
#message .dr_photo dd .ft_bellefair {
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	top: 100%;
	white-space: nowrap;
	color: #584E2F;
	text-align: center;
	font-size: 75%;
	letter-spacing: .15em;
	line-height: 1.2em;
	padding-top: .6em;
}

#message .profile {
	margin-top: 90px;
	width: 100%;
	max-width: 1100px;
	background: #D8E3B3;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	padding: 50px 5%;
}
#message .profile.flex_box {
	display: flex;
    justify-content: space-between;
}
#message .profile.flex_box > dl {
	width: 48%;
}
#message .profile > dl > dt {
	color: #6C7D30;
	font-size: 115%;
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-bottom: .8em;
}
#message .profile > dl > dd {
	line-height: 1.6em;
}
#message .profile > dl > dd a {
	text-decoration: underline;
}
#message .profile > dl > dd a:hover {
	text-decoration: none;
}
#message .profile .style1 {
	display: flex;
    /*justify-content: space-between;*/
    /*flex-wrap: wrap;*/
}
#message .profile .style1 > dt {
	/*width: 85px;*/
	white-space: nowrap;
	margin-right: 1.0em;
}
#message .profile .style1 > dd {
	/*width: calc(100% - 85px);*/
}
#message .profile .style2 > li {
	padding-left: 1.0em;
	position: relative;
}
#message .profile .style2 > li::before {
	content: "";
	position: absolute;
	width: 6px;
	height: .8em;
	background: #6C7D30;
	left: 0;
	top: .3em;
}
#message .profile .style1,
#message .profile .style2 > li {
	margin-top: .6em;
}
#message .profile .style1:first-of-type,
#message .profile .style2 > li:first-of-type {
	margin-top: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#message .clin_index {
	margin-bottom: 12%;
}

#message .pos_box .txt_r .txt {
	min-height: 20vw;
}
#message .pos_box .txt_r .txt > dt {
	font-size: 4.5vw;
	letter-spacing: .05em;
}

#message .dr_photo dl {
	font-size: 2.2vw;
	letter-spacing: .05em;
}

#message .profile {
	margin-top: 8%;
	padding: 4%;
}
#message .profile > dl > dd {
	font-weight: 90%;
	letter-spacing: normal;
	line-height: 1.6em;
}
/*#message .profile .style1 > dt {
	width: 75px;
}
#message .profile .style1 > dd {
	width: calc(100% - 75px);
}*/
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#message .pos_box .txt_r {
	width: 100%;
	max-width: 100%;
}
#message .pos_box .dr_photo {
	width: 100%;
	max-width: 100%;
	position: static;
	margin-bottom: 14%;
}

#message .pos_box .txt_r .txt {
	min-height: 0;
}
#message .pos_box .txt_r .txt > dt {
	font-size: 180%;
	letter-spacing: .15em;
}
#message .pos_box .txt_r .txt > dd {
	max-width: 100%;
}
/*準備中テキスト*/
#message .pos_box .txt_r .txt_zyunbi {
	position: static;
}

#message .dr_photo > div {
	width: 70%;
	margin: 0 auto;
}
#message .dr_photo dl {
	font-size: 110%;
	letter-spacing: .15em;
	margin-top: .5em;
}	

#message .profile {
	margin-top: 11%;
	padding: 8% 8%;
}
#message .profile.flex_box {
	display: block;
}
#message .profile.flex_box > dl {
	width: 100%;
	margin-top: 8%;
}
#message .profile.flex_box > dl:first-child {
	margin-top: 0;
}
#message .profile > dl > dd {
	letter-spacing: .05em;
	line-height: 1.6em;
}
/*#message .profile .style1 > dt {
	width: 23%;
}
#message .profile .style1 > dd {
	width: 77%;
}*/
#message .profile .style2 > li::before {
	top: .4em;
}
}



/*医院情報
---------------------------------------------------------*/
#information .flex_box {
	display: flex;
    justify-content: space-between;
}
#information .flex_box .box_l {
	width: 50%;
	max-width: 590px;
}
#information .flex_box .box_r {
	width: 46%;
	max-width: 560px;
}

#information .flex_box .box_l .in_box {
	width: 100%;
	max-width: 530px;
	margin-left: auto;
	margin-right: 0;
}
#information .clin_address > dt {
	font-size: 190%;
	font-size: min(190%,2.5vw);
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-bottom: .2em;
	display: flex;
    align-items: center;
}
#information .clin_address > dt span {
	display: block;
	margin-right: .2em;
}
#information .clin_address > dt span img {
	height: 2.0em;
	width: auto;
	max-width: initial !important;
}

#information .clin_timetable {
	margin-top: 20px;
	width: 100%;
}
#information .clin_timetable table {
	font-size: 100%;
	font-size: min(100%,1.3vw);
	line-height: 1.6em;
	width: 100%;
	border-top: solid 1px #BEBCBC;
	border-bottom: solid 1px #BEBCBC;
}
#information .clin_timetable table th,
#information .clin_timetable table td {
	text-align: center;
	font-weight: normal;
	vertical-align: middle;
}
#information .clin_timetable table thead th,
#information .clin_timetable table thead td {
	font-size: 135%;
	line-height: 1.2em;
	padding: .8em 0;
	border-bottom: dashed 1px #422E22;
}
#information .clin_timetable table thead th {
	letter-spacing: .2em;
}
#information .clin_timetable table thead td {
	letter-spacing: normal;
}
#information .clin_timetable table tbody th,
#information .clin_timetable table tbody td {
	padding: .1em 0;
}
#information .clin_timetable table tbody th {
	width: 29.6%;
	text-align: right;
	font-size: 140%;
	letter-spacing: .1em;
	padding-top: .5em;
}
#information .clin_timetable table tbody th span {
	display: inline-block;
	vertical-align: middle;
	font-size: 50%;
	margin: 0 .5em;
	transform: translateY(-.3em);
}
#information .clin_timetable table tbody td {
	width: 7.8%;
	font-size: 110%;
	letter-spacing: normal;
}
#information .clin_timetable table tbody td.space {
	width: 4%;
}
#information .clin_timetable table tbody th i {
	display: inline-block;
	margin: 0 -.4em;
	transform: translateY(.1em);
	opacity: 0.5;
}
#information .clin_timetable .icon-circle {color: #DEC01D;}
#information .clin_timetable .icon-triangle {color: #9E9B9B;}
#information .clin_timetable .icon-batsu {color: #422E22;}

#information .clin_timetable .time_txt {
	margin-top: .8em;
	line-height: 1.6em;
}

#information .flex_box .box_r iframe {
	display: block;
	width: 100%;
	height: 380px;
}
#information .flex_box .box_r .map_link {
	text-align: right;
	font-size: 135%;
	letter-spacing: .15em;
	line-height: 1.2em;
	margin-top: 1.0em;
}
#information .flex_box .box_r .map_link a {
	display: inline-block;
}
#information .flex_box .box_r .map_link a:hover {
	color: #BF981D;
}
#information .flex_box .box_r .map_link a i {
	font-size: 80%;
	margin-left: .2em;
}

#information .clin_contact {
	background: #F6F6F6;
	padding: 50px 3%;
	display: flex;
    justify-content: center;
    align-items: flex-end;
	text-align: center;
}
#information .clin_contact dl {
	text-align: left;
	font-size: 150%;
	font-size: min(150%,2.2vw);
	letter-spacing: .1em;
	line-height: 1.2em;
}
#information .clin_contact dl dd {
	font-size: 210%;
	letter-spacing: .05em;
	line-height: 1.2em;
	margin-top: .2em;
}
#information .clin_contact dl dd span {
	display: block;
	padding-left: .8em;
	position: relative;
}
#information .clin_contact dl dd span::before {
	font-family: 'fontello';
	content: '\e806';
	color: #BF981D;
	font-size: 65%;
	position: absolute;
	left: 0;
	top: 0;
}
#information .clin_contact .btn {
	width: 25%;
	max-width: 250px;
	position: relative;
}
#information .clin_contact .btn::before {
	content: "";
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	opacity: 0;
	transition: opacity 0.8s;
}
#information .clin_contact .btn:hover::before {
	transition: opacity 0.4s;
	opacity: 1;
}
#information .clin_contact .btn a {
	display: block;
	position: relative;
	z-index: 1;
}
#information .clin_contact .btn a::before {
	content: "";
	position: absolute;
	width: 6px;
	height: 6px;
	background: url("../images/clinic/corner@2x.png") no-repeat left top;
	background-size: contain;
	right: 10px;
	bottom: 10px;
}
#information .clin_contact .btn.col_web {
	background: linear-gradient(0deg, rgba(166,132,25,1) 0%, rgba(191,152,29,1) 100%);
}
#information .clin_contact .btn.col_web::before {
	background: linear-gradient(0deg, rgba(191,152,29,1) 0%, rgba(166,132,25,1) 100%);
}
#information .clin_contact .btn.col_line {
	background: linear-gradient(0deg, rgba(6,199,85,1) 0%, rgba(145,224,139,1) 100%);
}
#information .clin_contact .btn.col_line::before {
	background: linear-gradient(0deg, rgba(145,224,139,1) 0%, rgba(6,199,85,1) 100%);
}
#information .clin_contact dl,
#information .clin_contact .btn {
	margin: 0 1.5%;
}

#information .clin_sitelink {
	text-align: center;
	width: 70%;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}
#information .clin_sitelink dt {
	font-size: 135%;
	letter-spacing: .1em;
	line-height: 1.2em;
	margin-bottom: 1.5em;
}
#information .clin_sitelink dt span {
	display: inline-block;
	position: relative;
	padding: 0 1.5em;
}
#information .clin_sitelink dt span::before,
#information .clin_sitelink dt span::after {
	content: "";
	position: absolute;
	width: 1px;
	height: .8em;
	background: #422E22;
	top: .2em;
}
#information .clin_sitelink dt span::before {
	left: 0;
}
#information .clin_sitelink dt span::after {
	right: 0;
}
#information .clin_sitelink dd {
	position: relative;
}
#information .clin_sitelink dd a {
	position: relative;
	z-index: 1;
	display: block;
	background: rgba(78,59,48,0.8);
	color: #fff;
	font-size: 235%;
	letter-spacing: .05em;
	line-height: 1.4em;
	padding: 1.0em 0 1.0em;
}
#information .clin_sitelink dd a:hover {
	background: rgba(78,59,48,0.4);
}
#information .clin_sitelink dd a span {
	display: block;
	width: 65%;
	margin: .5em auto 0;
	font-size: 45%;
	letter-spacing: .15em;
	line-height: 1.2em;
	padding: .7em 0;
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#information .clin_address > dt {
	font-size: 2.7vw;
	letter-spacing: normal;
}
#information .clin_address > dd {
	font-size: 100%;
}

#information .clin_timetable table {
	font-size: 1.5vw;
}
#information .clin_timetable table thead th {
	letter-spacing: .1em;
}
#information .clin_timetable table tbody th {
	letter-spacing: .05em;
}
#information .clin_timetable .time_txt {
	font-size: 100%;
}

#information .clin_contact {
	padding: 4%;
}
#information .clin_contact dl {
	font-size: 2.2vw;
	letter-spacing: .1em;
}
#information .clin_contact .btn {
	width: 27%;
}
#information .clin_contact dl,
#information .clin_contact .btn {
	margin: 0 1%;
}

#information .clin_sitelink dd a {
	font-size: 3.6vw;
}
#information .clin_sitelink dd a span {
	width: 65%;
	margin-top: 1.0em;
	font-size: 55%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#information .flex_box {
	display: block;
}
#information .flex_box .box_l {
	width: 100%;
	max-width: 100%;
	margin-bottom: 8%;
}
#information .flex_box .box_r {
	width: 100%;
	max-width: 100%;
}

#information .flex_box .box_l .in_box {
	max-width: 100%;
}
#information .clin_address > dt {
	font-size: 130%;
	letter-spacing: .05em;
}
#information .clin_address > dd {
	letter-spacing: .05em;
}

#information .clin_timetable {
	margin-top: 6%;
}
#information .clin_timetable table {
	font-size: 80%;
}
#information .clin_timetable table tbody th {
	letter-spacing: .05em;
}

#information .flex_box .box_r iframe {
	height: 260px;
}

#information .clin_contact {
	padding: 8% 4%;
    justify-content: space-between;
    flex-wrap: wrap;
}
#information .clin_contact dl {
	width: 90%;
	font-size: 110%;
	margin: 0 auto .8em;
}
#information .clin_contact dl dd {
	font-size: 250%;
	margin-top: .1em;
}
#information .clin_contact .btn {
	width: 49%;
	max-width: 100%;
	margin: 0;
}

#information .clin_sitelink {
	width: 100%;
	max-width: 100%;
}
#information .clin_sitelink dt {
	font-size: 120%;
	margin-bottom: 1.0em;
}
#information .clin_sitelink dd a {
	font-size: 140%;
	letter-spacing: .05em;
	padding: 1.2em 0 1.5em;
}
#information .clin_sitelink dd a span {
	width: 65%;
	margin-top: 1.0em;
	font-size: 70%;
}
}



/*GROUP CLINIC
---------------------------------------------------------*/
.clin_links .frame_box {
	border-top: solid 1px #BEBCBC;
	padding: 80px 0;
	text-align: center;
}
.clin_links h2 {
	color: #BF981D;
	font-size: 290%;
	letter-spacing: .05em;
	line-height: 1.2em;
}
.clin_links ul {
	width: 100%;
	max-width: 1060px;
	margin: 30px auto 0;
	display: flex;
    flex-wrap: wrap;
}
.clin_links ul > li {
	width: 32.2%;
	margin-right: 1.7%;
	margin-top: 2%;
}
.clin_links ul > li:nth-child(3n) {
	margin-right: 0;
}
.clin_links ul > li:nth-child(-n+3) {
	margin-top: 0;
}
.clin_links ul .com_btn1 {
	text-align: center;
	margin-top: 0;
	width: 100%;
	font-size: 115%;
	font-size: min(115%,1.6vw);
	letter-spacing: .1em;
}
.clin_links ul .com_btn1 span {
	width: 100%;
}
.clin_links ul .com_btn1 svg path {
	stroke: #D9D5D3;
}
.clin_links ul .com_btn1:hover {
	background: #D9D5D3 !important;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.clin_links .frame_box {
	padding: 6% 0;
}
.clin_links h2 {
	font-size: 250%;
}
.clin_links ul {
	margin-top: 3%;
}
.clin_links ul > li {
	width: 32.8%;
	margin-right: 0.8%;
	margin-top: 1%;
}
.clin_links ul .com_btn1 {
	font-size: 1.8vw;
	letter-spacing: normal;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.clin_links .frame_box {
	padding: 8% 0;
}
.clin_links h2 {
	font-size: 160%;
	letter-spacing: .05em;
	line-height: 1.2em;
}
.clin_links ul {
	margin-top: 6%;
    justify-content: space-between;
}
.clin_links ul > li {
	width: 49%;
	margin-right: 0;
	margin-top: 2% !important;
}
.clin_links ul > li:nth-child(-n+2) {
	margin-top: 0 !important;
}
.clin_links ul .com_btn1 {
	font-size: 90%;
	letter-spacing: normal;
	border-color: #D9D5D3;
}
.clin_links ul .com_btn1 a {
	padding: 0;
	height: 4.5em;
}
.clin_links ul .com_btn1 span {
	width: 94%;
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-47%);
}
}



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

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

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