@charset "utf-8";

/* ----------------------------------------------------------------
Utility
----------------------------------------------------------------- */

/**
 * Reset
 */

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,textarea,p,a,blockquote,th,td { margin: 0; padding: 0; }
table { border-collapse: collapse; border-spacing: 0; }
img { border: 0; }
address,caption,code,em,th { font-style: normal; font-weight: normal; }
li,dt,dd { list-style: none; }
a:focus { outline: none; }
caption,th { text-align: left; }
h1,h2,h3,h4,h5,h6 { font-size: 100%; font-weight: normal; }
q:before,q:after { content: '' }
sup { vertical-align: text-top; }
sub { vertical-align: text-bottom; }
input,textarea,select { font-family: inherit; font-size: inherit; font-weight: inherit; }
span,i,em { font-style: inherit; }

/**
 * Clearfix
 */

.clear { width:100%; }
.clear:after {
content: ""; 
display: block; 
clear: both;
}

/**
 * Lib
 */

.mgb0 { margin-bottom: 0!important; }
.mgb5 { margin-bottom: 5px!important; }
.mgb10 { margin-bottom: 10px!important; }
.mgb15 { margin-bottom: 15px!important; }
.mgb20 { margin-bottom: 20px!important; }
.mgb25 { margin-bottom: 25px!important; }
.mgb30 { margin-bottom: 30px!important; }
.mgb35 { margin-bottom: 35px!important; }
.mgb40 { margin-bottom: 40px!important; }
.mgb45 { margin-bottom: 45px!important; }
.mgb50 { margin-bottom: 50px!important; }
.mgb60 { margin-bottom: 60px!important; }
.mgb70 { margin-bottom: 70px!important; }
.mgb80 { margin-bottom: 80px!important; }
.mgb90 { margin-bottom: 90px!important; }
.mgb100 { margin-bottom: 100px!important; }
.mgb150 { margin-bottom: 150px!important; }

.mgt60 { margin-top: 60px!important; }

.tac { text-align: center!important; }
.tal { text-align: left!important; }
.tar { text-align: right!important; }
.fll { float: left!important; }
.flr { float: right!important; }

.fs10 { font-size: 10px!important; }
.fs12 { font-size: 12px!important; }
.fs14 { font-size: 14px!important; }
.fs16 { font-size: 16px!important; }
.fs18 { font-size: 18px!important; }
.fs20 { font-size: 20px!important; }

/* ----------------------------------------------------------------
Common
----------------------------------------------------------------- */

body {
text-align: center;
color: #333;
background: #fff;
font-family: YuGothic, "Custom Yu Gothic", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
line-height: 28px;
margin: 0 auto;
}

a { text-decoration: none }
a:hover { text-decoration: none }

a:link, a:visited, a:active, a:hover {
color: #00a0e9;
text-decoration: underline;
}

a:active, a:hover {
color: #0f8cc5;
}

.inner {
clear: both;
width: 1000px;
margin: 0 auto;
padding: 0;
}

.btn {
text-align: center;
}

.btn a:link, .btn a:visited {
text-align: center;
width: 180px;
display: block;
box-sizing: border-box;
font-size: 14px;
line-height: 30px;
letter-spacing: 1px;
color: #2ccc90;
text-decoration: none;
border-bottom: none;
border: 1px solid #2ccc90;
padding: 8px 0;
margin: 0 auto;
}

.btn a:active, .btn a:hover {
text-align: center;
width: 180px;
display: block;
box-sizing: border-box;
font-size: 14px;
line-height: 30px;
letter-spacing: 1px;
color: #7db841;
text-decoration: none;
border-bottom: none;
border: 1px solid #7db841;
padding: 8px 0;
}

/* ----------------------------------------------------------------
Header
----------------------------------------------------------------- */

#header {
width: 1000px;
height: 115px;
margin: 20px auto 30px auto;
}

