@charset "utf-8";


/*slide.cssの読み込み*/
@import url(slide.css);


/*PC・タブレット・スマホ共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体の設定
---------------------------------------------------------------------------*/
body {
    margin: 0px;
    padding: 0px;
    color: #333;
    /*全体の文字色*/
    font-family: "Noto Serif JP","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    /*フォント種類*/
    font-size: 16px;
    /*文字サイズ*/
    line-height: 2;
    /*行間*/
    background: #fff;
    /*背景色*/
    text-align: justify;
    -webkit-text-size-adjust: none;
}

h1,
h2,
h3,
h4,
h5,
p,
ul,
ol,
li,
dl,
dt,
dd,
form,
figure,
form,
select,
input,
textarea {
    margin: 0px;
    padding: 0px;
    font-size: 100%;
}

ul {
    list-style-type: none;
}

img {
    border: none;
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

table {
    border-collapse: collapse;
    font-size: 100%;
    border-spacing: 0;
}

iframe {
    width: 100%;
}

video,
audio {
    max-width: 100%;
}
.w100{
    width:100%;
}
.medical #main .w100{
    width:100%;
}
.f120{
    font-size: 120%;
}
.mb60{
    margin-bottom: 60px;
}
.pb0{
    padding-bottom: 0!important;
}
/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
    color: #333;
    /*リンクテキストの色*/
    transition: 0.5s;
    /*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
    text-decoration: none;
}

a:hover {
    color: #669ACC;
    /*マウスオン時の文字色*/
    text-decoration: underline;
    /*マウスオン時に下線を消す設定。残したいならこの１行削除。*/
}

/*サイトの最大幅の設定
---------------------------------------------------------------------------*/
#container,
footer .inner {
    max-width: 1400px;
    /*サイトの最大幅。これ以上大きくならない。*/
    margin: 0 auto;
}

/*containerの設定（footer以外の、ホームページを囲むブロック）
下の「1450px以下の設定」にあるbody.is-fixed #menubarのmarginの数字と合わせておく。
---------------------------------------------------------------------------*/
#container {
    padding: 0 50px;
    /*上下、左右へのブロック内余白*/
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
    position: relative;
    margin: 0 auto;
    height: 100px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
    /*ヘッダーの高さ*/
    /*background: url(../images/header_bg.jpg) no-repeat 65% center/500px;*/
    /*背景画像の読み込み。左から65%、上下中央に配置。幅500px。*/
}
.header_flex{
	display: flex;
	flex-wrap: wrap;
	position: absolute;
    right: 2%;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

/*ロゴ画像*/
header #logo {
    width: 380px;
    /*ロゴ画像の幅*/
    position: absolute;
    left: 2%;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

/*TELブロック*/
header address {
    font-style: normal;
    text-align: center;
    /*内容をセンタリング*/
    font-size: 80%;
    /*文字サイズ*/
    line-height: 1.5;
    /*行間を少し狭く*/
    text-shadow: 1px 1px 3px #fff, -1px -1px 3px #fff;
}

/*TELブロックの電話番号部分*/
header address .tel {
    color: #7ebb77;
    /*文字色*/
    font-size: 250%;
    /*文字サイズ*/
    background: url(../images/icon_tel.png) no-repeat left center / 26px;
    /*電話アイコンの読み込み。左(left)に、上下中央(center)に配置。画像幅26px。*/
    padding-left: 35px;
    /*電話アイコン部分の余白をここで作る*/
}

/*文字サイズ変更ボタン（※文字サイズを「大」にした時の設定はchange.cssで行う）
---------------------------------------------------------------------------*/
/*ボタンブロック全体*/
#fsize {
	margin-left: 20px;
    width: 250px;
    /*ブロック幅*/
    background: #fff;
    /*背景色*/
    box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.2);
    /*影の設定。右へ、下へ、ぼかし幅。rgbaは色設定で0,0,0は黒。0.2は20%色がついた状態の事。*/
    border-radius: 0px 0px 5px 5px;
    /*角丸のサイズ。左上、右上、右下、左下への順。*/
    line-height: 50px;
    /*高さ*/
    padding: 10px 0px;
    /*上下、左右へのボックス内の余白*/
}

/*「文字サイズ」のテキスト*/
#fsize p {
    float: left;
    font-size: 18px;
    /*文字サイズ*/
    padding: 0 20px;
    /*上下、左右への余白*/
}

/*文字サイズボタン１個あたり*/
#fsize ul li {
    float: left;
    /*左に回り込み*/
}

#fsize ul a {
    overflow: hidden;
    display: block;
    text-decoration: none;
    text-align: center;
    color: #fff;
    /*文字色*/
}

/*「小」ボタン設定*/
#fsize ul li#small a::before {
    display: block;
    content: "小";
    /*「小」の文字を出力*/
    font-size: 16px;
    /*文字サイズ*/
    background: #669ACC;
    /*背景色*/
    width: 40px;
    /*幅*/
    line-height: 40px;
    /*高さ*/
    margin-top: 5px;
    margin-right: 10px;
}

/*「大」ボタン設定*/
#fsize ul li#large a::before {
    display: block;
    content: "大";
    /*「大」の文字を出力*/
    font-size: 30px;
    /*文字サイズ*/
    background: #ccc;
    /*背景色*/
    width: 50px;
    /*幅*/
    line-height: 50px;
    /*高さ*/
}

/*マウスオン時の「大」ボタン設定*/
#fsize ul li#large a:hover::before {
    background: #669ACC;
    /*背景色*/
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*メニューブロックの設定*/
#menubar {
    position: relative;
    margin: 0 auto;
    /*上、左右、下へのマージン。20pxを変更する際は、「body.is-fixed header」の数値も変更する。*/
    height: 71.8px;
    /*メニューの高さ。下の「#menubar li a」の「height」と「padding-top」の数字を合計した数字に合わせる。*/
    border-radius: 10px;
}

/*メニュー１個あたりの設定*/
#menubar li {
    float: left;
    /*左に回り込み*/
    width: 16.66%;
    /*メニュー幅（100÷6個=16.66%）　もし４個にするなら100÷4=25%になる。*/
    line-height: 1.8;
    /*行間を少しだけ狭く*/
}

#menubar li a {
    text-decoration: none;
    display: block;
    text-align: center;
    /*height: 60px;*/
    /*高さ*/
    padding-top: 15px;
    /*上に追加する余白*/
    color: #fff;
    /*文字色*/
    border-left: 1px dashed #fff;
    /*メニューの左側の線の幅、線種、色（古いブラウザ用）*/
    border-left: 1px dashed rgba(255, 255, 255, 0.4);
    /*左の線の幅、線種、255,255,255は白の事で0.4は40%色がついた状態の事。*/
    background: #669ACC;
    /*背景色*/
}

/*最初のメニューへの追加設定*/
#menubar li:first-child a {
    border-left: none;
    /*角丸の指定。左上、右上、右下、左下への順番。*/
}

/*最後のメニューへの追加設定*/
#menubar li:last-child a {
    /*角丸の指定。左上、右上、右下、左下への順番。*/
}

/*飾り文字*/
#menubar li span {
    display: block;
    font-size: 10px;
    /*文字サイズ*/
    font-weight: normal;
    /*文字を太字でなく標準に戻す設定*/
    letter-spacing: 0.2em;
    /*文字間隔を少しあける設定*/
    opacity: 0.5;
    /*透明度50％*/
}

/*マウスオン時と、現在表示中(current)のメニューの設定*/
#menubar li a:hover,
#menubar li.current a {
    background: #216CAA;
    /*背景色*/
}

/*スマホ用メニューを表示させない*/
#menubar-s {
    display: none;
}

/*３本バーアイコンを表示させない*/
#menubar_hdr {
    display: none;
}

/*ドロップダウンメニュー用
---------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar ul.ddmenu {
    position: absolute;
    visibility: hidden;
    z-index: 10;
    width: 16.66%;
    /*幅。上の「#menubar li」と合わせる。*/
    border-top: 1px solid #fff;
    /*上の線の幅、線種、色*/
}

/*メニュー１個あたりの設定*/
#menubar ul.ddmenu li {
    float: none;
    width: 100%;
    line-height: 1.5;
}

#menubar ul.ddmenu li a {
    width: 100%;
    height: auto;
    font-weight: normal;
    border-radius: 0 !important;
    border: none;
    /*線を一旦リセット*/
    border-bottom: 1px solid #fff;
    /*下の線の幅、線種、色*/
    background: #000;
    /*背景色（古いブラウザ用）*/
    background: rgba(0, 0, 0, 0.7);
    /*背景色。0,0,0は黒の事で0.7は70%色がついた状態の事。*/
    color: #fff;
    /*文字色*/
    padding: 10px 0;
    /*上下、左右への余白*/
}

/*マウスオン時*/
#menubar ul.ddmenu li a:hover {
    background: #000;
    /*背景色*/
}

/*fixmenu。メインメニューが画面上部に到達した際の設定
---------------------------------------------------------------------------*/
/*fixmenuブロック*/
body.is-fixed .nav-fix-pos {
    width: 100%;
    z-index: 100;
    position: fixed;
    top: 0;
    left: 0;
}

/*headerブロック*/
body.is-fixed header {
    margin-bottom: 95px;
    /*メインメニューのheight(75)とmargin-bottom(20)を足した数字にする*/
}

/*最初のメニューへの追加設定*/
body.is-fixed #menubar li:first-child a {
    border-left: none;
}

/*最後のメニューへの追加設定*/
body.is-fixed #menubar li:last-child a {
}

/*コンテンツ（mainとsubブロックを囲むボックス）
---------------------------------------------------------------------------*/
#contents {
    clear: both;
    padding: 40px 0;
}

/*メインコンテンツ
---------------------------------------------------------------------------*/
/*メインコンテンツブロック*/
#main {
    float: right;
    /*右に回り込み*/
    width: 75%;
    /*ボックス幅*/
    padding-bottom: 40px;
}

/*１カラム時のメインコンテンツ*/
.c1 #main {
    float: none;
    width: auto;
}

/*mainコンテンツのh2タグ設定*/
#main h2 {
    clear: both;
    margin-bottom: 20px;
    padding: 10px 20px;
    /*上下、左右への余白*/
    font-size: 120%;
    /*文字サイズ*/
    color: #fff;
    /*文字色*/
    background: #669ACC;
    /*背景色*/
    border-radius: 10px;
    /*角丸のサイズ。この行を削除すれば角が尖った長方形になります。*/
}

/*h2タグの１文字目への追加設定*/
#main h2::first-letter {
    border-left: 3px solid #fff;
    /*左の線の幅、線種、色*/
    padding-left: 15px;
    /*線とテキストとの余白*/
}

