@charset "UTF-8";

/* 基本色 */
:root {
	--main-color: #BDDFB3;
	--accent-color: #2BAA9C;
	--dark-main-color: #0F2625;
	--bright-color: #fff;
	--text-bright-color: #fff;
	--icon-color: #fff;
	--icon-bk-color: #ddd;
	--gray-color: #ddd;
	--large-width: 1000px;
	--middle-width: 800px;
}


/* 基本設定： フォントサイズ */
@media (max-width: 599px) {
	:root {
		font-size: 14px;
	}
}

@media (min-width: 600px) and (max-width: 799px) {
	:root {
		font-size: 16px;
	}
}

@media (min-width: 800px) {
	:root {
		font-size: 18px;
	}
}

body {
	font-size: 16px;
}



/* 基本設定： ページ全体 */
body {
	margin: 0;
	font-family: 'メイリオ',
	'Hiragino Kaku Gothic Pro', 
	sans-serif;
}


/* コンテンツA： ヒーローイメージ */
.conA {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 50vh;
	min-height: 450px;
	background-image: linear-gradient(rgba(0,0,0,0.0), rgba(0,0,0,0.0)), url(img/mainimage.jpg);
	background-position: center;
	background-size: cover;
	color: #fff;
	color: var(--text-bright-color);
	text-align: center;
}

.conA.compact {
	height: 350px;
	min-height: 0;
	background-image: linear-gradient(rgba(0,0,0,0.0), rgba(0,0,0,0.0)), url(img/sensinlist.jpg);
}
.conA.compact2 {
	height: 350px;
	min-height: 0;
	background-image: linear-gradient(rgba(0,0,0,0.0), rgba(0,0,0,0.0)), url(img/kampolist.jpg);
}
.conA.compact3 {
	height: 350px;
	min-height: 0;
	background-image: linear-gradient(rgba(0,0,0,0.0), rgba(0,0,0,0.0)), url(img/studylist.jpg);
}
.conA.compact4 {
	height: 350px;
	min-height: 0;
	background-image: linear-gradient(rgba(0,0,0,0.0), rgba(0,0,0,0.0)), url(img/reseachlist.jpg);
}
.conA.compact5 {
	height: 350px;
	min-height: 0;
	background-image: linear-gradient(rgba(0,0,0,0.0), rgba(0,0,0,0.0)), url(img/koukai.jpg);
}
.conA.compact6 {
	height: 350px;
	min-height: 0;
	background-image: linear-gradient(rgba(0,0,0,0.0), rgba(0,0,0,0.0)), url(img/sekisetulist.jpg);
}
.conA.compact7 {
	height: 350px;
	min-height: 0;
	background-image: linear-gradient(rgba(0,0,0,0.0), rgba(0,0,0,0.0)), url(img/asukaralist.jpg);
}
.conA.compact8 {
	height: 350px;
	min-height: 0;
	background-image: linear-gradient(rgba(0,0,0,0.0), rgba(0,0,0,0.0)), url(img/researchwslist.jpg);
}
.conA h1 {
	margin-top: 0;
	margin-bottom: 10px;
	font-family: 'Montserrat', sans-serif;
	font-size: 15vw;
	letter-spacing: 0.2em;
	margin-left: 0.2em;
}

.conA p {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 18px;
}

.conA img {
	margin-top: 70px;
	width: 90%;
}

.conA a {
	display: inline-block;
	margin-top: 20px;
	padding: 10px 30px;
	border: solid 3px currentColor;
	border-radius: 6px;
	background-color: #2BAA9C;
	background-color: var(--accent-color);
	color: #fff;
	color: var(--text-bright-color);
	font-size: 18px;
	text-decoration: none;
}

.conA a:hover	{
	background-image: linear-gradient(
	rgba(255,255,255,0.2),
	rgba(255,255,255,0.2)
	);
}


@media (min-width: 768px) {
	.conA h1 {
		font-size: 50px;
	}
	
	.conA p {
		font-size: 24px;
	}
}



/* コンテンツB： ニュース */
.conB .container {
	padding-top: 2px;
	
}

.conB .text {
	padding: 20px;
}

.conB h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 20px;
	text-align: center;
	color:#2BAA9C;
}

.conB p {
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 16px;
	line-height: 1.8;
	opacity: 0.8;
}


.conB a {
	color: #2BAA9C;
	text-decoration: none;
}

.conB a:hover	{
	text-decoration: underline;
}


@media (min-width: 768px) {
	.conB .container {
		display: flex;
		flex-direction: row-reverse;
		max-width: 1000px;
		max-width: var(--large-width);
		margin-left: auto;
		margin-right: auto;
		padding-top: 40px;
		padding-bottom: 40px;
	}
	
	.conB .photo {
		flex: 0 0 400px;
	}
	
	.conB .text {
		flex: 1;
		padding: 50px;
	}
}
/*ニュース*/

.news .container {
	display: table;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 1000px;
	max-width: var(--large-width);
	position:relative;
	
}
.news h2 {
	margin-top: 20;
	margin-bottom: 10px;
	font-size: 20px;
	text-align: center;
	color:#2BAA9C;
}