#header h2 {
text-align: left;
}

#header ul {
float: right;
margin-top: -48px;
}

#header li {
float: left;
margin: 0 0 0 40px;
}

#header li a img:hover {
opacity: 0.7;
}

/* ----------------------------------------------------------------
Navi
----------------------------------------------------------------- */

#navi {
width: 1000px;
height: 56px;
margin: 0 auto;
}

#navi ul li {
float: left;
display: inline-block;
position: relative;
height: 56px;
margin: 0;
}

#navi ul li:hover {
cursor: pointer;
}

#navi ul ul {
display: none;
position: absolute;
background: #2ccc90;
opacity: 0.95;
margin: 0;
padding: 0;
}

#navi ul li:hover ul {
display: block;
z-index: 3;
top: 100%;
left: 1px;
}

#navi ul ul li {
text-align: left;
line-height: 56px;
float: none;
display: block;
width: 218px;
height: 56px;
margin: 0;
padding: 0;
}

#navi ul ul li a {
display: block;
width: 178px;
height: 56px;
margin: 0;
padding: 0 20px;
}

#navi ul ul li a:link, 
#navi ul ul li a:visited, 
#navi ul ul li a:active {
color: #fff;
text-decoration: none;
}

#navi ul ul li a:hover {
color: #fff;
background: #1fb17a;
text-decoration: none;
}

#navi_sp {
display: none;
}

/* ----------------------------------------------------------------
Mainvisual
----------------------------------------------------------------- */

#mainvisual {
clear: both;
width: 100%;
height: 300px;
margin: 0 auto 0 auto;
padding: 0;
}

#top #mainvisual {
height: 600px;
}

/* ----------------------------------------------------------------
Main
----------------------------------------------------------------- */

#main {
text-align: left;
width: 1000px;
margin: 0 auto;
padding: 0;
}

#main .paging ul {
clear: both;
width: 1020px;
overflow: hidden;
padding: 0;
margin: 80px auto 0 auto;
}

#main .paging ul:after {
content: ""; 
display: block; 
clear: both;
}

#main .paging li {
float: left;
width: 320px;
height: 62px;
display: block;
text-indent: 0;
margin: 0 20px 20px 0;
padding: 0;
}

#main .paging li a:link,
#main .paging li a:visited,
#main .paging li a:active {
color: #1fb17a;
text-decoration: none;
display: block;
width: 253px;
height: 32px;
border: 1px solid #1fb17a;
background: #ffffff url(../image/arrow_inactive.png) no-repeat 20px 50%;
padding: 15px 20px 15px 45px;
}

#main .paging li a:hover {
color: #fff;
text-decoration: none;
border: 1px solid #1fb17a;
background: #2ccc90 url(../image/arrow_active.png) no-repeat 20px 50%;
}

#main .paging li.current a:link,
#main .paging li.current a:visited,
#main .paging li.current a:hover,
#main .paging li.current a:active {
color: #fff;
border: 1px solid #1fb17a;
background: #2ccc90 url(../image/arrow_down.png) no-repeat 20px 50%;
}

#main .paging li:before {
content: none;
margin: 0;
}

#main .paging.clinic ul {
clear: both;
width: 680px;
overflow: hidden;
padding: 0;
margin: 80px auto 0 auto;
}

#main .paging.clinic li {
float: left;
width: 320px;
height: 62px;
display: block;
text-indent: 0;
margin: 0 10px 20px 10px;
padding: 0;
}

#main h2 {
color: #339952;
font-size: 20px;
font-weight: bold;
letter-spacing: 2px;
margin: 70px 0 15px 0;
padding: 0;
}

#main h3 {
color: #339952;
font-size: 19px;
font-weight: bold;
letter-spacing: 2px;
margin: 60px 0 15px 0;
padding: 0;
}

#main p {
font-size: 16px;
line-height: 36px;
margin: 0 0 30px 0;
padding: 0;
}