/*mainコンテンツのh3タグ設定*/
#main h3 {
    clear: both;
    margin-bottom: 20px;
    padding: 5px 20px;
    /*上下、左右への余白*/
    font-size: 110%;
    /*文字サイズ*/
    border: 1px solid #ccc;
    /*枠線の幅、線種、色*/
    border-radius: 10px;
    /*角丸のサイズ。この行を削除すれば角が尖った長方形になります。*/
}

/*h3タグの１文字目への追加設定*/
#main h3::first-letter {
    border-left: 3px solid #669ACC;
    /*左の線の幅、線種、色*/
    padding-left: 15px;
    /*線とテキストとの余白*/
}

/*mainコンテンツの段落タグ設定*/
#main p {
    padding:0  0 20px 0px;
    /*上、左右、下への余白*/
}

/*他。微調整。*/
#main p + p {
    margin-top: -5px;
}

#main h2 + p,
#main h3 + p {
    margin-top: -5px;
}

#main section + section {
    padding-top: 30px;
}

/*サブコンテンツ
---------------------------------------------------------------------------*/
#sub {
    float: left;
    /*左に回り込み*/
    width: 22%;
    /*ブロックの幅*/
    padding-bottom: 40px;
}

/*１カラム字のサブコンテンツ*/
.c1 #sub {
    display: none;
}

/*h2見出しタグ設定*/
#sub h2 {
    margin-bottom: 10px;
    font-size: 110%;
    /*文字サイズ*/
}

/*subコンテンツのh2タグの１文字目への設定*/
#sub h2::first-letter {
    border-left: 3px solid #669ACC;
    /*左側のアクセント用ラインの幅、線種、色*/
    padding-left: 10px;
}

/*段落タグ（p）設定*/
#sub p {
    line-height: 1.6;
    /*行間を少し狭く*/
}

/*サブコンテンツ内のメニュー
---------------------------------------------------------------------------*/
/*メニュー全体の設定*/
#sub .submenu {
    margin-bottom: 20px;
    /*メニューブロックの下に空けるスペース*/
    border-top: solid 1px #e4e4e4;
    /*上の線の線種、幅、色*/
}

/*メニュー１個ごとの設定*/
#sub .submenu li {
    border-bottom: solid 1px #e4e4e4;
    /*下の線の線種、幅、色*/
}

#sub .submenu li a {
    text-decoration: none;
    display: block;
    padding: 10px 10px 10px 30px;
    /*上、右、下、左へのメニュー内の余白*/
    background: #fff url(../images/arrow2.png) no-repeat 10px center / 10px;
    /*矢印アイコンの読み込み。左から10px、上下中央に配置。幅10px。*/
}

/*サブコンテンツ内のbox1
---------------------------------------------------------------------------*/
#sub .box1 {
    padding: 15px;
    /*ボックス内の余白*/
    margin-bottom: 20px;
    /*ボックスの下に空けるスペース*/
    background: #f5f5f5;
    /*背景色*/
    border: solid 1px #dbdbdb;
    /*線の線種、幅、色*/
    box-shadow: 0px 0px 1px 1px #fff inset;
    /*ボックスの影。右へ、下へ、ぼかし幅、距離。#fffは白のことでinsetは内側へ向けての影の指定。*/
    border-radius: 10px;
    /*角丸のサイズ*/
}

/*box1内のメニューの設定*/
#sub .box1 .submenu {
    margin-bottom: 0px;
}

#sub .box1 .submenu li a {
    padding: 5px 10px;
    /*上下、左右へのメニュー内の余白*/
    background: #fff;
    /*背景色*/
}

/*フッター設定
---------------------------------------------------------------------------*/
/*footerボックス*/
footer {
    clear: both;
    overflow: hidden;
    border-top: 5px solid #669ACC;
    /*上の線の幅、線種、色*/
    background: #444;
    /*背景色*/
    color: #fff;
    /*文字色*/
    padding-top: 20px;
    /*上に空けるボックス内の余白*/
}

/*footer内のinner*/
footer .inner {
    padding: 0 50px;
    /*上下、左右へのブロック内余白*/
}

/*リンクテキスト、マウスオン時の文字色*/
footer a,
footer a:hover {
    color: #fff;
}

/*フッター内のh2タグ*/
footer h2 {
    font-size: 200%;
    /*文字サイズ*/
    font-weight: normal;
    text-align: center;
    /*内容をセンタリング*/
    letter-spacing: 0.1em;
    /*文字間隔を少し広く*/
}

/*フッター内のaddress（電話番号ブロック）タグ*/
footer address {
    font-style: normal;
    background: #333;
    /*背景色*/
    border-radius: 10px;
    /*角丸の指定*/
    text-align: center;
    /*内容をセンタリング*/
    line-height: 1.5;
    /*行間*/
    padding: 5px;
    /*ボックス内の余白*/
}

/*フッター内のaddress（電話番号の行）タグ*/
footer address .tel {
    font-size: 40px;
    /*文字サイズ*/
    background: url(../images/icon_tel.png) no-repeat left center / 30px;
    /*電話番号アイコンの読み込み*/
    padding-left: 45px;
    /*電話番号アイコンの幅をここで調整する*/
}


/*フッターメニュー
---------------------------------------------------------------------------*/
/*ボックス全体*/
#footermenu {
    clear: both;
    overflow: hidden;

    /*文字サイズを少し小さく*/
    margin-left: -1%;
    padding: 35px 0px 30px 0px;
}

/*１列分の設定*/
#footermenu ul {
    flex-basis: 30px 30px;
    float: left;
    /*左に回り込み*/
    text-align: center;
    width: 15.6%;
    /*今回は４列作ったので、下のmarginを含めて25%になるよう指定。５列にするならこの行は19%にする。*/
    margin-left: 1%;
}

/*メニュー１個あたりの設定*/
#footermenu ul li {
    padding: 10px 10px;
    /*上下、左右への余白*/
}

/*見出し*/
#footermenu li.title {
    font-weight: bold;
    /*太字にする*/
    border-radius: 2px;
    /*角丸のサイズ*/
    border-bottom: 1px solid #fff;
}

/*　中田追記　PCの時TEL無効　*/
a[href*="tel:"] {
	pointer-events: none;
}

/* index内夜間診療の間隔をあける */
.ta2.yakantable {
	margin-top: 20px;
}
/*　2021/08/11　大森追記　採用情報ページ　*/
.recruit_s{
	font-size: 70%;
	margin-top: 5px;
}


/*680px以下-------------------------*/
@media screen and (max-width: 680px){
#footermenu ul {
    flex-basis: 20px 20px;
    float: left;
    /*左に回り込み*/
    text-align: center;
    /*width: 15.6%;--*/
    width:49%;
    /*今回は４列作ったので、下のmarginを含めて25%になるよう指定。５列にするならこの行は19%にする。*/
    margin-left: 1%;
    font-size: 1.5em;
}
    #footermenu{
        padding:5px 5px;
        padding-bottom:25px;
    }
    .menu {
        overflow-wrap: normal;
    }
		/*　中田追記　スマホの時TELかかる　*/
	a[href*="tel:"] {
	pointer-events: auto;
	}
}
    

/*リンクテキスト*/
#footermenu a {
    font-weight: bold;
    /*太字にする*/
}

/*コピーライト
---------------------------------------------------------------------------*/
#copyright {
    clear: both;
    text-align: center;
    background: #333;
    /*背景色*/
    color: #fff;
    /*文字色*/
    padding: 20px;
    /*ボックス内の余白*/
}

#copyright a {
    text-decoration: none;
    color: #fff;
}

#copyright .pr {
    display: block;
}

/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*ブロック全体の設定*/
#new dl {
    padding: 0px 20px;
    /*上下、左右へのブロック内の余白*/
    margin-bottom: 20px;
    /*ブロックの下(外側)に空ける余白*/
}

/*日付設定*/
#new dt {
    float: left;
    width: 9em;
    letter-spacing: 0.1em;
}

/*記事設定*/
#new dd {
    padding-left: 9em;
    border-bottom: 1px solid #ccc;
    /*下線の幅、線種、色*/
}

/*listブロック
---------------------------------------------------------------------------*/
/*ブロック１個あたりの設定*/
.list {
    overflow: hidden;
    width: 26.4%;
    /*幅*/
    float: left;
    /*左に回り込み*/
    margin: 0 0 20px 2%;
    /*上、右、下、左へのボックスの外側に空けるスペース*/
    border: 1px solid #ccc;
    /*枠線の幅、線種、色*/
    box-shadow: 3px 4px 2px rgba(0, 0, 0, 0.1);
    /*ボックスの影。右へ、下へ、ぼかし幅、色。0,0,0は黒の事で、0.1は色が10%出た状態。*/
    padding: 2%;
    /*ボックス内の余白*/
    border-radius: 3px;
    /*角丸のサイズ。ほんの少し角が丸くなってます。*/
}

.list a {
    display: block;
    text-decoration: none;
    overflow: hidden;
    margin: -2%;
    /*ボックスのマージン。リンク設定する場合に、上の.listのpaddingを相殺するため。*/
    padding: 2%;
    /*ボックス内の余白*/
    background: url(../images/arrow1.png) no-repeat right bottom / 40px;
    /*リンク設定した際の右下の矢印マークの読み込み。right（右）、bottom（下）、40pxは画像の幅。*/
}

/*マウスオン時の設定*/
.list a:hover {
    position: relative;
    left: 1px;
    /*マウスオン時に右に1px移動する*/
    top: 1px;
    /*マウスオン時に下に1px移動する*/
}

/*h4（見出し）タグの設定*/
.list h4 {
    color: #7ebb77;
    /*文字色*/
    font-size: 120%;
    /*文字サイズ*/
    text-align: center;
    /*文字をセンタリング*/
    height: 2em;
    /*高さ*/
    overflow: hidden;
    /*高さを超えた場合に非表示にする*/
}

table .ta2 h4 {
    margin-bottom: 0;
}

/*p（段落）タグの設定*/
.list p {
    padding: 0 !important;
    line-height: 1.5;
    /*行間を少し狭くする。デフォルトは最上部のbodyにあります。*/
    font-size: 90%;
    /*文字サイズを少し小さく*/
    color: #333;
    /*文字色*/
    height: 6em;
    /*高さ。1.5emを１行分とカウントして下さい。6emなら４行です。*/
    overflow: hidden;
    /*高さを超えた場合に非表示にする*/
}

/*サムネイル画像の設定
---------------------------------------------------------------------------*/
.thumbnail {
    width: 70px;
    /*サムネイル画像の幅*/
    margin: 5px;
    /*画像同士に空けるスペース*/
    opacity: 0.7;
    /*透明度。色が70%出た状態。*/
}

