@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
/* reset
-------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,code,form,fieldset,legend,
p,blockquote,table,th,td, figure, section, article {margin: 0; padding: 0;}
body {font:13px/1 "メイリオ","Meiryo","ＭＳ Ｐゴシック","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",sans-serif;}
* html body {font-size: small;}
*:first-child+html body {font-size: small;}
img {border: 0;vertical-align: top;/* width: 100px; */}
h1,h2,h3,h4,h5,h6 {font-size: 100%; font-weight: normal;}
ul,dl,ol {text-indent: 0;}
li {list-style: none;}
address,caption,cite,code,dfn,em,strong,th,var {font-style: normal; font-weight: normal;}
sup {vertical-align: text-top;}
sub {vertical-align: text-bottom;}
input,textarea,select {font-family: inherit; font-size: inherit; font-weight:inherit;}
* html input,* html textarea,* html select {font-size: 100%;}
*:first-child+html+input,*:first-child html+textarea,*:first-child+html select {font-size: 100%;}
table {border-collapse: collapse; border-spacing: 0; font-size: inherit;}
th,td {text-align: left; vertical-align: top;}
caption {text-align: left;}
pre,code,kbd,samp,tt {font-family: monospace;}
* html pre,* html code,* html kbd,* html samp,* html tt {font-size: 100%; line-height: 100%;}
*:first-child+html pre,*:first-child html+code,*:first-child html+kbd,*:first-child+html+samp,*:first-child+html tt {font-size: 108%; line-height: 100%;}
input,select,textarea {font-size: 100%; font-family: Verdana, Helvetica, sans-serif;}
*:focus {outline: none;}

/* base
-------------------------------------------------------*/
body {
	letter-spacing:0.03em;
	font-family: 'Noto Sans Japanese';
	font-weight:300;
	color:#595959;
}

strong {
	font-weight:bold;
}

a {
	color:#595959;
	text-decoration:none;
}

a:hover {
	text-decoration:none;
	-moz-opacity:0.6;
	-webkit-opacity:0.6;
	opacity:0.6;
}

a:hover img{
}

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

.clear {
	clear:both;
}

.mb0 { margin-bottom:0 !important; }
.mb4 { margin-bottom:4px !important; }
.mb8 { margin-bottom:8px !important; }
.mb10 { margin-bottom:10px !important; }
.mb15 { margin-bottom:15px !important; }
.mb20 { margin-bottom:20px !important; }
.mb25 { margin-bottom:25px !important; }
.mb30 { margin-bottom:30px !important; }
.mb35 { margin-bottom:35px !important; }
.mb40 { margin-bottom:40px !important; }
.mb45 { margin-bottom:45px !important; }
.mb50 { margin-bottom:50px !important; }
.mb55 { margin-bottom:55px !important; }
.mb60 { margin-bottom:60px !important; }
.mb65 { margin-bottom:65px !important; }
.mb70 { margin-bottom:70px !important; }
.mb75 { margin-bottom:75px !important; }
.mb80 { margin-bottom:80px !important; }
.mb90 { margin-bottom:90px !important; }
.mb100 { margin-bottom:100px !important; }
.mb1em { margin-bottom:1em !important; }
.mb2em { margin-bottom:2em !important; }
.mb3em { margin-bottom:3em !important; }
.mb4em { margin-bottom:4em !important; }
.mb5em { margin-bottom:5em !important; }
.mt0 { margin-top:0 !important; }
.mt30 { margin-top:30px !important; }
.fs11 {	font-size:11px !important; }
.fs12 {	font-size:12px !important; }
.fs13 {	font-size:13px !important; }
.fs14 {	font-size:14px !important; }
.fs15 {	font-size:15px !important; }
.fs16 {	font-size:16px !important; }
.fs17 {	font-size:17px !important; }
.fs18 {	font-size:18px !important; }

.al-center {
	text-align:center;
}

.al-right {
	text-align:right;
}

.f-left {
	float:left;
}

.f-right {
	float:right;
}