.news ul li
{	list-style: none;
	position: relative;
	padding:0;
	border-bottom: 1px solid #BDDFB3;
}


.news-list-item {
	font-size: 0.9rem;
}

.news-list-item a {
	text-decoration: none;
}

.news-list-item-date {
	font-style: italic;
	white-space: nowrap;
}

.news-list-item-tex {
	text-decoration: underline;
	color: rgba(0, 0, 0, .5);
}

a:hover .news-list-item-tex {
	text-decoration: none;
	display: inline-block;
	/*position:absolute;
	top:8px;
	left:440px;*/
}




.news .category {
	width: 110px;
	height: 24px;
	text-align: center;
	display: block;
	position: absolute;
	top: 8px;
	left: 119px;
	border-radius: 12px;
	background-color: #2BAA9C;
	background-color: var(--accent-color);
	color: #fff;
	color: var(--text-bright-color);
	font-size: 12px;
	text-decoration: none;
	line-height: 24px
}

@media screen and ( min-width: 768px ) {
	
	.news {
		-js-display: flex;
		display: -webkit-flex;
		display: flex;
	}
	
	
	.news-list-item {
		margin: 15px 0;
		line-height: 2.5rem;
	}
	
	.news-list-item:first-child {
		margin-top: 0;
	}
	
	.news-list-item a {
		-js-display: flex;
		display: -webkit-flex;
		display: flex;
	}
	
	.news-list-item-date {
		margin-right: calc(20px + 2vw);
	}
	
	.news-list-item-tex {
		font-size: 1.4rem;
	}
	
}

@media screen and ( max-width: 768px ) {
	
	#container {
		width: 100%;
		height: 300px;
		margin-top: 50px;
	}
	
	/*
	#theTarget img {
	width: 100%;
	}
	*/
	
	.news-list-item {
		margin: 10px 0;
		font-size: 0.8rem;
		line-height: 2rem;
	}
	
	.news-list-item-date {
		display: block;
	}
	
	.news-title-more {
		position: absolute;
		right: 0;
		top: -10px;
	}
	
}

/* コンテンツC： 概要（画像＋テキスト） */
.conC {
	background-color: #BDDFB3;
	background-color: var(--main-color);
}

.conC .text {
	padding: 20px;
}

.conC h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 20px;
}

.conC p {
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 16px;
	line-height: 1.8;
	opacity: 0.8;
}

.conC a {
	display: inline-block;
	margin-top: 20px;
	margin-left: 10px;
	padding: 10px 30px;
	border: solid 3px currentColor;
	border-radius: 6px;
	background-color: #2BAA9C;
	background-color: var(--accent-color);
	color: #fff;
	color: var(--text-bright-color);
	font-size: 14px;
	text-decoration: none;
}

.conC a:hover	{
	background-image: linear-gradient(
	rgba(255,255,255,0.2),
	rgba(255,255,255,0.2)
	);
}

.conC .photo {
	min-height: 200px;
	background-image: url(img/hybrid.jpg);
	background-position: center;
	background-size: cover;
}
.conC img {
	width: 100%;
}

@media (min-width: 768px) {
	.conC .container {
		display: flex;
		max-width: 1000px;
		max-width: var(--large-width);
		margin-left: auto;
		margin-right: auto;
	}
	
	.conC .photo {
		flex: 3;
	}
	
	.conC .text {
		flex: 2;
		padding: 50px;
	}
}

/* コンテンツD： 概要（画像＋テキスト：逆配置） */
.conD .container {
	padding-top: 2px;
}

.conD .text {
	padding: 20px;
}

.conD h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 20px;
}

.conD p {
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 16px;
	line-height: 1.8;
	opacity: 0.8;
}

.conD a {
	display: inline-block;
	margin-top: 20px;
	margin-left: 10px;
	padding: 10px 30px;
	box-shadow: 0 0 0 1px #888;
	border: solid 3px currentColor;
	border-radius: 6px;
	background-color: #2BAA9C;
	background-color: var(--accent-color);
	color: #fff;
	color: var(--text-bright-color);
	font-size: 14px;
	text-decoration: none;
}

.conD a:hover	{
	background-image: linear-gradient(
	rgba(255,255,255,0.2),
	rgba(255,255,255,0.2)
	);
}

.conD .photo {
	min-height: 200px;
	background-image: url(img/kampo.jpg);
	background-position: center;
	background-size: cover;
}

@media (min-width: 768px) {
	.conD .container {
		display: flex;
		flex-direction: row-reverse;
		max-width: 1000px;
		max-width: var(--large-width);
		margin-left: auto;
		margin-right: auto;
		padding-top: 40px;
		padding-bottom: 40px;
	}
	
	.conD .photo {
		flex: 0 0 400px;
	}
	
	.conD .text {
		flex: 1;
		padding: 50px;
	}
}