/*マウスオン時*/
.thumbnail:hover {
    opacity: 1;
    /*透明度。色が100%出た状態。*/
}

/*box（info1.htmlやstaff.htmlで使っている枠色がついたタイプのボックス）
---------------------------------------------------------------------------*/
/*box*/
.box {
    overflow: hidden;
    border: 3px solid #7ebb77;
    /*枠線の幅、線種、色*/
    padding: 20px;
    /*ボックス内の余白*/
    border-radius: 10px;
    /*角丸のサイズ。この１行を削除すれば角のとれた長方形になります。*/
    margin-bottom: 20px;
    /*ボックスの下に空けるスペース*/
}

/*box内のh4タグ*/
.box h4 {
    color: #7ebb77;
    /*文字色*/
    font-size: 130%;
    /*文字サイズ*/
}

/*box内のpタグ*/
.box p {
    padding: 0 !important;
}

/*box内のfrとflスタイルのリセット*/
.box .fr,
.box .fl {
    margin-bottom: 0;
}

/*ページナビ（メインメニューの下にある、現在の階層を示すナビメニュー）
---------------------------------------------------------------------------*/
/*ナビブロック全体*/
.nav {
    background: #eee;
    /*背景色*/
    padding: 10px 20px;
    /*上下、左右へのボックス内の余白*/
    margin-bottom: 30px;
    /*ボックスの下（外側）に空けるスペース*/
    margin-top: -30px;
    /*メニューとの余白が空きすぎるので少し上につめる*/
    border-radius: 10px;
    /*角丸の指定*/
}

/*メニュー１個あたりの指定*/
.nav li {
    display: inline;
    /*横並びになる指定*/
    padding: 0 5px;
    /*上下、左右への余白*/
}

/*メニューの冒頭に入れる「>」のマーク*/
.nav li::before {
    content: ">";
    /*このテキストを出力します。変更してもかまいませんが機種依存文字は化ける場合があるので使わない。*/
    padding-right: 12px;
    /*文字サイズ*/
    color: #999;
    /*文字色*/
}

/*最初のメニューには「>」は入れない*/
.nav li:first-child::before {
    content: none;
}

/*ページ内メニュー（info.htmlで使用）
---------------------------------------------------------------------------*/
/*ブロック全体*/
.menu {
    overflow: hidden;
    margin-bottom: 10px;
    /*下に空けるスペース*/
    text-align: center;
    /*内容をセンタリング*/
    font-size: 120%;
    /*文字サイズ*/
}

/*メニュー１個あたりの指定*/
.menu li {
    display: inline;
    /*横並びになる指定*/
    border-right: 1px solid #999;
    /*右側の線の幅、線種、色*/
}

.menu li a {
    padding: 10px;
    /*メニュー内余白*/
    color: #999;
    /*リンクテキストの文字色*/
}

/*最初のメニューへの追加指定*/
.menu li:first-child {
    border-left: 1px solid #999;
    /*左側の線の幅、線種、色*/
}

/*現在表示中(current)と、マウスオン(hover)時の指定*/
.menu li.current a,
.menu li a:hover {
    text-decoration: none;
    /*リンクの下線を非表示にする*/
    color: #333;
    /*文字色*/
}

/*よく頂く質問
---------------------------------------------------------------------------*/
/*外側ブロック*/
.faq {
    padding: 0px 20px;
    /*上下、左右への余白*/
}

/*質問*/
.faq dt {
    color: #669ACC;
    /*文字色*/
    font-weight: bold;
    /*太字にする設定*/
    padding-left: 30px;
    /*背景アイコンに重ならないよう左に余白を作る*/
    background: url(../images/faq_q.png) no-repeat left top / 30px;
    /*「Q」アイコン*/
}

.faq a {

    font-weight: bold;
    color: #669ACC;
}

/*回答*/
.faq dd {
    padding-left: 30px;
    /*背景アイコンに重ならないよう左に余白を作る*/
    margin-bottom: 20px;
    /*ボックスの下側（外側）に空けるスペース*/
    padding-bottom: 20px;
    /*ボックス内の下側に空けるスペース*/
    border-bottom: 1px solid #ccc;
    /*下線の幅、線種、色*/
    background: url(../images/faq_a.png) no-repeat left top / 30px;
    /*「A」アイコン*/
}

/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
    border: 1px solid #ccc;
    /*テーブルの枠線の幅、線種、色*/
    border-bottom: none;
    /*下線だけ消す*/
    text-align: left;
    /*文字を左寄せ*/
    background: #eee;
    /*背景色*/
    color: #666;
    /*文字色*/
    font-weight: bold;
    /*太字に*/
    padding: 10px;
    /*ボックス内の余白*/
}

/*テーブル１行目に入った見出し部分（※tamidashi）*/
.ta1 th.tamidashi {
    border: 1px solid #ccc;
    border-bottom: none;
    width: auto;
    color: #666;
    font-weight: bold;
    padding: 10px;
}

/*ta1設定*/
.ta1 {
    table-layout: fixed;
    width: 100%;
    margin: 0 auto 20px;
}

.ta1,
.ta1 td,
.ta1 th {
    word-break: break-all;
    border: 1px solid #ccc;
    /*テーブルの枠線の幅、線種、色*/
    padding: 10px;
    /*ボックス内の余白*/
}

/*ta1の左側ボックス*/
.ta1 th {
    width: 140px;
    /*幅*/
    text-align: center;
    /*センタリング*/
}

/*テーブル（ta2）サブブロックの受付テーブルに使用。
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta2 caption {
    border: 1px solid #b7b7b7;
    /*テーブルの枠線の幅、線種、色*/
    border-bottom: none;
    /*下線だけ消す*/
    text-align: center;
    background: #fff;
    /*背景色*/
    color: #333;
    font-weight: bold;
    /*太字に*/
    padding: 10px;
    /*ボックス内の余白*/
}

/*ta2設定*/
.ta2 {
    table-layout: fixed;
    width: 100%;
    margin-bottom: 0px;
    text-align: center;
    /*センタリング*/
    background: #fff;
    /*背景色*/
    color: #333;
}

.ta2,
.ta2 td,
.ta2 th {
    padding: 20px 0;
    line-height: normal;
    word-break: break-word;
    border: 1px solid #b7b7b7;
    /*テーブルの枠線の幅、線種、色*/
}

/*曜日*/
.ta2 th {
    background: #fffbe3;
}

/**テーブル（ta3)
-------------------------*/
.ta3_1 caption {
    border: 1px solid #b7b7b7;
    /*テーブルの枠線の幅、線種、色*/
    border-bottom: none;
    /*下線だけ消す*/
    text-align: center;
    background: #fffbe3;
    /*背景色*/
    color: #333;
    font-weight: bold;
    /*太字に*/
    padding: 10px;
    /*ボックス内の余白*/
}

.ta3_1 {
    table-layout: fixed;
    width: 100%;
    margin-bottom: 0px;
    text-align: center;
    /*センタリング*/
    background: #fff;
    /*背景色*/
    color: #333;
}

.ta,
.ta3_1 td,
.ta3_1 th {
    padding: 20px 0;
    line-height: normal;
    word-break: break-word;
    border: 1px solid #b7b7b7;
    /*テーブルの枠線の幅、線種、色*/
}

.ta3_1 th {
    background: #fffbe3;
}

.ta3_1 {
    margin-bottom: 30px;
}


/*btn（inputタグ用）
---------------------------------------------------------------------------*/
input[type="submit"].btn,
input[type="button"].btn,
input[type="reset"].btn {
    padding: 5px 10px;
    /*上下、左右へのボタン内の余白*/
    border: 1px solid #ccc;
    /*枠線の幅、線種、色*/
    border-radius: 3px;
    /*角丸のサイズ*/
    background: #eee;
    /*背景色*/
}

/*マウスオン時の設定*/
input[type="submit"].btn:hover,
input[type="button"].btn:hover,
input[type="reset"].btn:hover {
    border: 1px solid #999;
    /*枠線の幅、線種、色*/
    background: #fff;
    /*背景色*/
}

/*checkブロック。赤い注意書きブロックです。
---------------------------------------------------------------------------*/
p.check {
    background: #ff0000;
    color: #fff;
    padding: 10px 25px !important;
    margin-bottom: 20px;
    border-radius: 3px;
}

#sub p.check {
    padding: 5px 10px !important;
}

p.check a {
    color: #fff;
}

/*新着情報ボタン
-------------------------------------------------------------------------*/
.sec1 {
    text-align: center;
    margin-top: 20px;
}


.btn-flat-border {
    font-weight: bold;
    font-size: 1em;
    text-align: center;
    display: inline-block;
    padding: 1em 2em;
    color: #669ACC;
    border: solid 2px #669ACC;
    border-radius: 3px;
    transition: .4s;
}

.btn-flat-border:hover {
    background: #669ACC;
    color: white;
}

/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
/*アニメーションのキーフレーム設定（変更不要）*/
@keyframes scroll {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/*デフォルトでは非表示に*/
body .nav-fix-pos-pagetop a {
    display: none;
}

/*ボタンの設定*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a {
    display: block;
    text-decoration: none;
    text-align: center;
    z-index: 100;
    position: fixed;
    width: 60px;
    /*幅*/
    line-height: 60px;
    /*高さ*/
    bottom: 40px;
    /*下から40pxの場所に配置*/
    right: 1%;
    /*右から1%の場所に配置*/
    background: #669ACC;
    /*背景色*/
    color: #fff;
    /*文字色*/
    border: 1px solid #fff;
    /*枠線の幅、線種、色*/
    border-radius: 50%;
    /*円形にする*/
    animation-name: scroll;
    /*上のアニメーションで指定しているkeyframesの名前（scroll）*/
    animation-duration: 1S;
    /*アニメーションの実行時間*/
    animation-fill-mode: forwards;
    /*アニメーションの完了後、最後のキーフレームを維持する*/
}

/*マウスオン時*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover {
    background: #999;
    /*背景色*/
}

/*ul.disc,olタグ
---------------------------------------------------------------------------*/
ul.disc {
    list-style: disc;
    padding: 0 20px 20px 20px;
}

ol {
    padding: 0 20px 20px 45px;
}

#sub ul.disc,
#sub ol {
    padding: 0 0 0 20px;
}

/*pdfアイコン
---------------------------------------------------------------------------*/
a[href$=".pdf"] {
    display: inline-block;
    background: url(../images/PDF_32.png) no-repeat right center;
    padding: 5px 40px 5px 0px;
}