.inner {
	width:940px;
	margin:auto;
}

.inner:after {
	content:"";
	display:block;
	clear:both;
}

/* header
-----------------------------------------------------*/
header {
	height:120px;
}

header #title{
	padding-top:20px;
	display:block;
	float:left;
}

header p.phone {
	float:right;
	text-align:center;
}

header p.phone span {
	font-size:16px;
	display:block;
	padding-top:18px;
}

header p.phone span:before {
	content:url(../images/header_line.png);
	vertical-align:4px;
	margin-right:8px;
}

header p.phone span:after {
	content:url(../images/header_line.png);
	vertical-align:4px;
	margin-left:8px;
}

header p.phone a {
	font-size:22px;
	line-height:22px;
	display:block;
	color:#fff;
	background:#f2a731;
	border-radius:5px;
	padding:10px 0;
	margin-top:10px;
	width:220px;
}

header p.phone a img{
	vertical-align:-3px;
	margin-right:6px;
	width:15px;
	height:auto;
}

header .menu-trigger{
	display:none;
}

/* nav
-----------------------------------------------------*/
nav {
	background:#1b79c1;
	border-bottom:7px solid #ffba48;
}

nav ul{
	width:940px;
	margin:auto;
}

nav ul:after{
	content:"";
	display:block;
	clear:both;
}

nav ul li{
	float:left;
	border-left:1px solid #5da0d3;
	background:url(../images/nav_icon.png) no-repeat bottom 23px center;
	width:155px;
}

nav ul li:last-child{
	border-right:1px solid #5da0d3;
}

nav ul li.current {
	background-color:#398ac9;
}

nav ul li a{
	color:#fff;
	width:500px;
	height:100px;
	font-size:16px;
	display:table-cell;
	padding-top:23px;
	box-sizing:border-box;
	text-align:center;
	line-height:1.5em;
}

div#nav_s {
	width:940px;
	margin:auto;
	padding-top:15px;
}

/* footer
-----------------------------------------------------*/
footer {
	background:#2e7fc8;
	color:#fff;
	padding:40px 0;
}

footer #map-canvas{
	height:300px;
	width:300px;
	float:left;
	padding-top:20px;
	margin-bottom:10px;
}


footer .addressbox {
    float: left;
    width: 300px;
}

footer .rightbox {
	width:300px;
	float:left;
	/* background:#3d8dca; */ /* 2024.11.18終了 */
	/* border:1px solid #79b0db; */ /* 2024.11.18終了 */
	background:#fff;
	border:1px solid #dfdfdf;
	box-sizing:border-box;
	position:relative;
	height:170px;
	text-align:left;
	padding-top:20px;
	padding-left:20px;
	padding-bottom:20px;
	margin-left: 20px;
}

footer .rightbox .img{
	position:absolute;
	right:0;
	bottom:0;
}

footer .rightbox p {
	color:#595959; /* 2024.11.18:#FFF */
	font-size:18px;
	width:260px;
	text-align:center;
}

footer .rightbox a {
	display:block;
	font-size:27px;
	width:260px;
	height:60px;
	line-height:60px;
	background:#f2a731;
	border-radius:5px;
	margin-top:10px;
	margin-bottom:10px;
	color:#fff;
	text-align:center;
}

footer .rightbox a img{
	vertical-align:-5px;
	margin-right:10px;
	width:20px;
	height:auto;
}