/* コンテンツE： 概要（画像＋テキスト） */
.conE {
	background-color: #BDDFB3;
	background-color: var(--main-color);
	
}

.conE .text {
	padding: 20px;
}

.conE h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 20px;
}

.conE p {
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 1.8;
	opacity: 0.8;
}

.conE a {
	display: inline-block;
	margin-top: 20px;
	margin-left: 10px;
	padding: 10px 30px;
	border: solid 3px currentColor;
	border-radius: 6px;
	background-color: #2BAA9C;
	background-color: var(--accent-color);
	color: #fff;
	color: var(--text-bright-color);
	font-size: 14px;
	text-decoration: none;
}

.conE a:hover	{
	background-image: linear-gradient(
	rgba(255,255,255,0.2),
	rgba(255,255,255,0.2)
	);
}

.conE .photo {
	min-height: 200px;
	background-image: url(img/study.jpg);
	background-position: center;
	background-size: cover;
}

@media (min-width: 768px) {
	.conE .container {
		display: flex;
		max-width: 1000px;
		max-width: var(--large-width);
		margin-left: auto;
		margin-right: auto;
	}
	
	.conE .photo {
		flex: 3;
	}
	
	.conE .text {
		flex: 2;
		padding: 50px;
	}
}

/* コンテンツF： 概要（画像＋テキスト：逆配置） */
.conF .container {
	padding-top: 2px;
}

.conF .text {
	padding: 20px;
}

.conF h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 20px;
}

.conF p {
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 16px;
	line-height: 1.8;
	opacity: 0.8;
}

.conF a {
	display: inline-block;
	margin-top: 20px;
	margin-left: 10px;
	padding: 10px 30px;
	box-shadow: 0 0 0 1px #888;
	border: solid 3px currentColor;
	border-radius: 6px;
	background-color: #2BAA9C;
	background-color: var(--accent-color);
	color: #fff;
	color: var(--text-bright-color);
	font-size: 14px;
	text-decoration: none;
}

.conF a:hover	{
	background-image: linear-gradient(
	rgba(255,255,255,0.2),
	rgba(255,255,255,0.2)
	);
}

.conF .photo {
	min-height: 200px;
	background-image: url(img/reseach.jpg);
	background-position: center;
	background-size: cover;
}

@media (min-width: 768px) {
	.conF .container {
		display: flex;
		flex-direction: row-reverse;
		max-width: 1000px;
		max-width: var(--large-width);
		margin-left: auto;
		margin-right: auto;
		padding-top: 40px;
		padding-bottom: 40px;
	}
	
	.conF .photo {
		flex: 0 0 400px;
	}
	
	.conF .text {
		flex: 1;
		padding: 50px;
	}
}

/* コンテンツG： 受診までの流れFB */
.conG .container {
	padding-top: 80px;
	padding-bottom: 20px;
}

.conG .text {
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 60px;
	text-align: left;
}

.conG .facebook{
	margin-right:90px;
}

.conG .facebook iframe{
	max-width: 100%;
}

.conG h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 20px;
}

.conG p {
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 16px;
	line-height: 1.8;
	opacity: 0.8;
}

.conG a {
	display: inline-block;
	margin-top: 20px;
	padding: 10px 30px;
	box-shadow: 0 0 0 1px #888;
	border: solid 3px currentColor;
	border-radius: 6px;
	background-color: #2BAA9C;
	background-color: var(--accent-color);
	color: #fff;
	color: var(--text-bright-color);
	font-size: 14px;
	text-decoration: none;
}

.conG a:hover		{
	background-image: linear-gradient(
	rgba(255,255,255,0.2),
	rgba(255,255,255,0.2)
	);
}

.conG .icon	{
	display: inline-block;
	margin-bottom: 20px;
	font-size: 40px;
	width: 2em;
	line-height: 2em;
	border-radius: 50%;
	text-align: center;
	background-color: #ddd;
	background-color: var(--icon-bk-color);
	color: #fff;
	color: var(--icon-color);
}

@media (min-width: 768px) {
	.conG .container {
		display: flex;
		max-width: 1000px;
		max-width: var(--large-width);
		margin-left: auto;
		margin-right: auto;
	}
	
	.conG .text	{
		flex: 1;
	}
}




/* フッター */
footer {
	color: #fff;
	color: var(--text-bright-color);
	background-color: #2BAA9C;
	background-color: var(--accent-color);
}

footer .container {
	padding: 40px 20px;
}


@media (min-width: 768px) {
	footer .container {
		display: flex;
		flex-wrap: wrap;
		max-width: 1000px;
		max-width: var(--large-width);
		margin-left: auto;
		margin-right: auto;
	}
	
	.footA {
		flex: 0 0 40%;
	}
	
	.footB {
		flex: 0 0 60%;
	}
	
	.footC {
		flex: 0 0 100%;
	}
}


/* フッターA： サイト情報 */
.footA {
	margin-bottom: 30px;
}

.footA h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-family: 'Montserrat', sans-serif;
	font-size: 30px;
	letter-spacing: 0.2em;
}

.footA p {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 14px;
}