/*「NEW」アイコン
---------------------------------------------------------------------------*/
.newicon {
    background: #F00;
    /*背景色*/
    color: #FFF;
    /*文字色*/
    font-size: 70%;
    /*文字サイズ*/
    line-height: 1.5;
    padding: 2px 5px;
    border-radius: 2px;
    margin: 0px 5px;
    vertical-align: text-top;
}

/*topic
---------------------------------------------------------------------------*/
.topic section p {
    font-weight: 80%;
}

.topic {
    padding-bottom: 9%;
}

/*その他
---------------------------------------------------------------------------*/
.look {
    color: #fff;
    background: #666;
    padding: 5px;
    border-radius: 4px;
}

.mb15,
.mb1em {
    margin-bottom: 15px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.clear {
    clear: both;
}

.color1 {
    color: #7ebb77 !important;
}

.bgcolor1 {
    background: #f2f2f2 !important;

}

.br {
    line-height: initial;
}

.bgcolor1 p {
    font-size: 9pt;
}

.bgcolor2 {
    background: #dbebf7 !important;
}

.pr {
    font-size: 10px;
}

.wl {
    width: 96%;
}

.ws {
    width: 50%;
}

.w40p {
    width: 40%;
}

.w30p {
    width: 30%;
}

.w20p {
    width: 20%;
}

.c {
    text-align: center;
}

.r {
    text-align: right;
}

.l {
    text-align: left;
}

.fr {
    float: right;
    margin-left: 2%;
    margin-bottom: 20px;
}

.fl {
    float: left;
    margin-right: 2%;
    margin-bottom: 20px;
}

.big1 {
    font-size: 200%;
    letter-spacing: 0.2em;
}

.mini1 {
    font-size: 80%;
}

.sh {
    display: none;
}

.half {
    width: 48%;
}

.link {
    display: block;
    margin-top: -80px;
    padding-top: 80px;
}



/*画面幅1450px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1450px) {

    /*上の#containerのpaddingの数字部分と合わせておく*/
    body.is-fixed #menubar {
        margin: 0 50px;
    }

}



/*画面幅900px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:900px) {

    /*containerの設定（footer以外の、ホームページを囲むブロック）
---------------------------------------------------------------------------*/
    #container {
        padding: 0 7%;
        /*上下、左右へのブロック内余白*/
    }

    /*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
    /*ヘッダーブロック*/
    header {
        height: 120px;
        background: none;
        padding: 10px 0;
        text-align: left;
		justify-content: center;
		max-width: 400px;
    }

    /*ロゴ画像*/
    header #logo {
		width: 300px;
        margin: 0 auto;
		position: relative;
		left: auto;
		top: 10px;
		transform: translateY(0%);
		-webkit-transform: translateY(0%);
    }
	.header_flex {
    position: relative;
		top: 0;
		right: auto;
		transform: translateY(0%);
		-webkit-transform: translateY(0%);
}
	header address .tel {
    font-size: 180%;
    background: url(../images/icon_tel.png) no-repeat left center / 21px;
    padding-left: 30px;
}
    /*TELブロック*/
    header address {
		margin-bottom: -20px;
    }

    /*文字サイズ変更ボタン（※文字サイズを「大」にした時の設定はchange.cssで行う）
---------------------------------------------------------------------------*/
    /*ボタンブロック全体*/
    #fsize {
        display: none;
        /*非表示にする*/
    }

    /*メインメニュー
---------------------------------------------------------------------------*/
    /*アニメーションのフレーム設定。全100コマアニメーションだと思って下さい。透明(0%)から色を100%出すアニメーション指定。*/
    @keyframes menu1 {
        0% {
            opacity: 0;
        }

        100% {
            opacity: 1;
        }
    }

    /*スマホ用メニューブロック*/
    #menubar-s {
        display: block;
        overflow: scroll;
        height: 100%;
        z-index: 1;
        position: fixed;
        top: 0px;
        /*上からの配置場所指定*/
        left: 0px;
        /*左からの配置場所指定*/
        width: 100%;
        /*幅*/
        animation-name: menu1;
        /*上のkeyframesの名前*/
        animation-duration: 0.5S;
        /*アニメーションの実行時間。0.5秒。*/
        animation-fill-mode: both;
        /*アニメーションの待機中は最初のキーフレームを維持、終了後は最後のキーフレームを維持。*/
    }

    /*メニュー１個あたりの設定*/
    #menubar-s li a {
        display: block;
        text-decoration: none;
        padding: 5px 10px;
        /*上下、左右へのメニュー内の余白*/
        border-bottom: 1px solid #fff;
        /*下の線の幅、線種、色*/
        background: #669ACC;
        /*背景色*/
        font-size: 18px;
        /*文字サイズ*/
        color: #fff;
        /*文字色*/
    }

    /*英語表記（飾り文字）*/
    #menubar-s li a span {
        font-size: 12px;
        /*文字サイズ*/
        margin-left: 20px
    }

    /*PC用メニューを非表示にする*/
    #menubar {
        display: none;
    }

    /*３本バーアイコン設定
---------------------------------------------------------------------------*/
    /*３本バーブロック*/
    #menubar_hdr {
        display: block;
        position: fixed;
        z-index: 2;
        top: 25px;
        /*上からの配置場所指定*/
        right: 3%;
        /*右からの配置場所指定*/
        border: 1px solid #fff;
        /*枠線の幅、線種、色*/
    }

    /*アイコン共通設定*/
    #menubar_hdr.close,
    #menubar_hdr.open {
        width: 50px;
        /*幅*/
        height: 50px;
        /*高さ*/
        border-radius: 50%;
        /*円形にする。この行削除すれば正方形になります。*/
		z-index: 100;
    }

    /*三本バーアイコン*/
    #menubar_hdr.close {
        background: #669ACC url(../images/icon_menu.png) no-repeat center top/50px;
        /*背景色、アイコンの読み込み、上半分(top)を表示、幅50px*/
    }

    /*閉じるアイコン*/
    #menubar_hdr.open {
        background: #333 url(../images/icon_menu.png) no-repeat center bottom/50px;
        /*背景色、アイコンの読み込み、上半分(bottom)を表示、幅50px*/
    }

    /*fixmenu。メインメニューが画面上部に到達した際の設定
---------------------------------------------------------------------------*/
    body.is-fixed header {
        margin-bottom: 0px;
        /*fixmenuから折りたたみメニューになるので、ここはリセット。*/
    }

    /*main,sub
---------------------------------------------------------------------------*/
    #main,
    #sub {
        float: none;
        width: auto;
        overflow: hidden;
    }

    /*doclist
---------------------------------------------------------------------------*/
    section .doclist caption .bgcolor {
        text-align: center;
    }

    /*フッター設定
---------------------------------------------------------------------------*/
    /*footer内のinner*/
    footer .inner {
        padding: 0 3%;
        /*上下、左右へのブロック内余白*/
    }

    /*footer内の２カラムブロックを１カラムにする*/
    footer .half.fr,
    footer .half.fl {
        float: none;
        margin: 0 0 20px;
        width: 100%;
    }


    /*その他
---------------------------------------------------------------------------*/
    body.s-n #sub,
    body.s-n #side {
        display: none;
    }

    .big1 {
        font-size: 150%;
        letter-spacing: normal;
    }

    .sh {
        display: block;
    }

    .pc {
        display: none;
    }

    .link {
        display: block;
        margin-top: 0px;
        padding-top: 0px;
    }

}

.luminous {
    margin: auto;

}

/*画面を横向きにした場合の高さが500px以下の場合の設定。
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (orientation: landscape) and (max-height:500px) {

    /*メインメニュー。小さな端末用メニューを２列に。
---------------------------------------------------------------------------*/
    /*メニュー１個あたりの設定*/
    #menubar-s li {
        float: left;
        /*左に回り込み*/
        width: 50%;
        /*幅*/
    }

}


.tel_icon{
	display: none;
}
/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px) {
	.tel_icon{
		display: block;
        position: fixed;
        top: 15px;
        width: 30px;
        right: 50px;
	}
	#menubar_hdr.close {
        background: #669ACC url(../images/icon_menu.png) no-repeat center top / 30px;
    }
	    #menubar_hdr.open {
        background: #333 url(../images/icon_menu.png) no-repeat center bottom / 30px;
    }
	#menubar_hdr.close, #menubar_hdr.open {
        width: 30px;
        height: 30px;
        border-radius: 50%;
		top: 17px;
		right: 10px;
    }
	header{
		margin: 0;
		height: 45px;
	}
    header #logo {
        margin: 0 auto 0 30px;
    }
	.header_flex {
    display: none;
}
    /*containerとfooterの文字サイズ指定
---------------------------------------------------------------------------*/
    #container,
    footer {
        font-size: 12px;
        font-size: 2.93vw;
    }

    /*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
    /*ロゴ画像*/
    header #logo {
        width: 250px;
        /*ロゴ画像の幅*/
    }

    /*TELブロックの電話番号部分*/
    header address .tel {
        font-size: 20px;
        background: url(../images/icon_tel.png) no-repeat left center / 18px;
        padding-left: 25px;
    }

    /*メインコンテンツ
---------------------------------------------------------------------------*/
    /*他。微調整。*/
    #main section + section {
        padding-top: 20px;
    }

    /*フッター設定
---------------------------------------------------------------------------*/
    /*フッター内のaddress（電話番号の行）タグ*/
    footer address .tel {
        font-size: 24px;
        background: url(../images/icon_tel.png) no-repeat left center / 20px;
        padding-left: 30px;
    }

    footer adrress {
        margin: 40px;
    }

    /*listブロック
---------------------------------------------------------------------------*/
    /*ブロック１個あたりの設定*/
    .list {
        width: auto;
        float: none;
        margin-left: 0;
    }

    .list figure {
        float: left;
        width: 40%;
        margin-right: 2%;
    }

    /*h4（見出し）とp(段落)タグの設定*/
    .list h4,
    .list p {
        height: auto;
    }

    /*よく頂く質問
---------------------------------------------------------------------------*/
    .faq dt,
    .faq dd {
        background-size: 25px;
    }

    /*テーブル（ta1）
---------------------------------------------------------------------------*/
    /*テーブル１行目に入った見出し部分（※caption）*/
    .ta1 caption {
        padding: 5px;
        /*ボックス内の余白*/
    }

    /*ta1設定*/
    .ta1,
    .ta1 td,
    .ta1 th {
        padding: 5px;
        /*ボックス内の余白*/
    }

    /*ta1の左側ボックス*/
    .ta1 th {
        width: 100px;
    }

    /*その他
---------------------------------------------------------------------------*/
    .ws,
    .wl {
        width: 94%;
    }

}