/* webbox_20191122_s.sue */
footer .webbox {
	width: 150px;
	float:left;
	/* background:#3d8dca; */ /* 2024.11.18終了 */
	/* border:1px solid #79b0db; */ /* 2024.11.18終了 */
	background:#fff;
	border:1px solid #dfdfdf;
	box-sizing:border-box;
	position:relative;
	height:170px;
	text-align:left;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left:20px;
	margin-left: 10px;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc {
	display: block !important;
	margin-top: 5px;
	margin-left: 2px;
	width: 90px;
	height: 90px;
	border: 0;
  vertical-align: top;
}
.sp {
	display: none !important;
	margin-top: 5px;
	margin-left: 2px;
	width: 100px;
	height: 100px;
}

footer .webbox img{
	margin-top: 10px;
	margin-left: 10px;
	width: 90px;
	height: 90px;
}

footer .webbox p {
	color:#595959; /* 2024.11.18:#FFF */
	font-size: 12px;
	width: 105px;
	text-align:center;
}

footer .webbox a {
}

footer .webbox a img{
}

/* rightbox02 */
footer .rightbox02 {
	width:620px;
	float:right;
	margin-top:38px;
}

footer .rightbox02 h3{
	font-size:24px;
	text-align:left;
	margin-bottom:10px;
}

footer .rightbox02 table{
	width:380px;
	height:114px;
	background:#fff;
	color:#595959;
	float:left;
}

footer .rightbox02 table tr.fist-child {
	background:#f1fafc;
}

footer .rightbox02 table th,
footer .rightbox02 table td{
	border:1px solid #dfdfdf;
	text-align:center;
	vertical-align:middle;
	padding:0 6px;
	font-size:14px;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}

footer .rightbox02 a.recuit {
	display:block;
	width:220px;
	height:114px;
	float:right;
	background:#fff;
	text-align:left;
	box-sizing:border-box;
	padding:25px 0 0 20px;
	line-height:1.5em;
	background-image:url(../images/arrow_blue.png);
	background-repeat:no-repeat;
	background-size:8px 15px;
	background-position:95% center;
}

footer .rightbox02 a.recuit h4 {
	color:#2b87e0;
	font-size:19px;
	margin-bottom:5px;
}

footer p.note {
	line-height:1.25em;
	clear:both;
	padding-top:10px;
}

p.copy {
	padding:20px 0;
	text-align:center;
}

/* index
-----------------------------------------------------*/
#index #topgallery {
	height:auto;
	max-height:470px;
	overflow:hidden;
}

.gallery-cell {
  width: 100%;
	text-align:center;
	position:relative;
}

.gallery-cell img{
	width:100%;
	height:auto;
}

.gallery-cell .textbox {
	z-index:100;
	position:absolute;
	right:20px;
	top:295px;
	text-align:left;
	background:rgba(255,255,255,0.8);
	padding:30px;
	color:#004071;
	border-radius:10px;
}

.gallery-cell .textbox.fourrows {
	top:275px;
}

@media (max-width:1200px){

.gallery-cell .textbox {
	top:auto;
	bottom:20px;
}

.gallery-cell .textbox.fourrows {
	top:auto;
	bottom:20px;
}

}


.gallery-cell .textbox h2{
	text-align:left;
	font-size:22px;
	margin-bottom:10px;
}

.gallery-cell .textbox p{
	font-size:14px;
	line-height:1.5em;
}


#index #visual {
	position:relative;
}

#index p.catchcopy{
	background:#fff;
	border-radius:50%;
	width:200px;
	height:200px;
	position:absolute;
	right:30px;
	bottom:30px;
	color:#1b79c1;
	border:3px solid rgba(27,121,193,0.12);
	font-size:22px;
	z-index:100;
	display:table;
	line-height:1.5em;
}

#index p.catchcopy span{
	display:table-cell;
	height:;
	vertical-align:middle;
	text-align:center;
}

section {
	font-size:16px;
}

section#corona {
        box-sizing: border-box;
        padding: 50px 0 60px;
        background: url(../images/top_corona_bg.jpg) no-repeat right bottom;
        background-size: 100%;
        background-color: rgba(255,255,255,0.8);
        background-blend-mode: lighten;
}

section#corona h2 {
        margin-bottom: 60px;
        font-size: 37px;
        line-height: 1.5;
}

section#corona ol {
        counter-reset: number;
        list-style: none;
        margin: 0;
        padding: 0;
}

section#corona ol div li {
        position: relative;
}

section#corona ol div li:before {
       counter-increment: number;
       content: counter(number);
       background: #1B79C1;
       border: 1px solid #3366CC;
       color: #ffffff;
       width: 1.3em;
       height: 1.3em;
       position: absolute;
       left: -1.5em;
       top: 6px;
       line-height: 1.3;
       text-indent: 5px;
}