.footA a {
	color: inherit;
	text-decoration: none;
}


/* フッターB： フッターメニュー */
.footB div {
	margin-bottom: 20px;
}

.footB h3 {
	margin-top: 0;
	margin-bottom: 10px;
	border-bottom: solid 1px currentColor;
	font-size: 14px;
}

.footB ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footB a {
	display: block;
	padding: 5px;
	color: inherit;
	font-size: 12px;
	text-decoration: none;
}

.footB a:hover {
	background-color: rgba(0,0,0,0.3);
}


@media (min-width: 768px) {
	.footB {
		display: flex;
	}
	
	.footB div {
		flex: 1;
	}
	
	.footB div:not(:first-child) {
		margin-left: 40px;
	}
}


/* フッターC： コピーライト */
.footC {
	font-size: 12px;
	text-align: center;
	font-family: 'Montserrat', sans-serif;
}


/* フッターD： SNSメニュー */
.footD {
	margin-top: 20px;
}

.footD ul {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.footD a {
	display: block;
	margin-right: 8px;
	padding: 0;
	color: inherit;
	font-size: 16px;
	text-decoration: none;
	border: solid 1px currentColor;
	width: 2em;
	line-height: 2em;
	border-radius: 50%;
	text-align: center;
}

.footD a:hover {
	background-color: rgba(0,0,0,0.3);
}


/* ヘッダー */
header {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	background-color: rgba(255,255,255,0.8);
}

.nohero header {
	position: static;
	border-bottom: solid 2px #ddd;
	border-bottom: solid 2px var(--gray-color);
}

/* ヘッダーA: サイト名 */
.headA {
	display: inline-block;
	line-height: 80px;
	padding-left: 20px;
	padding-right: 10px;
	color: #fff;
	color: var(--text-bright-color);
	font-family: 'Montserrat', sans-serif;
	font-size: 24px;
	text-decoration: none;
}


/* ヘッダーB： ナビゲーションメニュー */
.headB ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.headB a {
	display: block;
	padding: 15px;
	color: inherit;
	font-size: 13px;
	text-decoration: none;
}

.headB a:hover {
	background-color: rgba(0,0,0,0.3);
}

@media (min-width: 768px) {
	header .container {
		display: flex;
		align-items: center;
		justify-content: space-between;
		max-width: 1000px;
		max-width: var(--large-width);
		margin-left: auto;
		margin-right: auto;
	}
	
	.headB ul {
		display: flex;
	}
}


/* ヘッダーC： トグルボタン */

@media (max-width: 767px) {
	/* 小さい画面用の設定 */
	header .container-small {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	
	.header .container-small2 {
		max-width: 800px;
		max-width: var(--middle-width);
		margin-left: auto;
		margin-right: auto;
		padding: 30px 10px;
		background-image: url(img/hagihara.jpg);
		background-position: right 10px;
		
		background-repeat: no-repeat;
	}
	
	.headC {
		margin-right: 10px;
		padding: 0;
		border: none;
		outline: none;
		background: none;
		font-size: 28px;
		opacity: 0.5;
		cursor: pointer;
	}
	
	.headC:hover {
		opacity: 0.3;
	}

	.headC .text {
    	display: block;
		font-size: 10px;
	}
	
	.headB {
		display: none;
	}
}

@media (min-width: 768px) {
	/* 大きい画面用の設定 */
	.headC {
		display: none;
	}
	
	.headB {
		display: block !important;
	}
}



/* コンテンツページ: 記事 */
.post .container {
	max-width: 800px;
	max-width: var(--middle-width);
	margin-left: auto;
	margin-right: auto;
	padding: 30px 10px;
}

.post2 .container {
	max-width: 800px;
	max-width: var(--middle-width);
	margin-left: auto;
	margin-right: auto;
	padding: 30px 10px;
}

.post2 .container2 {
	max-width: 800px;
	max-width: var(--middle-width);
	margin-left: auto;
	margin-right: auto;
	padding: 30px 10px;
	background-image: url(img/hagihara.jpg);
	background-position: right 10px;
	background-repeat: no-repeat;
}

@media (max-width: 767px) {
	/* 小さい画面用の設定 */
	.post2 .container2 {
		background-position: 10px 130px;
	}
	
	.post2 .container2 h1:first-child {
		margin-bottom: 240px;
	}
}

.post h1 {
	padding-left: 0.5rem;
	border-left: solid 0.75rem #2BAA9C;
	border-left: solid 0.75rem var(--accent-color);
	font-size: 2rem;
	
}

.post h2 {
	padding-left: 0.5rem;
	margin: 5;
	padding-top: 10px;
	padding-bottom: 10px;
	background-color: #5D9AB2;
	background-color: var(--main-color);
	color: #fff;
	color: var(--text-bright-color);
	font-size: 1rem;
	text-align: left;
}
.post h5 {
	padding-left: 0.5rem;
	font-size:0.9rem;
	text-align:center;
}
.post h4 {
	padding-left: 0.5rem;
	margin: 5;
	padding-top: 10px;
	padding-bottom: 10px;
	background-color: #2BAA9C;
	background-color: var(--accent-color);
	color: #fff;
	color: var(--text-bright-color);
	font-size: 1rem;
	text-align: left;
}


.post p {
	font-size: 16px;
	line-height: 1.7;
}


.post img {
	max-width: 100%;
	height: auto;
}
.post a {
	color: #2BAA9C;
	text-decoration: none;
}

.post a:hover	{
	text-decoration: underline;
}
.post2 a {
	color: #2BAA9C;
	text-decoration: none;
}

.post2 a:hover	{
	text-decoration: underline;
}
@media (max-width: 599px) {
	.post2 {
		font-size: 12px;
	}
}

/*なにわの漢方*/
.photoleft {
	float: left;
	margin-right: 15px;
	margin-bottom: 15px;
	margin-top: 15px;
}

.photoright{
	float: right;
	margin-left: 15px;
	margin-bottom: 15px;
	
}
.photoright2{
	float: right;
	margin-left: 15px;
	margin-bottom: 15px;
	margin-top: 15px;
	
}
/*大阪大学の漢方研究*/
.history {
	float: left;
	margin-right: 15px;
	margin-bottom: 15px;
}
.pdficon {
	margin-top: 10px;
	margin-right: 5px;
}
/*　業績集ページで使う設定　*/
.main  {  
	font-weight:bold;
} 


.suji-ul li.list2 {
	list-style-type: decimal;
	margin:0.3em 0.3em 0.5em 0.3em;
}



/* コンテンツページ: パンくずリスト */
ol.bread {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style-type: none;
	font-size: 0.8rem;
}
ol.bread li {
	line-height: 1.7;
}
.bread a {
	display: block;
	color: inhabit;
}
.bread a::after {
	margin-left: 10px;
	content: '\f054';
	font-family: 'FontAwesome';
	opacity: 0.3;
	text-decoration: none;
	
}

.bread a:hover {
	background-color: rgba(0,0,0,0.3);
	text-decoration: none;
	
	
}

/* スタッフ */

.staff .text {
	
	text-align:left
}

.staff h3 {
	margin-top: 0;
	margin-bottom: 3px;
	font-size: 1.5rem;
	text-align:left
}

.staff h5 {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 1rem;
	text-align:left
}

.staff table {
	
	font-size: 0.8rem;
}

.staff td {
	padding-top: 0;
	padding-bottom: 0.3rem;
}

.staff th {
	text-align: left;
	word-break: keep-all;
}


@media (min-width: 768px) {
	.history .container {
		display: flex;
		max-width: 1000px;
		max-width: var(--large-width);
		margin-left: auto;
		margin-right: auto;
	}
	
	.history .photo {
		flex: 3;
	}
	
	.history .text {
		flex: 2;
		padding: 50px;
	}
}
@media (min-width: 768px) {
	.staff .container {
		display: flex;
		max-width: 1000px;
		max-width: var(--large-width);
		margin-left: auto;
		margin-right: auto;
	}
	
	.staff .photo {
		flex: 3;
	}
	
	.staff .text {
		flex: 2;
		padding: 50px;
	}
}



/* お問い合わせページ: 問い合わせ先 */
.contact {
	margin: 20px;
	padding: 20px;
	border: solid 1px #ddd;
	border: solid 1px var(--gray-color);
	text-align: center;
}

.contact span	{
	display: inline-block;
	margin-bottom: 20px;
	font-size: 2.2rem;
	width: 2em;
	line-height: 2em;
	border-radius: 50%;
	text-align: center;
	background-color: #5D9AB2;
	background-color: var(--main-color);
	color: #fff;
	color: var(--icon-color);
}

.contact h2 {
	margin-top: 0;
	font-size: 1.2rem;
}

.contact a {
	font-size: 1.4rem;
	color: inherit;
	text-decoration: none;
}


@media (min-width: 768px) {
	.contact-wrap {
		display: flex;
	}
	
	.contact {
		flex: 1;
	}
	
	.contact:first-child {
		margin-right: 20px;
	}
}


/* お問い合わせページ： 地図：アクセス */
.location iframe {
	width:100%;
	height: 400px;
	vertical-align: bottom;
}

.location h2 {
	margin: 5;
	padding-top: 10px;
	padding-bottom: 10px;
	background-color: #fff;
	background-color: var(--bright-color);
	color: #2BAA9C;
	color: var(--accent-color);
	font-size: 1rem;
	text-align: left;
}

.location h2 .noticered {
	color: #D9534F;
	font-size: 1rem;
}

.location h3 {
	padding-left: 0.5rem;
	margin: 5;
	padding-top: 10px;
	padding-bottom: 10px;
	background-color: #5D9AB2;
	background-color: var(--main-color);
	color: #fff;
	color: var(--text-bright-color);
	font-size: 1rem;
	text-align: left;
}


dl.location{
	padding:0 0 0 1em;
	line-height:1.5;
}
.location dt{
	font-weight:bold;
}
.location dd{margin:0;
	font-size: 1rem;
}

.location p.box {
	border-bottom: 1px solid #BDDFB3;
}
.location p {
	font-size:14px;
	padding-top: 0px;
	padding-left: 10px;
	padding-bottom: 10px;
	padding-right: 10px;
}

/*よくあるご質問*/
dl.faq{margin:1em; line-height:1.5;}

.faq dt{
	padding-top: 3px;
	padding-left: 55px;
	margin-bottom: 10px;
	padding-right: 10px;
	list-style-type:none;
	text-align: left;
	vertical-align: text-top;
	display: block;
	height: auto;
	width: auto;
	font-size:15px;
	background-image: url(img/faq/q.jpg);
	background-repeat: no-repeat;
	background-position: left top;
	padding-bottom: 5px;
	border-bottom: 1px solid #BDDFB3;
	
}
.faq dd{
	font-size: 14px;
	background-image: url(img/faq/a.jpg);
	background-repeat: no-repeat;
	background-position: left top;
	display: block;
	height: auto;
	width: auto;
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 30px;
	margin-left: 0;
	padding-top: 0.2em;
	padding-right: 0;
	padding-bottom: 0.2em;
	padding-left: 55px;
	
}

/* 記事一覧A */
.listA h1 {
	text-align: center;
}

.listA .container {
	display: flex;
	flex-wrap: wrap;
	max-width: 1000px;
	max-width: var(--large-width);
	margin: 30px auto;
}

.listA article {
	flex: 1 1 300px;
	display: flex;
}

.listA a {
	flex: 1;
	margin: 10px;
	display: block;
	border: solid 1px #ddd;
	border: solid 1px var(--gray-color);
	color: inherit;
	text-decoration: none;
}

.listA a:hover {
	opacity: 0.8;
}

.listA .photo {
	min-height: 150px;
	background-position: center;
	background-size: cover;
}

.listA .text {
	margin: 10px;
}

.listA h2 {
	font-size: 18px;
}

.listA p {
	font-size: 16px;
	opacity: 0.8;
}


/* 記事一覧B */
.listB h1 {
	padding-left: 0.5rem;
	border-left: solid 0.75rem #2BAA9C;
	border-left: solid 0.75rem var(--accent-color);
	font-size: 2rem;
}

.listB .container {
	display: flex;
	flex-wrap: wrap;
	max-width: 1000px;
	max-width: var(--large-width);
	margin: 30px auto;
}

.listB article {
	flex: 1 1 384px;
	display: flex;
}

.listB a {
	flex: 1;
	margin: 10px;
	display: flex;
	border: solid 1px #ddd;
	border: solid 1px var(--gray-color);
	color: inherit;
	text-decoration: none;
}

.listB a:hover {
	opacity: 0.8;
}

.listB .photo {
	flex: 2;
	min-height: 0;
	background-position: center;
	background-size: cover;
}

.listB .text {
	flex: 3;
	margin: 10px;
}

.listB h2 {
	font-size: 18px;
}

.listB p {
	font-size: 16px;
	opacity: 0.8;
}

@media (max-width: 384px) {
	.listB .photo {
		flex: 1;
	}
	
	.listB p {
		display: none;
	}
}


/* 記事一覧C */
.listC h1 {
	text-align: center;
}

.listC .container {
	display: flex;
	flex-wrap: wrap;
	max-width: none;
	margin: 2px auto;
}

.listC article {
	flex: 1 1 250px;
	display: flex;
}

.listC a {
	position: relative;
	flex: 1;
	margin: 2px;
	display: block;
	border: solid 1px #ddd;
	border: solid 1px var(--gray-color);
	background-color: currentColor;
	color: inherit;
	text-decoration: none;
}

.listC a:hover {
	opacity: 0.8;
}

.listC .photo {
	min-height: 250px;
	background-position: center;
	background-size: cover;
	opacity: 0.6;
}

.listC .text {
	position: absolute;
	bottom: 0;
	left: 0;
	margin: 10px;
	color: #fff;
	color: var(--text-bright-color);
}

.listC h2 {
	margin: 0;
	font-size: 18px;
}

.listC p {
	margin: 0;
	font-size: 16px;
	opacity: 0.8;
}

@media (min-width: 1000px) {
	.listC article {
		flex: 1 1 25%;
	}
}

.conup {
	background-color: #BDDFB3;
	background-color: var(--main-color);
	
}

.conup .text {
	padding: 20px;
}

.conup h2 {
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 20px;
}

.conup p {
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 16px;
	line-height: 1.8;
	opacity: 0.8;
}

.conup a {
	display: inline-block;
	margin-top: 20px;
	margin-left: 10px;
	padding: 10px 30px;
	border: solid 3px currentColor;
	border-radius: 6px;
	background-color: #2BAA9C;
	background-color: var(--accent-color);
	color: #fff;
	color: var(--text-bright-color);
	font-size: 14px;
	text-decoration: none;
}

.conup a:hover	{
	background-image: linear-gradient(
	rgba(255,255,255,0.2),
	rgba(255,255,255,0.2)
	);
}

.conup .photo {
	min-height: 200px;
	background-image: url(img/sensin.jpg);
	background-position: center;
	background-size: cover;
}
.conup img {
	
	width: 100%;
}

@media (min-width: 768px) {
	.conup .container {
		display: flex;
		max-width: 1000px;
		max-width: var(--large-width);
		margin-left: auto;
		margin-right: auto;
	}
	
	.conup .photo {
		flex: 3;
	}
	
	.conup .text {
		flex: 2;
		padding: 50px;
	}
}

/*　注意喚起用色指定　*/
.noticered{
	color: #900;
	font-size:14px;
}
/*　外来表　*/

.timetable{
	border-collapse: collapse;
	border: solid 1px #2BAA9C;
	border: solid 1px var(--accent-color);
	font-size: 0.8rem;
}

.timetable th,
.timetable td {
	padding-top: 1rem;
	padding-bottom: 1rem;
	border: solid 1px #2BAA9C;
	border: solid 1px var(--accent-color);
}

.timetable th {
	padding-right: 1rem;
	text-align: left;
	word-break: keep-all;
}


.diagnosis table {
	border-collapse: collapse;
	border: solid 1px #2BAA9C;
	border: solid 1px var(--accent-color);
	font-size: 0.8rem;
}

.diagnosis th,
.diagnosis td {
	
	border: solid 1px #2BAA9C;
	border: solid 1px var(--accent-color);
}

.dignosis th {
	padding-right: 0;
	text-align: left;
	word-break: keep-all;
}

/*　推薦書　*/
.rcm_area{
	background-color:#FFF;
	width: 635px;
}
.rcm_side{
	background-color:#FFF;
	height: 120px;
	width: 80px;
	float:left;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 20px;
	margin-left: 0px;
	padding-top: 15px;
	
	padding-right: 10px;
	padding-bottom: 0px;
	padding-left: 10px;
}
.rcm_title{
	background-color:#FFF;
	float:left;
	width: 520px;
	padding: 5px;
	font-size: 18px;
}
.rcm_main{
	background-color:#FFF;
	float:left;
	width: 500px;
	padding-top: 5px;
	padding-right: 5px;
	padding-bottom: 5px;
	padding-left: 25px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 15px;
	margin-left: 0px;
}

.Box{
	border:1px solid #999;
	padding: 10px;
	width:60%;
	float:center;
	margin:0px auto;
}


#pageTop {
	position: fixed;
	bottom: 20px;
	right: 20px;
}



#pageTop a {
	display: block;
	padding: 0 0 0 0;
	border-radius: 18px;
	font-size:20px;
	width: 36px;
	height: 36px;
	background-color: #2BAA9C;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	text-valign: middle;
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}