/*-----------tuiki------*/
.ta th {
    padding: 20px 0;
}




footer .uktk {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding-top: auto;
    padding-bottom: 10px;
}

footer .uke {
    color: #fff;
    padding: auto;
    text-align: center;
    border: 2px solid #fff;
    border-radius: 10px;
    margin-top: 20px;
}



footer .sinsa {
    margin-top: 20px;
    text-align: center;
}
/*----------------------------*/
@media screen and (min-width: 680px) {
    .pc {
        display: block!important;
    }

    .sp {
        display: none!important;
    }

    footer .uke li {
        list-style: none;
        font-size: 30px;
    }

    footer .kyusin li {
        list-style: none;
        font-size: 2rem;
    }

    footer .uke ul {
        font-size: 1.2rem;
        font-weight: bold;
    }

    footer .kyusin ul {
        font-size: 20px;
        font-weight: bold;
    }
}
@media screen and (max-width:679px) {
    .pc{
        display: none!important;
    }
    .sp {
        display: block!important;
    }
    
    
}

    /*----------------------------当院について-----------------------*/

    .info1 {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
    }

    .info1 li {
        flex-basis: 30%;
        margin-bottom: 10px;
    }

    .info1 img:hover {
        opacity: 0.7;
    }

    .map ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
    }

    .map li {
        text-align: center;
        flex-basis: 30%;
    }

    .details .ta1 th {
        background-color: #f2f2f2;
    }

    .history .ta1 th {
        background-color: #f2f2f2;
    }

    .greeting .right {
        margin-top: 15px;
        text-align: right;
    }

    /*-------------------------診療科目---------------------------*/

    .medicalmenu {
        display: flex;
        flex-wrap: wrap;
        /*justify-content: space-around;*/
    }

    .medicalmenu li {
        margin: 15px 0 15px 5%;
        flex-basis: 30%;
    }
    .medicalmenu li:nth-child(3n+1) {
        margin-left:0;
    }
.medicalmenu li:hover{
    opacity: 0.7;
}
    .medicalmenu li p {
        text-align: center;
    }

    .medical1 h3 {
        margin-top: 30px;
    }

    .medical1 h4 {
        font-weight: normal;
        background-color: #f0f8ff;
        color: #000;
        margin-top: 0px;
        font-size: 110%;
        padding: 5px 10px;
        margin-bottom: 10px;
    }

    .medical1 .ta2,
    .medical1 .ta1 {
        margin-top: 30px;
    }

    .medical1 .ta1 caption {
        text-align: center;
    }

    .eye1 span {
        color: #7ebb77;
        font-weight: bold;
    }

    .eye1 {
        padding: 0.5em 1em;
        margin: 2em 0;
        background-color: #EEFFED;
        border: dashed 2px #7ebb77;
        /*点線*/
    }

    .eye1 p {
        margin: 0;
        padding: 0;
    }

    .ear1 {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin-top: 20px;
    }

    .ear1 li {
        flex-basis: 30%;
        margin: 5px;
    }

    .medical2 {
        margin-bottom: 40px;
        height: 200px;
    }

    hr {
        margin-bottom: 30px;
    }

    .rehabili p {
        font-size: 130%;
        margin-bottom: 15px;
    }

    .rehabiliimg {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
    }

    .rehabili1,
    .rehabili2 {
        padding-top: 80px;
        margin-top: -80px;
    }

    .rehabiliimg li {
        flex-basis: 45%;
    }

    .rehabiliimg img {
        max-height: 400px;
    }

    .inspection1,
    .inspection2 {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
    }

    .inspection1 li {
        flex-basis: 30%;
        margin: 5px;
        text-align: center;
    }

    .inspection2 li {
        flex-basis: 22%;
        margin: 5px;
        text-align: center;
    }

    .inspection1 img,
    .inspection2 img {
        text-align: center;
    }

    .right {
        text-align: right;
        font-weight: bold;
    }

    .red {
        color: red;
    }

    .font-size {
        font-size: 130%;
        margin-top: 30px !important;
    }

    .homecare {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
    }

    .homecare li {
        flex-basis: 30%;
        margin: 5px;
    }

    @media screen and (max-width:480px) {
        .info1 li {
            flex-basis: 100%;
        }
        .medicalmenu {
        justify-content: space-around;
        }


        .medical1 .menu li a {
            padding: 10px;
        }
        .medicalmenu li{
            flex-basis: 42%;
            margin: 15px 0;
        }
        .menu li a{
            font-size:12px;
        }
        .ta2 th.bgcolor1 {
            font-size:9px;
        }
    }
.action_plan{
	font-size: 17px;
	font-weight: 500;
	margin:15px 0;
}



/*-------------------------2022年1月更新---------------------------*/
#main .f200{
    font-size: 200%;
}
.title_flex{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 50px 0 20px;
    border-bottom: dotted 1px #666;
}
.medical #main h2{
    background:none;
    color:#000;
    font-size: 200%;
    width:40%;
    font-weight: normal;
    position: relative;
    padding-left: 50px;
    padding-bottom: 40px;
}
.medical #main h2::before{
    position: absolute;
    top:22px;
    left:0;
    content: "";
    background-image: url("../images/medical1/icon.png");
    width:45px;
    height:45px;
    background-repeat: no-repeat;
    background-size: cover;
}
.medical #main h2::first-letter {
    border-left: none;
    padding-left: 0px;
}
.medical .title_flex p{
    width:50%;
}
.medical_box{
    margin-bottom: 50px;
}
.medical #main h3{
    display: inline-block;
    border-radius: 0;
    color:#669ACC;
    padding:0;
    border: none;
    border-bottom: solid 1px #669ACC;
    letter-spacing: 3px;
    font-size: 130%;
}
.medical #main h3::first-letter {
    border-left: none;
    padding-left: 0px;
}
#main .medical h3{
    margin-top: 0;
    padding: 0;
    color: #000;
    border: none;
}

#main .medical h3::first-letter {
    border-left: none;
    padding-left: 0px;
}
.staff_flex{
    margin-bottom: 60px;
    padding-bottom: 45px;
    border-bottom: solid 1px #000;
}
.staff_flex:last-of-type{
    margin-bottom: 0px;
    border-bottom: none;
}
.staff_flex ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.staff_flex ul li:first-child{
    width:40%;
}
.staff_flex ul li:last-child{
    width:55%;
}
.medical #main .staff_flex h3{
    margin-top: 0;
    color: #000;
    border: none;
}
.staff_flex p{
    margin-bottom: 30px;
}
.staff_flex table{
    width:100%;
}
.staff_flex tr{
    border-bottom: solid 1px #666;    
}
.staff_flex tr:last-child{
    border-bottom: none;    
}
.staff_flex th,.staff_flex td{
        padding: 15px 0;
    vertical-align: baseline;
    text-align: left;
}
.staff_flex th{
    width:25%;
}
.medical_flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.medical_flex li{
    margin-bottom: 30px;
}
.medical_flex li:nth-child(odd){
    width:60%;
}
.medical_flex li:nth-child(even){
    width:30%;
}
.medical_flex img{
    width:100%;
}
.medical_flex h3{
    margin-top: 0px;
}

#main .doctor h2{
    font-size: 140%;
    width:auto;
}
#main .doctor h2::before {
    position: absolute;
    top: 15px;
    left: 0;
    content: "";
    background-image: url(../images/medical1/icon.png);
    width: 35px;
    height: 35px;
    background-repeat: no-repeat;
}
#main .doctor a:hover{
    text-decoration: none;
}
.doctor_cat{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 20px;
}
.doctor_cat a{
    position: relative;
    width:21%;
    margin: 10px 0;
    padding: 5px 0 15px;
    text-align: center;
    border: 1px solid #ccc;
  background: #f1e767;
  background: -webkit-gradient(linear, left top, left bottom, from(#fdfbfb), to(#ebedee));
  background: -webkit-linear-gradient(top, #fdfbfb 0%, #ebedee 100%);
  background: linear-gradient(to bottom, #fdfbfb 0%, #ebedee 100%);
  -webkit-box-shadow: inset 1px 1px 1px #fff;
  box-shadow: inset 1px 1px 1px #fff;
}
.doctor_cat a::after{
    position: absolute;
    content: "▼";
    font-size: 70%;
    bottom:0px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.doctor_cat a:hover{
    opacity: 0.7;
  /*  background: -webkit-gradient(linear, left bottom, left top, from(#fdfbfb), to(#ebedee));
  background: -webkit-linear-gradient(bottom, #fdfbfb 0%, #ebedee 100%);
  background: linear-gradient(to top, #fdfbfb 0%, #ebedee 100%);*/
}
#cat1,#cat2,#cat3,#cat4,#cat5,#cat6,#cat7,#cat8{
    margin-top: -65px;
    padding-top: 65px;
}
.arrow{
    color: #669ACC;
    font-size: 80%;
    letter-spacing: -5px;
    position: relative;
    top: -2px;
}
/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px) {
    .medical .title_flex p {
    width:auto;
}
    .medical #main h2 {
        width:auto;
        padding-left: 40px;
}
    .medical #main h2::before {
    top: 15px;
        width:35px;
        height: 35px;
}
    .staff_flex ul li:first-child {
    width: auto;
}
    .staff_flex ul li:last-child {
    width:100%;
}
    #main .doctor h2 {
    font-size: 200%;
}
    .doctor_cat a{
        width:45%;
    }
}
/*========= ドロップダウンのためのCSS ===============*/

/*==ナビゲーション全体の設定*/
/*.gnavi nav{
	background:#669ACC;
	color:#fff;
	text-align: center;
}*/
/*ナビゲーションを横並びに*/
.gnavi nav ul{
    /*2階層目の基点にするためrelativeを指定*/
	position: relative;
	list-style: none;
	display: flex;
	justify-content: center;
}
nav span{
    display: block;
    font-size: 10px;
    font-weight: normal;
    letter-spacing: 0.2em;
    opacity: 0.5;
}
/*2階層目以降は横並びにしない*/
nav ul ul{
	display: block;
}

/*ナビゲーションのリンク設定*/
.gnavi nav ul li a{
    /*矢印の基点にするためrelativeを指定*/
	position: relative;
	display: block;
	text-decoration: none;
	color: #fff;
	padding:20px 25px 10px;
	transition:all .3s;
}

nav ul li li a{
	padding:20px;
}

