@charset "utf-8";

/********************
	fonts
*********************/
.gk{
	font-family: 'Noto Sans JP', sans-serif;
}

/********************
	section
*********************/
section{
	padding: 60px 30px;
}
.home section{
	padding-top: 100px;
	padding-bottom: 100px;
}


/********************
	width
*********************/
.w1200{
	width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.w1100{
	width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
.w950{
	width: 950px;
	margin-left: auto;
	margin-right: auto;
}

/********************
	button
*********************/
.btn01{
	display: block;
	height: 56px;
	line-height: 50px;
	text-align: center;
	border-width: 3px;
	border-color: #c9c9c9;
	border-style: solid;
	border-radius: 28px;
	color: #868686;
	font-size: 17px;
}
.btn02{
	display: block;
	height: 54px;
	line-height: 54px;
	text-align: center;
	background-color: #eb8454;
	border-radius: 27px;
	color: #fff;
	font-size: 16px;
}

/********************
	title
*********************/
#sitetitle{
	font-size:30px;
}

#pagetitle{
	width: 100%;
	height: 350px;
	-ms-align-items: center;
	align-items: center;
	background: url(../images/internist/pagetitle.jpg) center 0 no-repeat;
	background-size: cover;
	margin-bottom: 60px;
}
.page-id-46 #pagetitle{
	background-image: url(../images/rehabili/pagetitle.jpg);
}
#pagetitle h1{
	text-align: center;
	color: #fff;
	font-size: 82px;
	text-shadow: 0 0 10px rgba(0,0,0,0.7);
}
#pagetitle h1 span{
	display: block;
	font-size: 29px;
	color: #fff;
	text-shadow: 0 0 10px rgba(0,0,0,0.7);
}


.sectitle01{
	color: #ef6e31;
	font-size: 35px;
	text-align: center;
	letter-spacing: 5px;
	margin-bottom: 50px;
}
.sectitle01 span{
	color: #c9c9c9;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 1px;
	display: block;
}



/************************************
* 画像文章レイアウト
************************************/
.box_sideimg{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.box_sideimg > img{
	width: 585px;
	height: 395px;
	object-fit: cover;
	padding: 30px;
	margin: 0;
	position: relative;
	top: -25px;
}
.box_sideimg_text{
	width: 500px;
}
.box_sideimg_text dt{
	color: #626262;
	font-size: 23px;
	text-align: center;
	margin-bottom: 40px;
}
.box_sideimg_text dd p{
	color: #939393;
	font-size: 15px;
	margin-bottom: 40px;
}


.box_link {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 1140px;
	margin: 0 auto;
}
.box_link a{
	display: block;
	width: 48%;
	height: 268px;
	margin-bottom: 40px;
	position: relative;
}
.box_link a img{
	display: block;
	width: 100%;
	height: 268px;
	object-fit: cover;
}
.box_link a:nth-of-type(2){
	background-image: url(../images/home/img03.jpg);
}
.box_link a span{
	display: block;
	width: 100%;
	height: 80px;
	line-height: 75px;
	background-color: #fcbb4f;
	color: #fbfbfb;
	font-size: 27px;
	text-align: center;
	position: absolute;
	left: 0;
	bottom: 0;
}







.layout01 > li{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 100px;
}
.layout01 > li:last-of-type{
	margin-bottom: 0;
}
.layout01 > li:nth-of-type(even){
	flex-direction: row-reverse;
}
.layout01 dl{
	width: 490px;
}
.layout01 dl dt{
	text-align: center;
	font-size: 23px;
	letter-spacing: 3px;
	color: #626262;
	margin-bottom: 30px;
}
.layout01 dl dd{
	color: #939393;
}



/**********************************
 * post
************************************/
.box_postlist{
	display: flex;
	justify-content: center;
}
.box_postlist > div{
	
}
.box_postlist h2{
	-ms-writing-mode: tb-lr;
	writing-mode: vertical-lr;
	color: #ef6e31;
	line-height: 1.4;
	font-size: 34px;
	margin-right: 78px;
}
.box_postlist h2 span{
	color: #c9c9c9;
	font-size: 16px;
	font-weight: 400;
	display: block;
}

.postlist article{
	width: 780px;
	font-size: 18px;
	color: #939393;
	padding: 26px;
	border-top: 2px solid #e5e5e5;
}
.postlist article:last-of-type{
	border-bottom: 2px solid #e5e5e5;
}
.postlist article .date{
	margin-right: 26px;
}
.postlist article .title{
	width: 560px;
}

.box_postlist a.btn01 {
    width: 60%;
    margin: 0 auto;
    max-width: 100%;
    margin-top: 35px;
}




/************************************
** レスポンシブページネーション
************************************/
.pagenation{
  list-style-type: none;
  padding-left: 0;
  margin: 30px 0;
}
 
.pagenation,
.pagenation li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
 
.pagenation a {
  font-weight: 300;
  padding-top: 1px;
  text-decoration:none;
  border: 1px solid #ddd;
  border-left-width: 0;
  min-width:36px;
  min-height:36px;
  color: #333;
}
 
.pagenation li:not([class*="current"]) a:hover {
  background-color: #eee;
}
 
.pagenation li:first-of-type a {
  border-left-width: 1px;
}
 
.pagenation li.first span,
.pagenation li.last span,
.pagenation li.prev span,
.pagenation li.next span {
  /* screen readers only */
  position: absolute;
  top: -9999px;
  left: -9999px;
}
 
.pagenation li.first a::before,
.pagenation li.last a::after,
.pagenation li.prev a::before,
.pagenation li.next a::after {
  display: inline-block;
  font-family: Fontawesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: translate(0, 0);
}
 
.pagenation li.first a::before { content: "\f100"; }
.pagenation li.last a::after { content: "\f101"; }
 
.pagenation li.prev a::before { content: "\f104"; }
.pagenation li.next a::after { content: "\f105"; }
 
.pagenation li.current a {
 background-color: #ddd;
 cursor: default;
 pointer-events: none;
}
 
.pagenation > li:first-child > a {
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}
 
.pagenation > li:last-child > a {
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
}
 
@media only screen and ( max-width: 680px ) {
  .pagenation li.first,
  .pagenation li.last {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
 
  .pagenation li.prev a { border-left-width: 1px; }
}
 
@media only screen and ( max-width: 500px ) {
  .pagenation li {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
 
  .pagenation li.current,
  .pagenation li.first,
  .pagenation li.last,
  .pagenation li.prev,
  .pagenation li.next{
    position: initial;
    top: initial;
    left: initial;
  }
 
  .pagenation li.prev a { border-left-width: 0; }
}
 
@media only screen and ( max-width: 400px ) {
  .pagenation li.first,
  .pagenation li.last {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
 
  .pagenation li.prev a { border-left-width: 1px; }
}
 
@media only screen and ( max-width: 240px ) { /* For watches? */
  .pagenation li { width: 50%;}
 
  .pagenation li.current {
    order: 2;
    width: 100%;
    border-left-width: 1px;
  }
}