#pageTop a:hover {
	text-decoration: none;
	opacity: 0.8;
}
/* tnm */
.loading img{padding:5px; }

#tablelist tr,td{
	font-size:11pt;
}

#tablelist tr.show{
	display: block;
}

#tablelist tr.odd{
	background:#ececec;
}

#tablelist tr.even{
	background:none;
}

#tablelist tr td{
	
}

/*impact factor*/
table.table01 {
	width:100%;
	border-right:#2BAA9C solid 1px;
	border-collapse: collapse;
}
table.table01 thead th {
	background:#2BAA9C;
	color:#FFF;
	padding:10px 15px;
	border-right:#FFF solid 1px;
	border-bottom:#FFF solid 1px;
}
table.table01 thead th:last-child {
	border-right:#2BAA9C solid 1px;
}
table.table01 tbody th {
	background:#2BAA9C;
	color:#FFF;
	padding:10px 15px;
	border-bottom:#FFF solid 1px;
	vertical-align:top;
}
table.table01 tbody tr:last-child th {
	border-bottom:#2BAA9C solid 1px;
}
table.table01 tbody td {
	padding:10px 15px;
	border-left:#2BAA9C solid 1px;
	border-bottom:#2BAA9C solid 1px;
	vertical-align:top;
}


@media screen and (max-width: 640px) {
	table.table01 thead {
		display:none;
	}
	table.table01 tbody th {
		display:block;
	}
	table.table01 tbody td {
		display:block;
	}
	table.table01 tbody td:before {
		content: attr(label);
		float: left;
		clear:both;
		font-weight:bold;
	}
	table.table01 tbody td p {
		padding-left:6em;
	}
}