.gnavi nav ul li a:hover{
	color:#fff;	
}
#menubar .has-child li a{
    border-radius: 0px;
}
#menubar .has-child li:nth-child(1) a{
    border-bottom: 1px dashed rgba(255, 255, 255, 0.4);
}
#menubar .has-child li:nth-child(2) a{
    border-bottom: 1px dashed rgba(255, 255, 255, 0.4);
}
#menubar .has-child li:nth-child(3) a{
    border-bottom: 1px dashed rgba(255, 255, 255, 0.4);
}
#menubar .has-child li:nth-child(4) a{
    border-bottom: 1px dashed rgba(255, 255, 255, 0.4);
}
#menubar .has-child li:nth-child(5) a{
    border-bottom: 1px dashed rgba(255, 255, 255, 0.4);
}
#menubar .has-child li:nth-child(6) a{
    border-bottom: 1px dashed rgba(255, 255, 255, 0.4);
}
#menubar .has-child li:nth-child(7) a{
    border-bottom: 1px dashed rgba(255, 255, 255, 0.4);
}
#menubar .has-child li:nth-child(8) a{
    border-bottom: 1px dashed rgba(255, 255, 255, 0.4);
}
/*==矢印の設定*/

/*2階層目を持つliの矢印の設定*/
/*
nav ul li.has-child > a::before{
	content:'';
	position: absolute;
	left:15px;
	top:25px;
	width:6px;
	height:6px;
	border-top: 2px solid #999;
    border-right:2px solid #999;
    transform: rotate(135deg);
}
*/
/*==2階層目以降の画像設定*/

nav ul li.has-child img{
	max-width: 100%;
	height: auto;
	transition: all .5s;
	vertical-align: bottom;
}

/*hoverしたら画像拡大*/
nav ul li.has-child img:hover{
	transform: scale(1.2);
}
nav ul li.has-child dt{
	overflow: hidden;
/*	height: 15vh;*/
/*	margin:0 0 20px 0;*/
}

@media screen and (max-width:1200px){
nav ul li.has-child dt{
	height: 12vh;
}
	
}

/*== 2層目の設定 */

nav li.has-child ul{
  /*絶対配置で位置を指定*/
    position: absolute;
	left:5%;
	top:70px;
	z-index: 4;
  /*子要素を横並びに*/    
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
    /*形状を指定*/
	background:#669ACC;
	width:90%;
    /*はじめは非表示*/
	visibility: hidden;
	opacity: 0;
     /*アニメーション設定*/
	transition: all .3s;
    font-size: 90%;
}
nav li.has-child.plan2 ul{
  /*絶対配置で位置を指定*/
    position: absolute;
	left:14%;
	top:70px;
	z-index: 4;
  /*子要素を横並びに*/    
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
    /*形状を指定*/
	background:#669ACC;
	width:72%;
    /*はじめは非表示*/
	visibility: hidden;
	opacity: 0;
     /*アニメーション設定*/
	transition: all .3s;
    font-size: 90%;
}

/*hoverしたら表示*/
nav li.has-child:hover > ul{
  visibility: visible;
  opacity: 1;
}

/*各ナビゲーション横幅*/
#menubar li.has-child ul li{
	width:20%;
}
#menubar li.has-child.plan2 ul li{
	width:25%;
}

/*ナビゲーションaタグの形状*/
nav li.has-child ul li a{
	color: #fff;
}

nav li.has-child ul li a:hover,
nav li.has-child ul li a:active{
	background:#3577CA;
}

/*==768px以下の形状*/
@media screen and (max-width:768px){
	
	.gnavi nav ul{
		display: block;
	}
nav li {
    width: 100%;
}
	nav li.has-child ul{
  	position: relative;
	left:0;
	top:0;
	width:100%;
	visibility:visible;/*JSで制御するため一旦表示*/
	opacity:1;/*JSで制御するため一旦表示*/
	display: none;/*JSのslidetoggleで表示させるため非表示に*/
	transition:none;/*JSで制御するためCSSのアニメーションを切る*/
}
    
	nav li.has-child ul li{
		width:100%;
		text-align: left;
	}
	
	nav li.has-child ul li dl{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	nav li.has-child ul li dt{
		width:25%;
		height: auto;
		margin: 0;
	}

	nav li.has-child ul li dd{
		width:64%;			
	}

    
    nav ul li a{
	    padding: 10px 20px;
	    border-bottom:1px solid #ccc;
}
    
    nav ul li li a{
		padding: 0;
}
	
/*矢印の位置と向き*/
/*	
nav ul li.has-child > a::before{
	top:17px;
	left:20px;
    transform: rotate(135deg);
}
    
nav ul li.has-child.active > a::before{
    transform: rotate(-45deg);
}*/
}







/*採用情報　新規
------------------------------------------------------------------------------------------------------------------------------------------------------*/
.recruit #main h2{
    font-size: 200%;
    display: inline-block;
    border-radius: 0;
    color: #228EDD;
    padding: 0;
    border: none;
    border-bottom: solid 2px #228EDD;
    background: none;
}
.recruit #main h2::first-letter{
    padding-left: 0px;
    border: none;
}
.recruit_cat ul{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 30px;
}
.recruit_cat a{
    width:20%;
    margin-left: 5%;
    margin-bottom: 20px;
    padding: 5px 0;
    text-align: center;
    text-align: center;
    border: 1px solid #ccc;
    background: #f1e767;
    background: -webkit-gradient(linear, left top, left bottom, from(#fdfbfb), to(#ebedee));
    background: -webkit-linear-gradient(top, #fdfbfb 0%, #ebedee 100%);
    background: linear-gradient(to bottom, #fdfbfb 0%, #ebedee 100%);
    -webkit-box-shadow: inset 1px 1px 1px #fff;
    box-shadow: inset 1px 1px 1px #fff;
}
.recruit_cat a:hover{
    text-decoration: none;
    opacity: 0.7;
}
.recruit_cat a:nth-child(4n+1){
    margin-left: 0;
}
.recruit #main h3{
    border: none;
    padding: 5px 0;
    font-size: 140%;
}
.recruit #main .recruit_list h3 span{
    font-size: 80%;
    color: #228EDD;
}
.recruit_list h3{
    position: relative;
}
.recruit #main .recruit_list h3::first-letter{
    padding: 0;
    border: none;
}
.recruit_list li{
    padding: 20px 25px 30px;
    border: solid 1px #ccc;
    border-radius: 30px;
    margin-bottom: 30px;;
}
.recruit_btn{
    padding: 5px 100px 5px 20px;
    position: relative;
    background-color: #eee;
    margin: 10px 0;
}

.recruit_btn::after{
    color: #228EDD;
    position: absolute;
    content: "▶";
    top: 50%;
    right: 10%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    
}
.recruit_btn:hover{
    text-decoration: none;
    opacity: 0.7;
} 

/*==480px以下の形状*/
@media screen and (max-width:480px){
    
    
.recruit_cat a{
    width:45%;
    padding: 10px 2%;
    margin-left: 0%;
}
.recruit_cat a:hover{
    text-decoration: none;
    opacity: 0.7;
}
    .recruit_cat ul{
        justify-content: space-around;
    }
}


.medical_box ul{
    display: flex;
    flex-wrap: wrap;
}
.medical_box .medical_box_text{
    width:55%;
    margin-right: 5%;
}
.medical_box .medical_box_img{
    width:40%;
}
@media screen and (max-width:480px){
.medical_box .medical_box_text{
    width:100%;
    margin-right: 0%;
}
.medical_box .medical_box_img{
    width:100%;
}
}

.recruit_cat.top_cat a{
    position: relative;
    width:14%;
    padding: 5px 3%;
}
.recruit_cat.top_cat a::after{
    position: absolute;
    content: "▶";
    font-size: 70%;
    top: 50%;
    right: 3%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
#sub a[href$=".pdf"] {
    display: inline-block;
    background: none;
    padding: 0;
}

/*==1024px以下の形状*/
@media screen and (max-width:1024px){
   
.recruit_cat.top_cat a{
    width:23%;
    margin-left: 2%;
}
.recruit_cat.top_cat a::after{
    right: 5px;
}
.recruit_cat.top_cat a:nth-child(4n+1) {
    margin-left: 0;
}
}
/*==480px以下の形状*/
@media screen and (max-width:480px){
.recruit_cat.top_cat a{
    width:30%;
    padding: 10px 6%;
    margin-left: 0%;
}
.recruit_cat.top_cat a::after{
    right: 4%;
}
}
/*看護部
------------------------------------------------------------------------------------------------------------------------------------------------------*/
.medical.nursing #main h2{
    width:100%;
    text-align: center;
    padding: 0 0 10px 0;
}
.medical.nursing #main .nursing_title_bg h2 {
    color: #ED97B2;
    width: auto;
    padding: 0px 20px 20px 20px;
    margin-right: 30px;
}
.medical.nursing #main h2::before {
    content: none;
}
.nursing_title_bg{
    position: relative;
    margin-bottom: 150px;
}
.nursing_title_bg img{
    width:100%;
}
.nursing .title_flex{
    justify-content: center;
    background: #fff;
    width:80%;
    border-bottom: none;
    border-radius: 30px;
    position: absolute;
    padding: 50px 0 0;;
    bottom: -150px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.medical.nursing .title_flex p {
    width: 50%;
}
.nursing_flex ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin-bottom: 50px;
}
.nursing_flex li{
    width:40%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    border: solid 3px #EA83B2;
    border-radius: 30px;
    overflow: hidden;
}
.nursing_flex li img{
    width:100%;
    overflow: hidden;
}
.nursing_flex li p{
    text-align: left;
    height: 130px;
}
.nursing_flex h2{
    line-height: 1.2;
}
.nursing_flex h2 span{
    letter-spacing: 2px;
    font-size: 45%;
    color: #EA83B2;
}
.nursing_flex li p span{
    color: #EA83B2;
}
.medical.nursing #main h3 {
    color: #EA83B2;
    border-bottom: solid 1px #EA83B2;
}
.nursing .medical1 h4 {
    color: #ED97B2;
    background-color: #FDF2F7;
}
.nursing_recruit ul{
    display: flex;
    flex-wrap: wrap;
    border: solid 3px #EA83B2;
    border-radius: 30px;
    overflow: hidden;
}
.nursing_recruit .nursing_recruit_img{
    width:45%;
}
.nursing_recruit .nursing_recruit_img img{
    width:100%;
    height:100%;
    object-fit: cover;
}
.nursing_recruit .nursing_recruit_text{
    width:50%;
    margin-left: 3%;
    padding: 30px 0;
}
.education ul{
    display: flex;
    flex-wrap: wrap;
    background-color:  #ED97B2;
    border-radius: 30px;
    margin-top: 50px;
}
.education .education_text{
    width:64%;
    padding: 3%;
    color: #fff;
}
.education .education_img{
    width: 26%;
    padding: 2%;
} 
.education .education_img img{
    width:100%;
    height:100%;
    object-fit: cover;
    border-radius: 20px;
} 
.medical.nursing #main .education h3 {
    display: block;
    color: #fff;
    border-bottom: dotted 1px #fff;
    margin-top: 0;
}
.nursing #menubar li a ,.nursing nav li.has-child ul{
    background: #ED97B2;
}
.nursing #fsize ul li#small a::before {
    background: #ED97B2;
}