#main ul {
font-size: 16px;
line-height: 32px;
margin: 0 0 30px 0;
padding: 0;
}

#main li {
margin: 0 0 8px 15px;
padding: 0;
text-indent: -16px;
}

#main li:before {
content: "•";
color: #999;
margin: 0 10px 0 0;
}

#main table {
clear: both;
width: 100%;
box-sizing: border-box;
font-size: 14px;
line-height: 28px;
border-top: 1px solid #ddd;
border-left: 1px solid #ddd;
margin: 0 0 30px 0;
padding: 0;
}

#main table th {
width: 50%;
height: 45px;
font-weight: bold;
background: #efefef;
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
padding: 10px 20px;
}

#main table th span {
font-weight: normal;
}

#main table td {
width: 50%;
height: 45px;
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
padding: 10px 20px;
}

#main table.schedule {
width: 1000px;
border-top: 1px solid #ddd;
border-left: 1px solid #ddd;
margin: 0 auto 50px auto;
padding: 0;
}

#main table.schedule thead th,
#main table.schedule thead td {
font-weight: bold;
color: #fff;
background: #2ccc90;
}

#main table.schedule th {
color: #333;
width: 350px;
font-weight: normal;
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
background: #fff;
margin: 0;
padding: 10px 20px;
}

#main table.schedule td {
text-align: center;
width: 100px;
height: 45px;
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
margin: 0;
padding: 10px 20px;
}

#main table.recruit th {
width: 15%;
font-weight: bold;
}

#main .arrow:before {
content: url(../image/arrow.png);
margin: 0 5px 0 0;
}

#main .column {
clear: both;
margin: 50px 0 40px 0;
}

#main .column:after {
content: ""; 
display: block; 
clear: both;
}

#main .left {
float: left;
display: inline;
width: 480px;
margin: 0;
}

#main .right {
float: right;
display: inline;
width: 480px;
margin: 0;
}

#main .column p img {
margin: 0 50px 0 0;
}

#main .column h2 {
margin: 10px 0 15px 0;
}

#main .column p {
margin: 0;
}

#main .column ul {
margin: 0;
}

#main .gallery {
width: 1080px;
overflow: hidden;
margin: 40px 0 0 0;
}

#main .photo {
float: left;
display: inline;
width: 460px;
margin: 0 80px 0 0;
}

#main .photo h2 {
text-align: center;
margin: 40px 0 15px 0;
}

#main .photo p {
margin: 0;
}

#main #portrait {
float: right;
display: inline;
width: 300px;
margin: 0;
}

#main #portrait p {
margin: 0 0 8px 0;
}

#main #portrait h2 {
color: #333;
text-align: center;
font-size: 20px;
line-height: 22px;
font-weight: normal;
vertical-align: top;
margin: 0;
}

#main #portrait h2 span {
font-size: 13px;
line-height: 25px;
vertical-align: top;
margin: 0 15px 0 0;
}

#main #message {
float: left;
display: inline;
width: 600px;
margin: 0 0 0 0;
}

#main #message h2 {
text-align: center;
font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
font-size: 26px;
font-weight: normal;
margin: 40px 0 50px 0;
}

#main #message p {
line-height: 40px;
margin: 0 0 30px 0;
}

#greeting #main .column:nth-child(3) {
border-top: 1px solid #ddd;
padding-top: 60px;
}

#greeting #main .column .left,
#greeting #main .column .right {
width: 460px;
}

#greeting #main .column .left h3,
#greeting #main .column .right h3 {
margin: 0 0 15px 0;
}

#greeting #main .column .left p {
font-size: 14px;
line-height: 31px;
margin: 0 0 15px 0;
}

#greeting #main .column .left p img:hover {
opacity: 0.7;
}

#greeting #main .column .right li {
font-size: 14px;
line-height: 24px;
}