section#corona .text_wrap {
        max-width: 784px;
        margin: 0 auto;
        padding-left: 2em;
}

section#corona li {
        line-height: 1.8;
        padding-left: 0.3em;
        margin-bottom: 17px;
}

section#corona p {
        text-align: center;
        margin-bottom: 15px;
        font-size: 20px;
        line-height: 1.5;
}

section#corona li + p {
        margin-top: 50px;
}

section#info-renkei {
        box-sizing: border-box;
        padding: 50px 0 60px;
        background: url(../images/top_promise_bg.jpg) no-repeat right bottom #f6f8fe;
        background-size: auto 100%;
}

section#info-renkei h2 {
        margin-bottom: 60px;
        font-size: 37px;
        line-height: 1.5;
}

section#info-renkei .text_wrap {
        max-width: 784px;
        margin: 0 auto;
}

section#info-renkei p {
        text-align: center;
        margin-bottom: 15px;
        font-size: 20px;
        line-height: 1.8;
}

section#promise {
	background:url(../images/top_promise_bg.jpg) no-repeat right bottom #f6f8fe;
	background-size:auto 100%;
	text-align:center;
	box-sizing:border-box;
	padding:80px 0;
}

section#promise h2{
	margin-bottom:50px;
	font-size:37px;
}

section#promise p{
	line-height:2em;
	margin-bottom:40px;
}

/*
section#online {
	background:url(../images/top_online_bg.jpg) no-repeat right bottom #f6f8fe;
	background-size:auto 100%;
	text-align:center;
	box-sizing:border-box;
	padding:80px 0;
}

section#online h2{
	margin-bottom:50px;
	font-size:37px;
}

section#online p{
	line-height:2em;
	margin-bottom:40px;
}
*/

a.btn_orange{
	background-color:#f39800;
	background-image:url(../images/arrow_white.png);
	background-repeat:no-repeat;
	background-size:8px 15px;
	background-position:95% center;
	font-size:20px;
	color:#fff;
	display:inline-block;
	width:300px;
	height:50px;
	line-height:50px;
	border-radius:5px;
}

/*menu*/
#index section#menu {
	background:#d2ebf6;
}

#index section#menu ul li{
	width:300px;
	float:left;
	height:292px;
	box-sizing:border-box;
	position:relative;
	overflow:hidden;
	background-origin:border-box;
}

#index section#menu ul li.first{
	background:url(../images/top_menubg01.jpg) no-repeat top left;
	margin-right:20px;
}

#index section#menu ul li.second{
	background:url(../images/top_menubg02.jpg) no-repeat top left;
	margin-right:20px;
}

#index section#menu ul li.third{
	background:url(../images/top_menubg03.jpg) no-repeat top left;
}

#index section#menu ul li:hover{
	background-position:-2px -2px;
}

#index section#menu ul a {
	display:block;
	width:300px;
	height:292px;
	box-sizing:border-box;
}

#index section#menu ul a:hover {
	opacity:1;
}

#index section#menu ul li:hover{
	border:2px solid #2b87e0;
	opacity:1;
}

#index section#menu ul li div {
	width:300px;
	height:156px;
	position:absolute;
	top:222px;
	left:0;
	transition:top 0.3s ease-in;
	background:url(../images/arrow_blue.png) no-repeat 95% 28px #fff;
	background-size:8px 15px;
}

#index section#menu ul li div.hover {
	top:135px;
	left:-2px;
}

#index section#menu ul li div h3{
	font-size:18px;
	height:70px;
	line-height:70px;
	text-align:center;
}

#index section#menu ul li div p{
	font-size:14px;
	line-height:1.5em;
	padding:0 20px;
}

/*news*/
section#news .inner{
	padding:50px 0;
}

section#news ul.newsscroll{
	height:500px;
	border:1px solid #dfdfdf;
}