.nursing #fsize ul li#large a:hover::before {
    background: #ED97B2;
}
.nursing #sub h2::first-letter {
    border-left: 3px solid #ED97B2;
    padding-left: 10px;
}
.nursing header address .tel {
    background: url("../images/nursing/icon_tel_pink.png") no-repeat left center / 26px;
}
.nursing footer {
    border-top: 5px solid #ED97B2;
}
.nursing #menubar li a:hover{
    background: #F9C0D5;
}
.nursing .btn{
    padding: 10px 70px 10px 20px;
    border: solid 1px #ED97B2;
    background-color: #ED97B2;
    color:#fff;
    border-radius: 30px;
    position: relative;
    transition: 0.7s
}
.nursing .btn:hover{
    text-decoration: none;
    background-color: #fff;
    border: solid 1px #ED97B2;
    color:#ED97B2;
}
.nursing .btn::after{
    content: ">";
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.btn{
    padding: 10px 20px 10px 40px;
    border: solid 1px #669ACC;
    color:#669ACC;
    border-radius: 20px;
    position: relative;
    transition: 0.7s
}
.btn:hover{
    text-decoration: none;
    color:#fff;
    background-color: #669ACC;
}
.hospital_btn .btn{
    margin-right: 30px;
}
.nursing .medical_box ul{
    margin-top: 30px;
}

@media screen and (max-width:480px){
.nursing_title_bg {
    margin-bottom: 250px;
}
.nursing .title_flex {
    width: 100%;
    bottom: auto;
    margin-top: 0px;
}
.medical.nursing .title_flex p {
    width: 100%;
}
.medical.nursing #main .nursing_title_bg h2 {
    color: #ED97B2;
    width: auto;
    padding: 0px;
    margin-right: 0px;
}
.nursing_flex li {
    width: 100%;
    margin-bottom: 50px;
}
.nursing_flex li:last-child {
    margin-bottom: 0px;
}
.nursing_flex li p{
    height:auto;
}
.nursing_recruit .nursing_recruit_img {
    width: 100%;
}
.nursing_recruit .nursing_recruit_text {
    width: 100%;
    margin-left: 0%;
    padding: 30px 0;
    text-align: center;
}
#main .nursing_recruit .nursing_recruit_text p{
    padding: 0px 20px 20px;
    text-align: left;
}
.education .education_text {
    width:auto;
}
.education .education_img {
    width: auto;
}
}

/*リハビリ
------------------------------------------------------------------------------------------------------------------------------------------------------*/
.medical #main .color_b{
    color: #000;
    border-bottom: none;
}
.rehabili_gairai{
    width:100%;
    padding-bottom: 25px;
    border-collapse: separate;
}
.rehabili_gairai th{
    width:20%;
    padding: 15px 20px;
    background-color: #F2F2F2;
    border: solid 1px #969797;
}
.rehabili_gairai td{
    padding: 15px 20px;
    border: solid 1px #969797;
}
.rehabili_cat h4{
    background-color: #669ACC;
    color: #fff;
}
.rehabili_cat li{
    margin-bottom: 30px;
}
#main .program{
    display: inline-block;
    padding: 5px 15px;
    border: solid 1px #000;
}
.program_cat ul{
    display: flex;
    flex-wrap: wrap;
    width:65%;
    margin-bottom: 30px;
}
.program_cat li{
    margin-right: 15px;
}

.program_cat_img ul{
    display: flex;
    flex-wrap: wrap;
        text-align: center;
}
.program_cat_img li{
    margin-right: 3%;
    width:30%;
}
.rehabili_type{
    margin-bottom: 50px;
}

@media screen and (max-width:480px){
    .rehabili_gairai th {
    width: 30%;
    }
    .program_cat ul {
    width: auto;
}
    .program_cat li {
    width: 100%;
}
    .program_cat_img li {
    margin-right: 0%;
    margin-bottom: 30px;
    width: 100%;
}
    
}

/*病棟
------------------------------------------------------------------------------------------------------------------------------------------------------*/
.ward_cat ul{
    display: flex;
    flex-wrap: wrap;
}
.ward_cat a{
    position: relative;
    border: solid 1px #ccc;
    border-radius: 15px;
    width:29%;
    margin: 2%;
    display: flex;
    justify-content: center;    
    background: -webkit-gradient(linear, left top, left bottom, from(#fdfbfb), to(#ebedee));
    background: -webkit-linear-gradient(top, #fdfbfb 0%, #ebedee 100%);
    background: linear-gradient(to bottom, #fdfbfb 0%, #ebedee 100%);
}
.ward_cat a:hover{
    text-decoration: none;
}
.ward_cat li{
    display: flex;
    align-items: center;
    justify-content: center;
    

}
.ward_cat li::after{
    content:url("../images/ward/arrow.png");  
    position: absolute;
    top: 50%;
    right: 50px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    
}
#main .ward_cat p{
    padding: 0;
    margin: 0;
}
#main .ward_cat p:nth-child(1){
    margin-right: 20px;
}
#main .ward_cat p:nth-child(2){
    margin-right: 20px;
}
.ward_info ul{
    display: flex;
    flex-wrap: wrap;
    border-top: solid 1px #999;
    border-bottom: solid 1px #999;
    margin-bottom: 50px;
    padding: 20px 0;
}
.ward_info li{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width:60%;
}
.ward_info li:first-child{
    justify-content: center;
    width:35%;
    margin-right: 20px;
    padding-right: 20px;
    border-right: solid 1px #999;
    font-size: 24px;
}
#main .ward_info p{
    padding: 0;
    width:50%;
}
.rehabili_cat .ward_info li{
    margin-bottom: 0;
}
.ward_img ul{
    display: flex;
    flex-wrap: wrap;
}
.ward_img li{
    width: 46%;
    margin:2%;
}
.ward_img li img{
    width: 100%;
}
#ward1,#ward2,#ward3{
    padding-top: 80px;
    margin-top: -80px;
}


@media screen and (max-width:480px){
.ward_cat ul {
    margin-bottom: 30px;
}
.ward_cat a {
    position: relative;
    border: solid 1px #ccc;
    border-radius: 15px;
    width: 80%;
    margin: 2% auto;
    height: 46px;
}
.ward_info ul {
    justify-content: center;
}
#main .ward_info p {
    padding: 0;
    margin: 0 20px ;
    width:100%;
}

.ward_info li:first-child {
    width: 100%;
    margin-right: 0px;
    padding-bottom: 20px;
    padding-right: 0px;
    margin-bottom: 20px;
    border-right: none;
    border-bottom: solid 1px #999;
}
.ward_img li {
    width: 100%;
    margin-left: 0%;
}
.ward_info li {
    width: 100%;
}
}

/*訪問・通所リハビリ
------------------------------------------------------------------------------------------------------------------------------------------------------*/
#rehabili1,#rehabili2{
    margin-top: -65px;
    padding-top: 65px;
}
.rehabili_cat.rehabili_sub .rehabili_title{
    background-color: #EAEFF9;
    color:#228DDC;
    margin-bottom: 20px;
    padding: 5px 10px;
}
.rehabili_cat.rehabili_sub h4{
    color:#228DDC;
    background-color: #fff;
    padding: 0;
    margin: 0;
}
.rehabili_cat.rehabili_sub li {
    margin-bottom: 10px;
}


@media screen and (max-width:480px){
.rehabili_flow img:last-child{
    margin-top:30px;
}

#rehabili1,#rehabili2{
    margin-top: 0px;
    padding-top: 0px;
}
}


/*在宅介護支援
------------------------------------------------------------------------------------------------------------------------------------------------------*/

.homecaresupport ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.homecaresupport li{
    width:35%;
    margin: 25px;;
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    
}
.homecaresupport li img{
    width:100%;
}
#main .homecaresupport h3{
    clear: both;
    width:75%;
    margin: 10px 0px 20px;
    border-radius: 0;
    padding: 5px 0px;
    font-size: 150%;
    border: none;
    text-align: center;
    border-bottom: solid 1px #fff;
}
#main .homecaresupport h3::first-letter{
    border-left: none;
    padding-left: 0px;
}
#main .homecaresupport p{
    padding: 10px 20px;
    height:11em;
    width:80%;
    line-height: 1.5;
}
.homecaresupport_btn{
    text-align: center;
    align-self: flex-end;
    width:100%;
}
.homecaresupport_btn:hover{
    text-decoration: none;
}

#main .homecaresupport li .homecaresupport_btn p{
    background-color: #DBDCDC;
    height: auto;
    width:100%;
    padding: 10px 0;
}

#main .homecaresupport .kyotaku{
    background-color: #EB7AAB;
}
#main .homecaresupport .houmon{
    background-color: #171C61;
}
#main .homecaresupport .houmonreha{
    background-color: #007CC3;
}
#main .homecaresupport .tsushoreha{
    background-color: #F29600;
}

@media screen and (max-width:1024px){
    .homecaresupport li {
    width: 60%;
}
    #main .homecaresupport p {
    height: auto;
}
}


@media screen and (max-width:480px){
.homecaresupport li {
    width: 100%;
    margin:  20px 0;
}
#main .homecaresupport p {
    height: auto;
}
}
.font24{
    font-size: 24px;
    margin-top: 30px;
}
.font24 a{
    
    padding: 10px 70px 10px 40px;
}
.red2{
    color:#FF6666;
}

.banner{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 30px 0 50px;
    
}

.banner a{
    width:48%;
    border-radius: 20px;
    overflow: hidden;
}

.banner a:hover{
    opacity: 0.7;
}

.banner img{
    max-width: 100%;
}

.medical_box .medical_box_text.w45{
    width:45%;
    margin-right: 2%;
}

.medical_box .medical_box_img.w50{
    width: 53%;
}
@media screen and (max-width: 480px){
.medical_box .medical_box_text.w45{
    width: 100%;
    margin-right: 0%;
}

.medical_box .medical_box_img.w50{
    width: 100%;
}   
.banner a{
    width:100%;
} 
.banner a:first-child{
    margin-bottom: 30px;
}
.font24{
    font-size: 12px;
    margin-top: 30px;
}
.action_plan {
    font-size: 16px;
}
}
.medical1 .businesshours{
    background-color: #F0F85B;
    font-size: 130%;
}