/*ryakugo*/
table.table02 {
	width:100%;
	border-right:#2BAA9C solid 1px;
	border-collapse: collapse;
}
table.table02 thead th {
	background:#2BAA9C;
	color:#FFF;
	padding:10px 15px;
	border-right:#FFF solid 1px;
	border-bottom:#FFF solid 1px;
}
table.table02 thead th:last-child {
	border-right:#2BAA9C solid 1px;
}
table.table02 tbody th {
	background:#2BAA9C;
	color:#FFF;
	padding:10px 15px;
	border-bottom:#FFF solid 1px;
	vertical-align:top;
}
table.table02 tbody tr:last-child th {
	border-bottom:#2BAA9C solid 1px;
}
table.table02 tbody td {
	padding:10px 15px;
	border-left:#2BAA9C solid 1px;
	border-bottom:#2BAA9C solid 1px;
	vertical-align:top;
}
table.table02 tbody td:nth-child(even) {
	background:#CCC;
	padding:10px 15px;
	border-left:#2BAA9C solid 1px;
	border-bottom:#2BAA9C solid 1px;
	vertical-align:top;
}

@media screen and (max-width: 640px) {
	table.table02 thead {
		display:none;
	}
	table.table02 tbody th {
		display:block;
	}
	table.table02 tbody td {
		display:block;
	}
	table.table02 tbody td:before {
		content: attr(label);
		float: left;
		clear:both;
		font-weight:bold;
	}
	table.table02 tbody td p {
		padding-left:6em;
	}
}



