@charset "UTF-8";


/*メインイメージ
---------------------------------------------------------*/
.cover{
	background:url(../images/top/m_bg@2x.jpg) no-repeat center center;
	background-size: 100% 100%;
	text-align: center;
}
.cover::before{
	content: "";	/* 高さ、メインイメージ */
	display: block;
	padding-top: 540px;
	background: url(../images/top/m_img@2x.png.webp) no-repeat center center;
	background-size: auto 100%;
}

.top_bnr_line{
	width: 94%;
	max-width: 950px;
	margin: 30px auto 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1600px) {
.cover::before{
	padding-top: 51%;
	background-position: left center;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.cover{
	background: none;
}
.cover::before{
	display: none;
}

.top_bnr_line{
	margin: 6% auto;
}
}





/*sp_menu
---------------------------------------------------------*/
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.sp_main_menu{
	position: relative;
	z-index: 1;
}
.sp_main_menu ul{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
.sp_main_menu li {
	text-align: left;
	width:50%;
	box-sizing: border-box;
	border-right: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
	background: #103973;
background: -moz-linear-gradient(top,  #103973 0%, #123153 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#103973), color-stop(100%,#123153));
background: -webkit-linear-gradient(top,  #103973 0%,#123153 100%);
background: -o-linear-gradient(top,  #103973 0%,#123153 100%);
background: -ms-linear-gradient(top,  #103973 0%,#123153 100%);
background: linear-gradient(to bottom,  #103973 0%,#123153 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#103973', endColorstr='#123153',GradientType=0 );
}	
.sp_main_menu li:nth-child(even){
	border-right: none;
}	
.sp_main_menu li.bnr_width {
	width: 100%;
	border-right: none;
}
.sp_main_menu li a{
	display:block;
	text-decoration: none;
	color:#ffffff;
	background:url(../images/btn_arrow_sp.png) no-repeat 95% center;
	background-size: .4em auto;
	padding: .8em 5%;
	font-weight: normal;
	font-size: 100%;
	letter-spacing: 0.05em;
}
.sp_main_menu li a small {
	font-size: 80%;
}
.sp_main_menu li.bnr_width a {
	padding-left: 2.5%;
	padding-right: 2.5%;
	background-position: 97.5% center;
}
.sp_main_menu .sp_med_menu {
	display: none;	/* 初期表示 */
}
.sp_main_menu .sp_med_menu li {
	font-size: 90%;
	letter-spacing: normal;
background: rgb(255,255,255);
background: -moz-linear-gradient(top,  rgba(255,255,255,1) 0%, rgba(246,246,246,1) 100%);
background: -webkit-linear-gradient(top,  rgba(255,255,255,1) 0%,rgba(246,246,246,1) 100%);
background: linear-gradient(to bottom,  rgba(255,255,255,1) 0%,rgba(246,246,246,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f6f6f6',GradientType=0 );
}	
.sp_main_menu .sp_med_menu a {
	color: #113667;
	line-height: 1.4em;
}		
}



/*クリニック移転のお知らせ
---------------------------------------------------------*/
.iten {
	font-size: 115%;
	padding: 35px 30px;
	border-top: 2px solid #BFAB79;
	border-bottom: 2px solid #BFAB79;
	margin: 50px 0;
	position: relative;
}
.iten::before,.iten::after {
	position: absolute;
	content: "";
	background: #BFAB79 no-repeat;
	width: 100%;
	height: 1px;
	left: 0;
}
.iten::before {
	top: 6px;
}
.iten::after {
	bottom: 6px;
}
.iten h2 {
	margin: 1em 0 2em;
}
.iten h2 span {
	display: inline-block;
	position: relative;
}
.iten h2 span::after {
	position: absolute;
	content: "";
	background: rgba(191,171,121,0.5) no-repeat center bottom;
	width: 102%;
	height: 60%;
	top: 55%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 0;
}
.iten h2 span img {
	position: relative;
	z-index: 1;
}
.iten .flt_l {
	width: 54%;
	line-height: 1.6;
}
.iten .flt_l p:first-of-type,
.iten .flt_l ul {
	margin-bottom: 1.8em;
}
.iten .flt_l ul li:not(:last-of-type) {
	margin-bottom: 1em;
}
.iten .flt_l ul li dl {
	display: flex;
}
.iten .flt_l ul li dt {
	color: #1B1464;
	font-weight: bold;
	width: 6em;
}
.iten .flt_l ul li dd {
	width: calc(100% - 6em);
}
.iten .flt_r {
	width: 42%;
}

.iten .asterisk {
	font-size: 88%;
}

/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1100px) {
	
.iten {
	font-size: 1.5vw;
}
	
}

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

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
	
.iten {
	font-size: 90%;
	padding: 10% 3%;
}
.iten h2 {
	text-align: center;
	margin-top: 0;
}
.iten h2 span::after {
	height: 50%;
	top: 50%;
}
.iten p {
	line-height: 1.5;
}
.iten p:first-of-type,
.iten .flt_l ul {
	margin-bottom: 1.5em;
}

.iten .flt_l ul li dl {
	display: block;
}
.iten .flt_l ul li dt,
.iten .flt_l ul li dd {
	width: 100%;
}

}



/*5つの安心
---------------------------------------------------------*/
.com_inbox {
	max-width: 700px;
}
.com_inbox.w820 {
	max-width: 820px;
}
.anshin{
	margin: 0 auto 50px;
	padding-top: 30px;
}

.anshin ul{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	text-align: left;
}
.anshin li{
	width: 32%;
	max-width: 210px;
	margin-top:20px;
	color:#666;
	font-size:95%;
	line-height:140%;
}
.anshin li dt {
	margin-bottom:10px;
}

.anshin .doctor {
	background:#FAF9F1;
	border-bottom:solid 1px #E3D9D1;
}
.anshin .doctor p{
	padding:15px 10px;
	color:#926C00;
	line-height: 1.6em;
}
.anshin .doctor strong{
	display:block;
	font-size:130%;
	color:#463F1F;
	padding-bottom: .4em;
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.anshin{
	padding-top: 6%;
	margin-bottom: 10%;
}
.anshin li{
	max-width: 100%;
	width:48%;
	margin-top:5%;
}
.anshin li dt {
	margin-bottom: 3%;
}
.anshin .doctor p{
	padding:5%;
	font-size:80%;
}
.anshin .doctor strong{
	font-size:120%;
}
}



/*メディア情報
---------------------------------------------------------*/
.media_box{
	background: rgba(0,0,0,0.05);
	margin-top: 10px;
}
.media_box .media_tit{
	background: -moz-linear-gradient(left,  rgba(87,64,17,1) 0%, rgba(87,64,17,0) 100%);
	background: -webkit-linear-gradient(left,  rgba(87,64,17,1) 0%,rgba(87,64,17,0) 100%);
	background: linear-gradient(to right,  rgba(87,64,17,1) 0%,rgba(87,64,17,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#574011', endColorstr='#00574011',GradientType=1 );
	color: #fff;
	padding: 0.5em 5%;
	font-size: 120%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
}
.media_box .media_news{
	padding: 25px 5% 60px;
}
.media_box .media_news > dl {
	padding-left: 15px;
	font-size: 120%;
	letter-spacing: 0.05em;
	line-height: 1.5em;
	color: #F15A24;
	margin-bottom: 1em;
	position: relative;
}
.media_box .media_news > dl::before{
	position: absolute;
	content: "";
	background: rgb(163,129,44);
	background: -moz-linear-gradient(top,  rgba(163,129,44,1) 0%, rgba(72,58,2,1) 100%);
	background: -webkit-linear-gradient(top,  rgba(163,129,44,1) 0%,rgba(72,58,2,1) 100%);
	background: linear-gradient(to bottom,  rgba(163,129,44,1) 0%,rgba(72,58,2,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a3812c', endColorstr='#483a02',GradientType=0 );
	width: 3px;
	height: 100%;
	left: 0;
	top:0;
}
.media_box .media_news > dl dd{
	font-size: 125%;
	letter-spacing: 0.05em;
	line-height: 1.5em;
	font-weight: bold;
	color: #483A02;
}
.media_box .media_news .img_r{
	max-width: 340px;
	width: 47%;
	float: right;
	position: relative;
}
.media_box .media_news .img_r::before{
	position: absolute;
	content: "";
	background: url(../images/top/media_img_abs@2x.png) no-repeat right top;
	background-size: 100% auto;
	width: 100%;
	height: 230px;
	right: 0;
	top:0;
}
.media_box .media_news .txt_l{
	width: 49%;
	float: left;
}
.media_box .media_news .txt_l > li{
	border-top: 1px solid rgba(72,58,2,0.50);
	padding-top: 20px;
	margin-top: 20px;
}
.media_box .media_news .txt_l > li:first-child{
	border-top: none;
	padding-top: 0;
	margin-top: 0;
}
.media_box .media_news .txt_l > li p{
	padding-left: 7.5em;
	text-indent: -0.5em;
	box-sizing: border-box;
	position: relative;
}
.media_box .media_news .txt_l > li p::before{
	position: absolute;
	content: "";
	background: url(../images/top/tv1@2x.png) no-repeat left center;
	background-size: 100% auto;
	width: 5.7em;
	height:4.7em;
	left: 0;
	top:50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.media_box .media_news .txt_l > li:last-child p::before{
	background-image: url(../images/top/tv2@2x.png) ;
	height:2.2em;
}
.media_box .media_news .media_link{
	max-width: 490px;
	margin: 50px auto 0;
}
.media_box .media_news .media_link a{
	background: #454545 url(../images/top/media_link_bg@2x.png) no-repeat right center;
	display: block;
	text-align: right;
	background-size: auto 100%;
	color: #FFF4D4;
	font-weight: bold;
	font-size: 120%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	padding: 1.2em 2%;
	position: relative;
}
.media_box .media_news .media_link a::before{
	position: absolute;
	content: "";
	background: url(../images/top/media_link_abs@2x.png) no-repeat left center;
	background-size: 100% auto;
	width: 17em;
	height: 10em;
	left: -4em;
	top:70%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.media_box .media_news .media_link a span{
	padding-right: 2em;
	box-sizing: border-box;
	position: relative;
}
.media_box .media_news .media_link a span::before{
	position: absolute;
	content: "";
	background: url(../images/top/media_arrow@2x.png) no-repeat right center;
	background-size: 100% auto;
	width: 6px;
	height: 7px;
	right: 0;
	top:50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1133px) {
.media_box .media_news{
	padding-bottom: 5.5vw;
}
.media_box .media_news .media_link{
	max-width: 450px;
	margin: 9% auto 0;
}
.media_box .media_news .media_link a{
	font-size: 110%;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1041px) {
.media_box .media_news .txt_l > li p{
	padding-left: 7em;
}
.media_box .media_news .media_link{
	margin: 9% auto 0 4em;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.media_box{
	margin-top: 2%;
}
.media_box .media_tit{
	font-size: 120%;
	padding: 0.5em 4%;
}
.media_box .media_news{
	padding: 2% 4% 7.5vw;
}
.media_box .media_news > dl {
	font-size: 115%;
}

.media_box .media_news .txt_l > li{
	padding-top: 4%;
	margin-top: 4%;
}
.media_box .media_news .media_link{
	max-width: 450px;
	margin: 8% auto 0;
}
.media_box .media_news .media_link a{
	font-size: 110%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.media_box{
	margin-top:4%;
}
.media_box .media_tit{
	font-size: 100%;
	padding: 0.3em 5%;
}
.media_box .media_news{
	padding: 5%;
}
.media_box .media_news > dl {
	font-size: 90%;
	padding-left: 10px
}
.media_box .media_news > dl::before{
	width: 2px;
}
.media_box .media_news .txt_l > li{
	padding-top: 4%;
	margin-top: 4%;
}
.media_box .media_news .img_r{
	width: 80%;
	float: none;
	margin: 0 auto 1.8em;
}
.media_box .media_news .txt_l{
	width: 100%;
	float: none;
	font-size: 90%;
	line-height: 1.4em;
}
.media_box .media_news .txt_l > li p{
	padding-left: 5.5em;
}
.media_box .media_news .txt_l > li p::before{
	width: 4.7em;
	height:3.8em;
}
.media_box .media_news .txt_l > li:last-child p::before{
	height:1.8em;
}
.media_box .media_news .media_link{
	max-width: 100%;
	margin: 8% auto 0;
}
.media_box .media_news .media_link a{
	font-size:95%;
	letter-spacing: 0.05em;
}
.media_box .media_news .media_link a::before{
	width: 9.1em;
	height: 5.4em;
	left: -7%;
	top:58%;
}
.media_box .media_news .media_link a span{
	padding-right: 0.8em;
}
.media_box .media_news .media_link a span::before{
	width: 0.3em;
	height: 0.35em;
}
}



/*バナーリスト
---------------------------------------------------------*/
.c_bnr {
margin-bottom: 4%;
}
.c_bnr li {
	text-align:center;
	margin-bottom:25px;
}
.c_bnr li:last-child {
	margin-bottom: 0;
}

.site_attention {
	padding-top: 2em;
}
.site_attention dt {
	color: #2650C5;
	font-weight: bold;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.c_bnr li{
	margin-bottom:3%;
}	
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.c_bnr {
margin-bottom: 2%;
}
.c_bnr li{
	text-align:center;
	margin: 0 auto 2%;
	width:100%;
}
.site_attention {
	padding-top: 1.5em;
}
.site_attention dd {
	font-size: 90%;
	line-height: 1.6em;
}
	
}




/*magazine
---------------------------------------------------------*/
.magazine {
	margin-top:30px;
	border-top:solid 1px #CCC;
	padding: 40px 3% 0;
}
.magazine .btnDeco a{
	padding: .8em 1.5em;
	padding-right: 2.5em;
	color: #333 !important;
	font-weight: normal;
	line-height: 100%;
}
.magazine .btnDeco a::before {
	content: '\e805';
	color: #2550C5;
	font-size: 70%;
	right: .5em;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.magazine .btnDeco:hover{
	border-color: #1F3D6B;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	transition: 0.7s;
}
.magazine .btnDeco a:hover{
	color: #1F3D6B !important;
}

.magazine .title_box {
	display: -webkit-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
	margin-bottom: 30px;
}

.magazine .txt_small {
	color: #666;
	font-size: 90%;
	letter-spacing: normal;
	line-height: 1.6em;
	margin-bottom: 30px;
}

.magazine .box_list {
	display: -webkit-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
.magazine .box_list > div {
	margin-bottom: 50px;
	width: 48%;
}
.magazine .box_list .cat_title {
	display: -webkit-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
	padding: 1.0em 3%;
	position: relative;
}
.magazine .box_list > div .cat_title {
background: rgb(16,49,86);
background: -moz-linear-gradient(left,  rgba(16,49,86,1) 0%, rgba(21,71,143,1) 100%);
background: -webkit-linear-gradient(left,  rgba(16,49,86,1) 0%,rgba(21,71,143,1) 100%);
background: linear-gradient(to right,  rgba(16,49,86,1) 0%,rgba(21,71,143,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#103156', endColorstr='#15478f',GradientType=1 );
}
.magazine .box_list > div:nth-child(4n-2) .cat_title,
.magazine .box_list > div:nth-child(4n-1) .cat_title {
background: rgb(11,96,128);
background: -moz-linear-gradient(left,  rgba(11,96,128,1) 0%, rgba(46,153,199,1) 100%);
background: -webkit-linear-gradient(left,  rgba(11,96,128,1) 0%,rgba(46,153,199,1) 100%);
background: linear-gradient(to right,  rgba(11,96,128,1) 0%,rgba(46,153,199,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0b6080', endColorstr='#2e99c7',GradientType=1 );
}
.magazine .box_list .cat_title::before {
	content: "";
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: url("../images/top/mgzn_title@2x.png") no-repeat left bottom;
	background-size: 80px auto;
}
.magazine .box_list .cat_title h3 {
	width: calc(100% - 110px);
	color: #fff;
	font-size: 150%;
	font-weight: bold;
	letter-spacing: normal;
	line-height: 1.4em;
	position: relative;
	z-index: 1;
}
.magazine .box_list .cat_title .btnDeco {
	position: relative;
	z-index: 1;
	font-size: 90%;
	border-radius: 50px;
}
.magazine .box_list .cat_title .btnDeco a {
	padding: .6em 1.5em;
	padding-right: 2.0em;
}

.magazine .box_list li,
.magazine .box_list .no_txt {
	margin-top: 30px;
}
.magazine .box_list li {
	display: -webkit-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
}
.magazine .box_list li .img_thumbnail {
	width: 37%;
	position: relative;
	background: #666;
	overflow: hidden;
}
.magazine .box_list li .img_thumbnail::before {
	content: "";	/* 高さ */
	display: block;
	padding-top: 65%;
}
.magazine .box_list li .img_thumbnail div {
	display: block;
	position: absolute;
	width: 100%;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	transition: 0.7s;
}
.magazine .box_list li:hover .img_thumbnail div {
	width: 110%;
	-webkit-transition: 0.4s;
	-moz-transition: 0.4s;
	transition: 0.4s;
}
.magazine .box_list li dl {
	width: 60%;
}
.magazine .box_list li dt {
	font-size: 120%;
	font-weight: bold;
	letter-spacing: .05em;
	line-height: 1.4em;
	margin-bottom: .5em;
}
.magazine .box_list li dt a {
	color: #926C00;
}
.magazine .box_list li:hover dt a {
	color: #1F3D6B;
}
.magazine .box_list li .txt_date {
	margin-top: .5em;
	font-size: 110%;
	letter-spacing: .05em;
	line-height: 1.2em;
}
.magazine .box_list li .txt_date span {
	display: inline-block;
	font-size: 80%;
	color: #666;
	letter-spacing: .05em;
	line-height: 1.2em;
	margin-left: 1.0em;
}

/* 1200px以下
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1200px) {
.magazine .box_list .cat_title {
	font-size: 1.2vw;
	letter-spacing: normal;
}
.magazine .box_list .cat_title h3 {
	width: 65%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.magazine {
	margin-top: 4%;
	padding-top: 4%;
}
.magazine .title_box {
	margin-bottom: 3%;
}
.magazine .box_list > div {
	margin-bottom: 3%;
}
.magazine .box_list .cat_title {
	font-size: 100%;
}
.magazine .box_list .cat_title h3 {
	font-size: 130%;
}
.magazine .box_list li,
.magazine .box_list .no_txt {
	margin-top: 5%;
}
.magazine .box_list li .txt_date span {
	display: block;
	margin: .4em 0 0;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.magazine {
	margin-top:0;
	padding: 8% 3%;
	border-top:none;
	border-bottom:solid 1px #CCC;
	text-align: left;
}

.magazine .title_box {
	margin-bottom: 6%;
}
.magazine .title_box h2 {
	width: 65%;
}
.magazine .title_box .btnDeco {
	font-size: 70%;
}

.magazine .box_list {
	display: block;
}
.magazine .box_list > div {
	margin-bottom: 6%;
	width: 100%;
}
.magazine .box_list .cat_title {
	padding: .6em 3%;
}
.magazine .box_list > div:nth-child(odd) .cat_title {
background: rgb(16,49,86);
background: -moz-linear-gradient(left,  rgba(16,49,86,1) 0%, rgba(21,71,143,1) 100%);
background: -webkit-linear-gradient(left,  rgba(16,49,86,1) 0%,rgba(21,71,143,1) 100%);
background: linear-gradient(to right,  rgba(16,49,86,1) 0%,rgba(21,71,143,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#103156', endColorstr='#15478f',GradientType=1 );
}
.magazine .box_list > div:nth-child(even) .cat_title {
background: rgb(11,96,128);
background: -moz-linear-gradient(left,  rgba(11,96,128,1) 0%, rgba(46,153,199,1) 100%);
background: -webkit-linear-gradient(left,  rgba(11,96,128,1) 0%,rgba(46,153,199,1) 100%);
background: linear-gradient(to right,  rgba(11,96,128,1) 0%,rgba(46,153,199,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0b6080', endColorstr='#2e99c7',GradientType=1 );
}
.magazine .box_list .cat_title::before {
	background-size: 15% auto;
}
.magazine .box_list .cat_title h3 {
	width: 65%;
	font-size: 120%;
	letter-spacing: normal;
}
.magazine .box_list .cat_title .btnDeco {
	font-size: 80%;
}

.magazine .box_list ul {
	display: -webkit-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.magazine .box_list li,
.magazine .box_list .no_txt {
	margin-top: 5%;
}
.magazine .box_list li {
	display: block;
	width: 48%;
}
.magazine .box_list li .img_thumbnail {
	width: 100%;
	margin: 0 auto .5em;
}
.magazine .box_list li dl {
	width: 100%;
}
.magazine .box_list li dt {
	font-size: 100%;
	letter-spacing: normal;
}
.magazine .box_list li .txt {
	display: none;
}
.magazine .box_list li .txt_date {
	font-size: 90%;
	letter-spacing: .05em;
}
.magazine .box_list li .txt_date span {
	display: block;
	margin: .4em 0 0;
}
}



/* 移転のお知らせ
---------------------------------------------------------*/
.bnr_box{
width: 100%;
margin: 30px auto;
}
.bnr_box img{
max-width: 100%;
height: auto;
width: auto\9;
border-top-style: none;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
vertical-align: middle;
}
.bnr_box .iten_title{
margin:0 auto 20px;
text-align: center;
width: 40%;
}
.bnr_box .iten_bnr{
background: rgb(213,184,126);
background: -moz-linear-gradient(top, rgba(213,184,126,1) 0%, rgba(243,222,177,1) 50%, rgba(213,184,126,1) 100%);
background: -webkit-linear-gradient(top, rgba(213,184,126,1) 0%,rgba(243,222,177,1) 50%,rgba(213,184,126,1) 100%);
background: linear-gradient(to bottom, rgba(213,184,126,1) 0%,rgba(243,222,177,1) 50%,rgba(213,184,126,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d5b87e', endColorstr='#d5b87e',GradientType=0 );
padding: 2px;
box-sizing: border-box;
}
.bnr_box .iten_bnr dl{
background: #fff;
display: table;
}

.bnr_box .iten_bnr dt{
width: 30%;
padding: 15px 1%;
background: #e1c07f;
text-align: center;
box-sizing: border-box;
display: table-cell;
vertical-align: middle;

}
.bnr_box .iten_bnr dd{
width:60%;
padding: 15px 2.5%;
box-sizing: border-box;
display: table-cell;
vertical-align: middle;
}
.bnr_box .iten_bnr .access2{
margin: 10px 0 10px;
}
.bnr_box .iten_bnr .access span{
margin: 0 .5em 0 0;
background: #e1c07f;
padding: 0 15px;
color: #fff;
display: inline-block;
}
.bnr_box .iten_bnr dd .txt {
	font-size: 90%;
	line-height: 1.6em;
}

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

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.bnr_box{
margin: 8% auto;
}
.bnr_box .iten_title{
margin:0 auto 3%;
width: 60%;
}
.bnr_box .iten_bnr dl{
background: #fff;
display: block;
}

.bnr_box .iten_bnr dt{
width: 100%;
padding: 10px 8%;
display: block;
text-align: center;
}
.bnr_box .iten_bnr dt img{
width: 70%;
margin: 0 auto;
}
.bnr_box .iten_bnr dd{
width:100%;
padding: 10px 3%;
display: block;
font-size: 90%;
line-height: 1.6em;
}

.bnr_box .iten_bnr .access span{
margin: 0 .5em .3em 0;
}
.bnr_box .iten_bnr .txt{
font-size: 96%;
}
}



/* クリニック名変更のお知らせ
------------------------------------------*/
.bnr_box2{
	width: 100%;
	margin: 30px auto 0;
}
.bnr_box2 img{
	max-width: 100%;
	height: auto;
	width: auto\9;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	vertical-align: middle;
}
.bnr_box2 .iten_title{
	margin:0 auto -2px;
	text-align: center;
	width: 100%;
	max-width:492px;
}
.bnr_box2 .iten_bnr{
	padding: 2px;
	box-sizing: border-box;
}
.bnr_box2 .iten_bnr dl{
	display: table;
	background: rgba(189,147,58,0.10);
}

.bnr_box2 .iten_bnr dt{
	width: 40%;
	padding: 15px 2%;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#69591b+0,968545+100 */
	background: #69591b; /* Old browsers */
	background: -webkit-linear-gradient(left, #69591b 0%, #968545 100%);
	background: -o-linear-gradient(left, #69591b 0%, #968545 100%);
	background: linear-gradient(to right, #69591b 0%, #968545 100%); /* FF3.6-15 */ /* Chrome10-25,Safari5.1-6 */ /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#69591b', endColorstr='#968545',GradientType=1 ); /* IE6-9 */
	text-align: center;
	box-sizing: border-box;
	display: table-cell;
	vertical-align: middle;
}
.bnr_box2 .iten_bnr dd{
	width: 60%;
	padding: 15px 3%;
	box-sizing: border-box;
	display: table-cell;
	vertical-align: middle;
}
.bnr_box2 .iten_bnr dd .tit{
	color: #823800;
	font-size: 115%;
	font-weight:bold;
	line-height:1.6em;
	margin-bottom: .5em;
}
.bnr_box2 .iten_bnr dd .txt{
	font-size: 100%;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.bnr_box2{
	margin: 5% auto 0;
}
.bnr_box2 .iten_bnr dt{
	width: 40%;
}
.bnr_box2 .iten_bnr dd{
	width: 60%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.bnr_box2{
	margin: 8% auto 0;
}
.bnr_box2 .iten_bnr dl{
	display: block;
}
.bnr_box2 .iten_bnr dt{
	width: 100%;
	padding: 4% 5% 5%;
	display: block;
}
.bnr_box2 .iten_bnr dd{
	width: 100%;
	padding: 15px 3%;
	display: block;
}
.bnr_box2 .iten_bnr dd .tit{
	font-size: 105%;
	line-height:1.6em;
	margin-bottom: .5em;
}
}




/*
---------------------------------------------------------*/
#lp_pagetop {display: none !important;}




/*LINEポップアップ
---------------------------------------------------------*/
.popup {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: .6s;
}
.popup.is-show {
  opacity: 1;
  visibility: visible;
}
.popup.close {
	display: none !important;
}
.popup-inner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 90%;
  max-width: 600px;
  box-sizing: border-box;
  padding: 2.0em 0 0;
  z-index: 2;
}
.close-btn {
  position: absolute;
  right: 0;
  top: 0;
  width: 1.5em;
  height: 1.5em;
	background: url(../images/close.png) no-repeat center center;
	background-size: contain;
}
.black-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255,255,255,.8);
  z-index: 1;
  cursor: pointer;
}



/* コロナ対策 */
.inf_corona {
	width: 94%;
	max-width: 700px;
	margin: 2.0em auto .5em;
}
.inf_corona a {
	display: block;
	border: solid 1px #ed1c24;
	text-align: center;
	background: #fff;
	color: #ed1c24;
	font-size: 120%;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.2em;
}
.inf_corona a:hover {
	background: #eddadb;
}
.inf_corona strong {
	text-decoration: underline;
}
.inf_corona span {
	display: inline-block;
	padding: 1.0em 0;
	padding-left: 2.8em;
	background: url(../images/icon_pdf@2x.png) no-repeat left center;
	background-size: 2.0em auto;
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.inf_corona {
	margin-top: 3%;
	margin-bottom: 3%;
}
.inf_corona a {
	font-size: 110%;
	letter-spacing: .05em;
}
.inf_corona span {
	display: block;
	padding: .6em 0;
	padding-left: 2.5em;
	background-position: 3% center;
	background-size: 1.8em auto;
}
}



.comment {
	width: 94%;
	max-width: 1000px;
	margin: 3% auto 0;
	box-sizing: border-box;
	border: solid 2px #2650C5;
	padding: 30px 4%;
	/*color: #c1272d;*/
	font-size: 120%;
	font-family: dnp-shuei-mincho-pr6,serif;
	font-weight: 500;
	font-style: normal;
	line-height: 1.8em;
	color: #222222;
}
.comment dt {
	font-size: 110%;
	line-height: 1.6em;
	margin-bottom: .5em;
}
.comment .comment_date {
	display: block;
	font-size: 90%;
	text-align: right;
	margin-top: .5em;
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.comment {
	padding: 4%;
	font-size: 90%;
}
.comment dd p:first-of-type {
	text-align: left;
}
	
}

/* 拠点・エリア案内セクション (名古屋院・大阪院) */
.top-clinic-branches {
  margin: 35px auto 45px;
  max-width: 950px;
  width: 94%;
}

.top-clinic-branches__heading {
  text-align: center;
  margin-bottom: 25px;
}

.top-clinic-branches__heading h2 {
  font-size: 26px;
  font-weight: bold;
  color: #10345f;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
  position: relative;
  display: inline-block;
  padding-bottom: 12px;
}

.top-clinic-branches__heading h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: #bfab79;
}

.top-clinic-branches__heading p {
  font-size: 14px;
  color: #555;
  letter-spacing: 0.05em;
  margin: 0;
}

.top-clinic-branches__grid {
  display: flex;
  justify-content: space-between;
  gap: 24px;
}

.top-clinic-card {
  flex: 1;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(16, 52, 95, 0.08);
  border: 1px solid #e2e8f0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.top-clinic-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(16, 52, 95, 0.14);
}

.top-clinic-card__header {
  background: linear-gradient(135deg, #10345f 0%, #1a4d8c 100%);
  color: #fff;
  padding: 16px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.top-clinic-card__header.osaka-header {
  background: linear-gradient(135deg, #0d2c52 0%, #164177 100%);
}

.top-clinic-card__header h3 {
  font-size: 19px;
  font-weight: bold;
  margin: 0;
  color: #fff;
  letter-spacing: 0.05em;
}

.top-clinic-card__badge {
  background: #bfab79;
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  padding: 4px 10px;
  border-radius: 20px;
  letter-spacing: 0.05em;
}

.top-clinic-card__body {
  padding: 20px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.top-clinic-card__access {
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px dashed #e2e8f0;
}

.top-clinic-card__access-line {
  display: flex;
  align-items: flex-start;
  margin-bottom: 6px;
  font-size: 13.5px;
  color: #222;
  font-weight: 500;
}

.top-clinic-card__access-line span.icon {
  color: #bfab79;
  margin-right: 6px;
  font-weight: bold;
}

.top-clinic-card__access-sub {
  font-size: 12px;
  color: #666;
  line-height: 1.5;
  margin: 0;
}

.top-clinic-card__treatments-title {
  font-size: 13px;
  font-weight: bold;
  color: #10345f;
  margin-bottom: 10px;
}

.top-clinic-card__treatments {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-bottom: 20px;
}

.top-clinic-card__treatments a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  padding: 8px 10px;
  font-size: 12.5px;
  font-weight: 500;
  color: #333;
  text-decoration: none;
  transition: all 0.2s ease;
}

.top-clinic-card__treatments a:hover {
  background: #f0f7ff;
  border-color: #9cc2d9;
  color: #10345f;
}

.top-clinic-card__treatments a::after {
  content: "›";
  font-size: 16px;
  color: #bfab79;
  font-weight: bold;
  line-height: 1;
}

.top-clinic-card__btn {
  margin-top: auto;
}

.top-clinic-card__btn a {
  display: block;
  text-align: center;
  background: #bfab79;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  padding: 12px;
  border-radius: 6px;
  text-decoration: none;
  letter-spacing: 0.05em;
  transition: background 0.2s ease;
}

.top-clinic-card__btn a:hover {
  background: #a89462;
  color: #fff;
}

/* サイドバーの2拠点リンクボタンスタイル */
.frontpage .side .medicalList .side_branches_links {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
}

.frontpage .side .medicalList .side_branches_links a {
  margin-left: 0 !important;
  font-size: 11.5px !important;
  padding: 3px 8px 3px 6px !important;
  background: #f1f5f9;
  border-radius: 4px;
  border: 1px solid #cbd5e1;
  color: #10345f !important;
  line-height: 1.3em;
  text-decoration: none;
  transition: all 0.2s ease;
}

.frontpage .side .medicalList .side_branches_links a:hover {
  background: #10345f;
  color: #fff !important;
  border-color: #10345f;
}

.frontpage .side .medicalList .side_branches_links a::before {
  font-size: 70%;
  top: -1px;
}

@media only screen and (max-width: 767px) {
  .top-clinic-branches {
    width: 92%;
    margin: 24px auto 30px;
  }
  .top-clinic-branches__heading h2 {
    font-size: 19px;
  }
  .top-clinic-branches__heading p {
    font-size: 13px;
  }
  .top-clinic-branches__grid {
    flex-direction: column;
    gap: 20px;
  }
  .top-clinic-card__header h3 {
    font-size: 17px;
  }
  .top-clinic-card__body {
    padding: 16px;
  }
}