.medical #main .medical7_title h2{
    background-color: #669acc;
    color: #fff;
    font-size: 26px;
    width: auto;
    border-radius: 30px;
    position: relative;
    padding: 0 20px;
    margin-top: 50px;
}
.medical #main .medical7_title h2::before{
    content: none;
}
.medical #main .medical7_title h3 {
    display: inline-block;
    border-radius: 0;
    color: #000;
    padding: 0;
    border-bottom: none;
    border-left: solid 5px #669acc;
    letter-spacing: 2px;
    font-size: 28px;
    line-height: 1;
    padding-left: 10px;
    margin-top: 15px;
}
.medical #main .medical7_title h3 span {
    color: #669ACC;    
}
.medical7_addition{
    color: #669acc;
    background-color: #e6f4fd;
    border-radius: 15px;
    margin-bottom: 30px;
}
#main .medical7_addition p{
    padding: 5px 15px;
}
.medical #main .medical1 .medical7_title h4 {
    background: none;
    margin-top: 0px;
    font-size: 20px;
    padding: 0px 10px;
    margin-bottom: 0px;
}
.medical #main .medical1 .medical7_title h4 span{
    color: #669acc;
}
.medical #main .medical1 .medical7_title p{
    font-size: 18px;
}
.medical7_title table{
    table-layout: fixed;
    width: 100%;
    margin-bottom: 50px;
}
.medical7_title th{
    width:80px;
    background-color: #efefef;
    border: solid 1px #000;
    text-align: center;
}
.medical7_title td{
    border: solid 1px #000;
    padding: 10px 25px;
}
.medical7_pdf{
    margin-bottom: 70px;
}
.medical7_pdf a{
    background: none;
    background-color: #669acc;
    border: solid 1px #669acc;
    color: #fff;
    border-radius: 25px;
    padding: 5px 20px;
}
.medical7_pdf a:hover {
    background-color: #fff;
    color: #669acc;text-decoration: none;
}
.medical7_pdf span{
}
.w400{
    max-width: 400px;
    margin: 0 auto;
}
.medical1 .medical7_contact h4 {
    text-align: center;
    background-color: #669acc;
    color: #fff;
    margin-top: 0px;
    font-size: 20px;
    padding: 5px 10px;
    margin-bottom: 0px;
}
.medical #main .medical1 .medical7_contact h3 {
    display: inline-block;
    border-radius: 0;
    color: #000;
    padding: 0;
    border: none;
    border-bottom: none;
    letter-spacing: 1px;
    font-size: 24px;
    margin-bottom: 0;
    margin-top: 10px;
}
.medical7_contact{
    margin-bottom: 50px;
}
.medical7_contact_mail span{
    color: #669acc;
}
.medical7_contact_tel,.medical7_contact_mail{
    border: solid 1px #669acc;
}

#main .contact_icon{
    padding-left: 25px;
    position: relative;
    padding-bottom: 0;
}
#main .contact_icon::before{
    position: absolute;
    content: "";
    background-image: url("../images/medical/icon_mail.png");
    width: 20px;
    height: 15px;
    background-size: contain;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

@media screen and (max-width: 1024px){
    .medical #main .medical7_title h2 {
    font-size: 22px;
}
    .medical #main .medical7_title h3 {
    font-size: 24px;
}
    .medical #main .medical1 .medical7_title h4 {
    font-size: 18px;
}
    .medical #main .medical1 .medical7_title p {
    font-size: 16px;
}
}

@media screen and (max-width: 480px){
    .medical #main .medical7_title h2 {
    font-size: 18px;
}
    .medical #main .medical7_title h3 {
    font-size: 21px;
        line-height: 1.2;
}
    .medical #main .medical1 .medical7_title h4 {
    font-size: 16px;
}
    .medical #main .medical1 .medical7_title p {
    font-size: 14px;
}
    .medical #main .medical1 .medical7_title th,.medical #main .medical1 .medical7_title td{
        font-size: 14px;
    }
.w400{
    padding: 0 15px;
}
.medical1 .medical7_contact h4 {
    font-size: 16px;
}
.medical #main .medical1 .medical7_contact h3 {
    font-size: 18px;
}
}


/*2025.2.20追加
------------------------------------------------------------------------------------------------------------------------------------------------------*/
.mainimg{
	position: relative;
}
.mainimg img{
	width: 100%;
}
.main_message{
	position: absolute;
	width: 14%;
	bottom:27%;
	right: 36.2%;
}
.main_message a:hover{
	opacity: 0.7;
}
.top_new{
	display: flex;
	flex-wrap: wrap;
}
.top_new div{
	width: 50%;
}
.top_new a:hover{
	opacity: 0.7;
}
#main .top_doctor{
	display: inline-block;
    background: none;
    padding: 0;
	margin-bottom: 40px;
}
.top_doctor:hover{
	opacity: 0.7;
}



.medical10 .medical_box ul {
    align-items: center;
}
.textbox{
	background-color: #EBF6FF;
	padding: 20px;
	border-radius: 15px;
	margin-bottom: 30px;
}
.medical #main .textbox h3 {
    padding: 0 10px;
    border: none;
	margin: 0;
}
.medical1 .textbox h4 {
    margin-bottom: 0px;
	padding-left: 0;
	background: none;
}
.effect{
	margin-bottom: 15px;
}
.effect li{
	padding-left: 1.5em;
	position: relative;
}
.effect li::before{
	position: absolute;
	left: 0;
	color: #669ACC;
}
.effect li:nth-child(1)::before{
	content: "01.";
}
.effect li:nth-child(2)::before{
	content: "02.";
}
.effect li:nth-child(3)::before{
	content: "03.";
}
.effect li:nth-child(4)::before{
	content: "04.";
}
.effect li:nth-child(5)::before{
	content: "05.";
}
.effect li:nth-child(6)::before{
	content: "06.";
}
.effect li:nth-child(7)::before{
	content: "07.";
}
.effect li:nth-child(8)::before{
	content: "08.";
}
.effect li:nth-child(9)::before{
	content: "09.";
}

.medical1 .medical_case h4 {
	display: inline-block;
    background-color: #fff;
    color: rgb(0, 0, 0);
    margin-top: 0px;
    font-size: 110%;
    margin-bottom: 10px;
    padding: 5px 10px;
	border: solid 1px #000;
}
.medical_case ul{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 50px;
}
.medical_case li{
	width: 30%;
	margin-left: 5%;
}
.medical_case li img{
	width: 100%;
}
.medical_case li:first-child{
	margin-left: 0;
}
.medical_flowbox{
	padding: 20px;
	border-radius: 15px;
	background-color: #669ACC;
	color: #fff;
	margin-bottom: 30px;
}
#main .medical_flowbox p{
	padding-bottom: 0;
}

.medical_flow li{
	font-size: 150%;
	padding-left: 50px;
	position: relative;
	color: #669ACC;
	margin-bottom: 15px;
}
.medical_flow li::before{
	content: "";
	position: absolute;
	width: 36px;
	height: 36px;
	background-size: contain;
	background-repeat: no-repeat;
	top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.medical_flow li:nth-child(1)::before{
	background-image: url("../images/medical10/01.png");
}
.medical_flow li:nth-child(2)::before{
	content: url("../images/medical10/02.png");
}
.medical_flow li:nth-child(3)::before{
	content: url("../images/medical10/03.png");
}
.medical_flow li:nth-child(4)::before{
	content: url("../images/medical10/04.png");
}
.medical_flow li:nth-child(5)::before{
	content: url("../images/medical10/05.png");
}
.medical_flow li:nth-child(6)::before{
	content: url("../images/medical10/06.png");
}
.medical_flow li:nth-child(7)::before{
	content: url("../images/medical10/07.png");
}

.medical_flowbox2{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 50px 0;
}
.medical_flowbox2 div{
	width: 40%;
	padding: 3%;
	border: solid 2px #669ACC;
	border-radius: 20px;
}
.medical #main .medical_flowbox2 h3 {
    display: block;
	margin-top: 0px;
    font-size: 180%;
	border-bottom: solid 2px #669ACC;
}
.medical #main .medical_flowbox2 p {
	font-size: 130%;
	vertical-align:middle;
	padding-bottom: 0;
}
.medical #main .medical_flowbox2 span {
	font-size: 80%;
	color: #808080;
}

.equipment_introduction li{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 50px;
}
.equipment_introduction li h4{
	width: 100%;
	margin-bottom: 25px;
}
.equipment_introduction .medical_box_text{
	width: 55%;
	margin-right: 5%;
}
.equipment_introduction .medical_box_img{
	width: 40%;
}
.equipment_introduction .medical_box_img img{
	width: 100%;
}

@media screen and (max-width: 480px){
.medical_case li {
    width: 100%;
    margin-left: 0%;
}
.medical_flowbox2 div {
    width: 94%;
    padding: 3%;
	margin-bottom: 30px;
}
.medical_flowbox2 {
    margin-bottom: 0;
}
.equipment_introduction .medical_box_text{
	width: 100%;
	margin-right: 0%;
}
.equipment_introduction .medical_box_img{
	width: 100%;
}
}

.medical11_difference{
	padding: 30px;
	border: solid 3px #669ACC;
	border-radius: 30px;
	text-align: center;
	margin-bottom: 60px;
}
.medical #main .medical11_difference h3{
	border-bottom: none;
	margin: 0 auto 30px;
}
.medical10 .medical_box.als ul {
    align-items: flex-start;
}

#new{
	margin-bottom: 30px;
}

.greeting ul{
	display: flex;
	flex-wrap: wrap;
}
.greeting_img{
	width: 35%;
	margin-right: 5%;
}
.greeting_text{
	width: 60%;
}

@media screen and (max-width: 900px){

.greeting_img{
	width: 100%;
	margin-right: 0%;
	max-width: 450px;
	margin: 0 auto;
}
.greeting_img img{
	width: 100%;
	}
.greeting_text{
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
}	
}


/*----------------------------*/
@media screen and (max-width: 680px) {
.main_message{
	position: absolute;
	width: 37%;
	bottom:5%;
	right: 60%;
}
.top_new div {
    width: 100%;
}
.top_new div img {
    width: 100%;
}
	.top_doctor img{
		width: 100%;
	}
}

.medical #main .subtitle{
	padding: 0 20px;
	margin-bottom: 0;
	margin-top: 80px;
	text-align: left;
	display: block;
	font-size: 30px;
	font-weight: bold;
	background-color: #3A79BF;
	color: #fff;
}

@media screen and (max-width: 680px) {
.medical #main .subtitle {
    font-size: 19px;
	padding: 0 10px;
}
}