.pager {
	overflow: hidden;
}

.pager ul {
	list-style: none;
	position: relative;
	left: 50%;
	float: left;
}

.pager ul li {
	margin: 0 2px;
	position: relative;
	left: -50%;
	float: left;
}

.pager ul li span,
.pager ul li a {
	display: block;
	padding: 0.6em 1em;
	border-radius: 3px;
}
.pager ul li a {
	background:#BDDFB3;
	text-decoration: none;
	
}

.pager ul li a:hover {
	background:#2baa9c;
	color:#fff;
	text-decoration: none;
	
	
}

.raised{
	display: inline-block;
	background-color: #BDDFB3;/*背景色*/
	font-size: 1em;/*文字サイズ*/
	font-weight:bold;
	line-height: 1;
	text-decoration: none;
	letter-spacing: 0.05em;/*字間*/
	padding: 0.2em 1em;/*ボタン内の余白*/
	border-radius: 3px;/*角の丸み*/
	cursor: pointer;
	box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 1px 5px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.2);/*影*/
	-webkit-tap-highlight-color: transparent;
	transition: .3s ease-out;/*変化を緩やかに*/
}


.raised:hover{
	box-shadow: 0 3px 3px 0 rgba(0,0,0,0.14), 0 1px 7px 0 rgba(0,0,0,0.12), 0 3px 1px -1px rgba(0,0,0,0.2);/*浮き上がるように*/
}