#greeting #main .column .right li a:link,
#greeting #main .column .right li a:visited,
#greeting #main .column .right li a:active {
}

#greeting #main .column .right li a:hover {
}

/* ----------------------------------------------------------------
Top
----------------------------------------------------------------- */

#top #main {
width: 100%
}

#top #main h2 {
text-align: center;
margin: 0 0 30px 0;
}

#top #main #news {
clear: both;
width: 1000px;
padding: 80px 0;
margin: 0 auto;
}

#top #main #news .entry {
display: flex;
display: -webkit-flex;
width: 1000px;
border-bottom: 1px solid #ddd;
margin: 0 0 30px 0;
padding: 0 0 20px 0;
}

#top #main #news .date {
width: 180px;
margin: 0;
padding: 0 0 10px 0;
}

#top #main #news .content {
width: 820px;
margin: 0 0 0 auto;
}

#top #main #news .content h2 {
color: #339952;
font-size: 20px;
font-weight: bold;
text-align: left;
background: none;
letter-spacing: 2px;
margin: 0 0 20px 0;
padding: 0;
}

#top #main #news ul {
font-size: 16px;
line-height: 32px;
border-top: 1px solid #ddd;
margin: 0 0 30px 0;
padding: 0;
}

#top #main #news li {
margin: 0;
border-bottom: 1px solid #ddd;
padding: 15px 0;
text-indent: 0;
}

#top #main #news li:before {
content: "";
margin: 0;
}

#top #main #news li .date {
font-size: 14px;
color: #555;
}

#top #main #news li .category {
display: inline-block;
width: 110px;
text-align: center;
font-size: 11px;
line-height: 13px;
color: #777;
border: 1px solid #999;
padding: 4px 8px;
margin: 0 30px;
}

#top #main #news li.fixed .category {
font-weight: bold;
color: #555;
border: 1px solid #555;
}

#top #main #news li.fixed .title {
font-weight: bold;
}

#top #main #news p {
font-size: 14px;
line-height: 28px;
margin: 0 0 10px 0;
}

#top #main #services {
clear: both;
background: #eef0f2;
margin: 0;
padding: 80px 0 55px 0;
}

#top #main #services ul {
width: 1050px;
overflow: hidden;
margin: 0 auto;
}

#top #main #services li {
float: left;
width: 300px;
display: inline;
text-indent: 0;
margin: 0 25px 25px 25px;
}

#top #main #services li:before {
content: none;
margin: 0;
}

#top #main #cardiac {
clear: both;
padding: 80px 0;
}

#top #main #cardiac:after {
content: ""; 
display: block; 
clear: both;
}

#top #main #cardiac .left {
width: 480px;
margin: 20px 0 0 0;
}

#top #main #cardiac .left a img:hover {
opacity: 0.7;
}

#top #main #cardiac .left h2 {
text-align: center;
font-size: 22px;
font-weight: normal;
letter-spacing: 0;
font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
margin: 0 0 30px 0;
}

#top #main #cardiac .right {
width: 460px;
margin: 0;
}

#top #main #cardiac .right img {
width: 460px;
margin: 0;
}

#top #main #cardiac .right p {
margin: 0;
}

#top #doctorsfile {
clear: both;
width: 100%;
background: #f3f3f3;
padding: 80px 0 70px 0;
margin: 0;
}

#top #info {
clear: both;
width: 100%;
background: #f3f3f3;
text-align: center;
padding: 80px 0 70px 0;
margin: 0 0 0 0;
}

#top #info table {
width: 1000px;
border-top: 1px solid #ddd;
border-left: 1px solid #ddd;
margin: 0 auto 30px auto;
padding: 0;
}

#top #info table thead th,
#top #info table thead td {
font-weight: bold;
color: #fff;
background: #2ccc90;
}

#top #info table th {
width: 350px;
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
color: #333;
background: #fff;
font-weight: normal;
margin: 0;
padding: 12px 12px 12px 24px;
}