section#news ul.newsscroll li{
	border-bottom:1px dotted #dfdfdf;
	line-height:40px;
	padding:5px 10px 5px 20px;
	font-size:16px;
}

section#news ul.newsscroll li span.date{
	display:inline-block;
	width:6em;
}

section#news ul.newsscroll li:last-child{
	border:none;
}

section#news ul.newsscroll li:nth-child(odd){
	background:#fcfcfc;
}

section h2 {
	text-align:center;
	font-size:27px;
	margin-bottom:30px;
}

._mCS_1 .mCSB_dragger .mCSB_dragger_bar{
	background-color:#2e7fc8;
	width:14px;
	border-radius:0;
}


.mCSB_scrollTools .mCSB_draggerRail{
	width:14px;
	border-radius:0;
	background:#ececec;
}

.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{
	background-color:#2e7fc8;
}

.newsbox {
	width:620px;
	float:left;
}

.newsbox h2{
	text-align:left;
}

#news ul.bnrbox {
	float:right;
	width:300px;
}

#news ul.bnrbox li {
	border:1px solid #dfdfdf;
	height:98px;
	position:relative;
}

#news ul.bnrbox li span{
	height:98px;
	width:300px;
	display:table-cell;
	vertical-align:middle;
	padding-left:20px;
}

#news ul.bnrbox li img{
	position:absolute;
	top:0;
	right:0;
	z-index:-1;
}


#news ul.bnrbox li ~ li{
	margin-top:20px;
}

.pc_bnr{
	display: block !important;
}
.sp_bnr{
	display: none !important;
}

/*menu*/
#menu {
	background:#ebf8fb;
	padding:50px 0;
}

#menu:after {
	content:"";
	display:block;
	clear:both;
}

#menu .leftbox {
	width:450px;
	float:left;
}
#menu .leftbox ul.menu {
	margin-bottom:40px;
}

#menu .leftbox ul.menu li{
	border-top:1px solid #cedee8;
	width:210px;
	text-align:center;
	line-height:40px;
}

#menu .leftbox ul.menu li.borderbottom {
	border-bottom:1px solid #cedee8;
}

#menu .leftbox ul.menu li:nth-child(odd){
	float:left;
}

#menu .leftbox ul.menu li:nth-child(even){
	float:right;
}

#menu h2 {
	margin-bottom:20px;
}

#menu .rightbox {
	width:450px;
	float:right;
}

/* 下層
-----------------------------------------------------*/
h1#pagetitle {
	text-align:center;
	height:220px;
	display:table;
	width:100%;
	background:url(../images/h1_bg.jpg);
	background-size:cover;
	background-position:center center;
	font-size:36px;
	font-weight:500;
}

h1#pagetitle span{
	display:table-cell;
	vertical-align:middle;
}

article section {
	padding:70px 0;
	position:relative;
	border-bottom:1px solid #e2e1e9;
}

article section:first-child {
	padding-top:60px;
}

article section:last-child {
	border-bottom:0;
}

article p,
article ul,
article table {
	line-height:1.75em;
}

article h2{
	margin-bottom:50px;
}

article table th {
	background:#ebf8fb;
}

article table th,
article table td{
	border:1px solid #e2e1e9;
	padding:10px;
}


/* 医院長紹介
-----------------------------------------------------*/
#staff section#greeting {
	height:640px;
	box-sizing:border-box;
	background-color:#f3f3f5;
	padding:0;
}

#staff section#greeting .inner{
	position:relative;
	padding:70px 0;
}

#staff section#greeting .leftbox{
	width:480px;
	float:left;
}

#staff section#greeting .leftbox,
#staff section#greeting h2{
	position:relative;
	z-index:10;
}

#staff section#greeting figure {
	position:absolute;
	top:0;
	right:-150px;
	z-index:0;
}

#staff section#history .inner {
	width:700px;
	margin:auto;
}

#staff section#history .inner table{
	width:100%;
	margin-bottom:20px;
}

#staff section#direction figure{
	width:250px;
	float:right;
	margin-left:40px;
}