.my-Jade {color: #2BAA9C}


.s-tbl {
	border-collapse: collapse;
	float:left;
	width:45%;
	padding:0.2em;
	margin:1em;
}
.s-tbl th, .s-tbl td {
	border: 1px solid #000;
}
.s-tbl tr:nth-child(even) {
	background: #eee;
}
.s-tbl tr:hover {
	background: #BDDFB3;
}

.s-tbl2 {
	border-collapse: collapse;
	float:center;
	width:90%;
	padding:0.2em;
	margin:1em;
}
.s-tbl2 th, .s-tbl2 td {
	border: 1px solid #000;
}
.s-tbl2 tr:nth-child(even) {
	background: #eee;
}
.s-tbl2 tr:hover {
	background: #BDDFB3;
}
.clear {
	clear:both;　/*floatの解除、ここがポイント*/
}
.img-guard{
	position:relative;
	width: 600px;
	height: 400px;
}
.guard-nopic{
	position:absolute;
	display:block;
	width:100%;
	height:100%;
	background: url(img/spacer.png);
}

ul.square_btn{
	padding: 20px;
}
ul.square_btn li{
	display: inline-block;
	padding: 1em 2em;
	text-decoration: none;
	background: #f7f7f7;
	border-left: solid 6px #2baa9c;/*左線*/
	color: #2baa9c;/*文字色*/
	font-weight: bold;
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
}


.square_btn:active {
	box-shadow: inset 0 0 2px rgba(128, 128, 128, 0.1);
	
}
a.bt-samp70{
	display: block;
	height: 30px;
	width: 180px;
	text-decoration: none;
	line-height: 33px;
	text-align: center;
	border-radius: 20px;
	color: #fff;
	-webkit-box-shadow: 1px 1px 1px #1b7a6f;
	-moz-box-shadow: 1px 1px 1px #1b7a6f;
	box-shadow: 1px 1px 1px #1b7a6f;
	background: #2BAA9C;
	background: -webkit-gradient(linear, left top, left bottom, from(#2BAA9C), to(#1e9487));
	background: -moz-linear-gradient(top, #2BAA9C, #1e9487);
	background: -o-linear-gradient(top, #2BAA9C, #1e9487);
	background: -ms-linear-gradient(top, #2BAA9C, #1e9487);
	background: linear-gradient(top, #2BAA9C, #1e9487);
	filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#2BAA9C', endColorstr='#1e9487');
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#2BAA9C', endColorstr='#1e9487')";
}
a.bt-samp70:active{  /* クリックした時 */
	-ms-transform: translateY(2px);
	-webkit-transform: translateY(2px);
	transform: translateY(2px);
	box-shadow: none;
}