#top #info table td {
width: 80px;
height: 45px;
background: #fff;
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
margin: 0;
padding: 12px;
}

#top #info table td.multi {
line-height: 16px;
}

#top #info p {
font-size: 14px;
margin: 0 0 30px 0;
}

#top #info p img {
margin: 0 15px 0 15px;
}

#top #access {
width: 100%;
margin: 0 auto;
padding: 80px 0 40px 0;
}

#top #access h2 {
text-align: center;
margin: 0 0 30px 0;
}

#top #staffwanted {
width: 100%;
margin: 0 auto;
padding: 0 0 40px 0;
}

/* ----------------------------------------------------------------
News
----------------------------------------------------------------- */

.news #main .entry h2 {
color: #fff;
background: #2ccc90;
padding: 10px 20px;
margin: 70px 0 25px 0;
}

.news #main .entry .title h2 {
text-align: center;
color: #111;
background: none;
padding: 10px 20px;
margin: 70px 0 20px 0;
}

.news #main h3 {
margin: 0 0 10px 20px;
}

.news #main p {
margin: 0 0 10px 0;
}

.news #main p.date {
font-weight: bold;
font-size: 13px;
margin: 0 20px 10px 20px;
}

.news #main .entry {
margin: 0 0 60px 0;
}

.news #main p {
margin: 0 20px 10px 20px;
}

/* ----------------------------------------------------------------
bnr
----------------------------------------------------------------- */

#bnr {
width: 100%;
margin: 0 auto 30px auto;
}

#bnr ul {
width: 100%;
max-width: 1000px;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: space-between;
justify-content: space-between;
margin: 0 auto 20px auto;
}

#bnr li {
width: calc((100% - 20px)/2);
}

#bnr img {
width: 100%;
}

#bnr a:hover img {
opacity: 0.8;
}

/* ----------------------------------------------------------------
Footer
----------------------------------------------------------------- */

#access {
width: 100%;
margin: 0 auto;
padding: 80px 0 60px 0;
}

#access iframe {
width: 100%;
height: 500px;
margin: 0 auto;
padding: 0;
}

#banner {
clear: both;
width: 100%;
margin: 0 auto 45px auto;
}

#banner img {
clear: both;
margin: 0 7px;
}

#footer {
text-align: center;
clear: both;
width: 1000px;
padding: 0;
margin: 0 auto;
}

#footer h2 {
float: left;
margin: 0 55px 0 0;
padding: 0;
}

#footer p {
float: left;
text-align: left;
font-size: 13px;
margin: 0 55px 0 0;
padding: 0;
}

#footer p.contact {
margin: 0;
}

#footer a:link, #footer a:visited, #footer a:active {
color: #333;
text-decoration: none;
}

#footer a:hover {
color: #333;
text-decoration: underline;
}

#copyright {
clear: both;
width: 100%;
color: #555;
font-size: 13px;
padding: 40px 0 45px 0;
margin: 0 auto;
}

.sponly {
display: none;
}

.swiper-container {
width: 1200px;
height: 600px;
}

/*wp-pagenavi base*/
.wp-pagenavi {
clear: both;
text-align:center;
}
.wp-pagenavi a, .wp-pagenavi span {
color: #999;
background-color: #FFF;
border: solid 1px #e0e0d2;
padding: 8px 15px;
margin: 0 2px;
white-space: nowrap;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
-webkit-transition: 0.2s ease-in-out;
-moz-transition: 0.2s ease-in-out;
-o-transition: 0.2s ease-in-out;
transition: 0.2s ease-in-out;
text-align: center;
text-decoration:none;
}
.wp-pagenavi a:hover{
color:#FFF; 
background-color:#2ccc90; 
border-color:#2ccc90;
}
.wp-pagenavi span.current{
color: #FFF;
background-color: #2ccc90;
border-color: #2ccc90;
font-weight: bold;
}