#staff section#direction figure img:last-child{
	margin-top:10px;
}

#staff #message .leftbox{
	width:450px;
	float:left;
}

#staff #message .leftbox p ~ p{
	margin-top:0.5em;
}

#staff #message .rightbox{
	width:450px;
	float:right;
}

#staff #message .rightbox figure img{
	width:100%;
	height:auto;
}

#staff #message .rightbox {
	font-size:13px;
}

#staff #message .rightbox h3{
	font-weight:500;
	font-size:16px;
	text-align:center;
	margin:1em 0;
}

#staff #message .rightbox table {
	width:100%;
}

#staff #message .rightbox table th,
#staff #message .rightbox table td{
	padding:5px;
}

#staff #message .rightbox table th {
	width:5em;
	background:#fff;
}

#staff #message .rightbox h4{
	font-weight:bold;
	margin-top:1em;
}


/* 医院紹介
-----------------------------------------------------*/

section p.lead {
	margin-bottom:70px;
	text-align:center;
	font-size:23px;
}

#about .block01 img {
	float:left;
	margin-right:20px;
	margin-bottom:40px;
}

#about ul li{
	float:left;
	width:300px;
	float:left;
	margin-right:20px;
	margin-bottom:40px;
}

#about ul li:nth-child(3n) {
	margin-right:0;
}

#about ul li:nth-child(3n+1){
	clear:both;
}

#about ul li img{
	width:100%;
	height:auto;
	margin-bottom:10px;
}

#about ul li h3{
	font-weight:500;
	font-size:14px;
}

#about ul li p{
	font-size:14px;
	line-height:1.25em;
}

/* 設備紹介
-----------------------------------------------------*/
ul.img300px2col li {
	margin-bottom:40px;
}

ul.img300px2col li img{
	width:300px;
	height:auto;
	margin-right:20px;
	float:left;
}

ul.img300px2col li:after{
	content:"";
	display:block;
	clear:both;
}

ul.img300px2col li h3 {
	font-size:18px;
	font-weight:500;
	color:#1b79c1;
}

/* 診療メニュー
-----------------------------------------------------*/
#treatmenu ul:after {
	content:"";
	display:block;
	clear:both;
}

#treatmenu ul li {
	width:450px;
	border-top:1px solid #e2e1e9;
	box-sizing:border-box;
	padding:20px 10px;
	line-height:1.5em;
	font-size:15px;
}

#treatmenu ul li:nth-child(odd){
	float:left;
	clear:both;
}

#treatmenu ul li:nth-child(even){
	float:right;
}

#treatmenu ul li h3{
	font-size:18px;
	font-weight:500;
	text-align:center;
	margin-bottom:20px;
	color:#1b79c1;
}

#treatmenu ul li img {
	float:right;
	width:140px;
	height:auto;
	margin-left:15px;
	margin-bottom:10px;
}

/* アクセス
-----------------------------------------------------*/
#access #map-canvas02 {
	width:450px;
	height:300px;
	float:right;
}

#access .leftbox{
	width:450px;
	float:left;
}

#access .leftbox ul {
	margin-bottom:40px;
}

#access .leftbox ul li{
	display:inline-block;
	border:1px solid #e2e1e9;
	padding:2px 5px;
	margin-bottom:10px;
}

#access .leftbox table{
	width:100%;
	margin-bottom:10px;
}

#access h3 {
	font-size:18px;
	font-weight:500;
	text-align:center;
	margin-bottom:20px;
	color:#1b79c1;
}

#access img.f-right {
	width:450px;
	height:auto;
}

#access p.note {
	font-size:13px;
	margin-bottom:40px;
}

#access p.phone {
	font-size:22px;
	line-height:22px;
	font-weight:200;
}

#access p.phone img{
	vertical-align:-8px;
	margin-right:5px;
}

/* 採用情報
-----------------------------------------------------*/
#recruit table {
	width:100%;
}

#recruit table th{
	background:#ebf8fb;
	vertical-align:middle;
}
