@charset "utf-8";

/* ---------------------------------------- *
   base
   all
   2025.09.12
 * ---------------------------------------- */

/* ------------------------------ *
    clear
 * ------------------------------ */

html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,table,tr,th,td,img,strong {
	margin: 0;
	padding: 0;
	line-height: 160%;
	font-size: 100%;
	font-weight: normal;
}
input {
	border-width: 0px;
	vertical-align: middle;
	margin: -1px 0px;
}
.poi {
	cursor: pointer;
}
table {
	width: 100%;
}
table,tr,th,td {
	border-collapse: collapse;
	border-spacing: 0;
	text-align: left;
	vertical-align: top;
	font-size: inherit;
}
table th,
table td {
	margin: 0; padding: 0;
}
fieldset,img {
	border: 0;
}
address,caption,cite,code,dfn,em,th,var {
	font-style: normal;
	font-weight: normal;
	text-align: left;
}
ol,ul {
	list-style: none;
	text-align: left;
}
img {
	vertical-align: top;
}
h1,h2,h3,h4,h5,h6 {
}
q:before,q:after {
	content: '';
}
abbr,acronym {
	border: 0;
}


/* ------------------------------ *
    baseset
 * ------------------------------ */

/* --- clearfix --- */
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

/* --- align --- */
.right { text-align: right !important; }
.center { text-align: center !important; }
.left { text-align: left !important; }

/* --- float --- */
.flo_right { float: right; }
.flo_left { float: left; }

/* --- vertical-align --- */
.top { vertical-align: top; }
.middle { vertical-align: middle; }
.bottom { vertical-align: bottom; }

/* --- display --- */
.block { display: block; }
.inline { display: inline; }
.inline-block { display: inline-block; }

/* --- nowrap --- */
.nowrap a {
	white-space: nowrap;
}

/* --- color --- */
.red { color: #f00; }

/* --- font --- */
.bold { font-weight: bold; }
.normal { font-weight: normal; }
.line_btm { text-decoration: underline; }
.font10 { font-size: 77%; }
.font11 { font-size: 85%; }
.font12 { font-size: 93%; }
.font13 { font-size: 100%; }
.font14 { font-size: 108%; }
.font15 { font-size: 116%; }
.font16 { font-size: 123.1%; }
.font17 { font-size: 131%; }
.font18 { font-size: 138.5%; }
.font19 { font-size: 146.5%; }
.font20 { font-size: 153.9%; }
.font21 { font-size: 161.6%; }
.font22 { font-size: 167%; }
.font23 { font-size: 174%; }
.font24 { font-size: 182%; }
.font25 { font-size: 189%; }
.font26 { font-size: 197%; }

/* --- margin,padding --- */
.mgn5 { margin: 5px }
.mgn10 { margin: 10px }
.mgn20 { margin: 20px }
.mgn30 { margin: 30px }
.mgn_top5 { margin-top: 5px }
.mgn_top10 { margin-top: 10px }
.mgn_top20 { margin-top: 20px }
.mgn_top30 { margin-top: 30px }
.mgn_btm0 { margin-bottom: 0 }
.mgn_btm5 { margin-bottom: 5px }
.mgn_btm10 { margin-bottom: 10px }
.mgn_btm15 { margin-bottom: 15px }
.mgn_btm20 { margin-bottom: 20px }
.mgn_btm30 { margin-bottom: 30px }
.mgn_btm50 { margin-bottom: 50px }
.mgn_rgt5 { margin-right: 5px }
.mgn_rgt10 { margin-right: 10px }
.mgn_rgt20 { margin-right: 20px }
.mgn_rgt30 { margin-right: 30px }
.mgn_left5 { margin-left: 5px }
.mgn_left10 { margin-left: 10px }
.mgn_left20 { margin-left: 20px }
.mgn_left30 { margin-left: 30px }
.pdg5 { padding: 5px }
.pdg10 { padding: 10px }
.pdg20 { padding: 20px }
.pdg30 { padding: 30px }
.pdg_top5 { padding-top: 5px }
.pdg_top10 { padding-top: 10px }
.pdg_top20 { padding-top: 20px }
.pdg_top30 { padding-top: 30px }
.pdg_btm5 { padding-bottom: 5px }
.pdg_btm10 { padding-bottom: 10px }
.pdg_btm20 { padding-bottom: 20px }
.pdg_btm30 { padding-bottom: 30px }
.pdg_rgt5 { padding-right: 5px }
.pdg_rgt10 { padding-right: 10px }
.pdg_rgt20 { padding-right: 20px }
.pdg_rgt30 { padding-right: 30px }
.pdg_left5 { padding-left: 5px }
.pdg_left10 { padding-left: 10px }
.pdg_left20 { padding-left: 20px }
.pdg_left30 { padding-left: 30px }

/* --- html5 --- */
article, aside, figure, figcaption, footer, header, hgroup, nav, section {
	display: block;
}





/* ---------------------------------------- *
   style
   all
   2025.09.12
 * ---------------------------------------- */

/* ------------------------------ *
    テキスト
 * ------------------------------ */

/* --- font --- */
html {
}
body {
	font-size: 15px;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #333;
}
strong {
	font-weight: bold !important;
}
.cap {
	font-size: 13px;
	color: #888;
	display: block;
	text-align: center;
}
.text {
	margin-bottom: 1em;
	text-align: left;
}
u {
	text-decoration: underline;
}


/* --- link --- */
a {
	font-weight: bold;
}
a:link { color: #FF7A8D; text-decoration: underline; }
a:visited { color: #FF7A8D; }
a:active { color: #FF7A8D; }
a:hover { color: #FF7A8D; text-decoration: underline; }
a:hover img {
	opacity:0.7;
	text-decoration: none;
}
.img_right {
	float: right;
	margin: 0 0 15px 15px;
}
.img_left {
	float: left;
	margin: 0 15px 15px 0;
}
.clear {
	clear: both;
}



/* ------------------------------ *
    アイコン
 * ------------------------------ */

.ico_arw02 {
	padding-left: 15px;
	background: url("img/ico_arw02.png") no-repeat left center;
}
.ico_rnd {
	padding-left: 18px;
	background: url("img/ico_rnd.png") no-repeat left 0.55em;
}



/* ------------------------------ *
    基本カラム設定
 * ------------------------------ */

html {
	width: 100%;
}
body {
	width: 100%;
	background: #fff url("img/bg_head.png") repeat-x center top;
	text-align: center;
}
div#page_top {
	margin: 0 auto;
}
div#page {
	margin: 0 auto;
	background: url("img/pull_gly.png") no-repeat center top;
/*	padding-top: 10px;*/
}
		
/* --- head --- */
header {
	width: 1000px;
	display: inline-flex;
	justify-content: space-between;
	margin: 0 auto 40px;
	padding-top: 30px;
}
	header h1 {
		width: 320px;
 		margin-right: auto;
	}

	header div ul li { /* 電話・予約ボタン */
/*		margin-left: 30px;*/
		text-align: right;
	}
		header div a {
			display: block;
		}
		header div a:first-child {
			margin-bottom: 10px;
		}
			header div a img {
			}
		header .tel img {
			vertical-align: middle;
		}
		header .tel {
			font-size: 210%;
		}

.header_info_top { /* サブナビゲーション */
		font-size: 0;
		padding-bottom: 20px;
	}
	.header_info_top p {
		font-size: 18px;
		display: inline;
		background: url("img/line_dush.png") no-repeat left center;
		margin: 0 !important;
	}
		.header_info_top p a {
			padding: 0 10px;
			display: inline;
		}
		.header_info_top p:last-child a {
			background: url("img/line_dush.png") no-repeat right center;
		}
		.header_info_top p a:link,
		.header_info_top p a:visited,
		.header_info_top p a:active,
		.header_info_top p a:hover { color: #333; text-decoration: none; }

div.hm_wrap { /* スマホ用ハンバーガーメニュー非表示 */
	display: none;
}
/* --- /head --- */

/* --- menu --- */
nav.nav_main { /* メインメニュー */
	font-size: 120%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	margin-bottom: 10px;
}
	nav.nav_main p {
		font-weight: bold;
		margin: 0 20px;
	}
		nav.nav_main p a {
			padding-left: 20px;
			background: url("img/ico_01.png") no-repeat left center;
		}
		nav.nav_main p a:hover { color: #FF7A8D !important; text-decoration: none; }
		nav.nav_main p a:link,
		nav.nav_main p a:visited,
		nav.nav_main p a:active { color: #333; text-decoration: none; }
		
nav.nav_local { /* ローカルメニュー */
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 auto;
	padding: 10px 0;
	background: #DCDCDC;
	text-align: center;
}
	nav.nav_local p {
		margin: 0 20px;
		text-align: center;
	}
		nav.nav_local p a {
			font-weight: normal;
			padding-left: 15px;
			background: url("img/ico_arw03.png") no-repeat left center;
		}
		nav.nav_local p a:hover { color: #FF7A8D !important; text-decoration: none; }
		nav.nav_local p a:link,
		nav.nav_local p a:visited,
		nav.nav_local p a:active { color: #333; text-decoration: none; }
/* --- /menu --- */

/* --- key --- */
div#key_visual {
	width: 100%;
	text-align: center;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	overflow: hidden;
	background: #D5EEDF;
	position: relative;
	padding-top: 10px;
}
	div#key_visual img {
		margin: 0 auto;
	}
	#key_visual::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 10px;
		background: url("img/green_line.png") repeat-x;
	}
	#key_visual h1 {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		color: #fff;
		font-size: clamp(1.2rem, 3vw, 2.8rem);
		white-space: nowrap;
		font-weight: bold;
		margin: 0;
	}
	
/* --- h --- */
h2 {
}
h3 {
	font-size: 140%;
	font-weight: bold;
	text-align: center;
	margin-bottom: 40px;
}
h3::after {
    content: "";
    display: block;
    width: 40px;
    height: 20px;
    margin: 3px auto 0;
    background: url("../common/img/ico_02.png") no-repeat center center;
    background-size: contain;
}
h4 {
	text-align: center;
	font-size: 120%;
	font-weight: bold;
	color: #4CBE79;
	border-bottom: 2px solid #4CBE79;
	padding-bottom: 5px;
	margin-bottom: 20px;
}
/* --- /h --- */

section {
	max-width: 100%;
	padding: 30px 0 30px;
	text-align: left;
	background: #fff url("img/bg_yw.png") repeat-x top;
	overflow: visible;
}
section:nth-child(even) {
	background: #D5EEDF url("img/bg_grn.png") repeat-x top;
}
section:first-child {
}
section:last-child {
	padding: 30px 0 100px;
}
	section article {
		width: 1000px;
		margin: 0 auto 40px;
	}

/* --- footer --- */
footer {
	margin: 0 auto;
	padding-top: 0;
	text-align: center;
	color: #73C694;
	overflow: visible;
	width: 100%;
	position: relative;
}
	footer nav.nav_main {
		margin-bottom: 30px;
	}
		footer nav.nav_main p {
		}
			footer nav.nav_main p a {
			}
	footer div.foot_bnr {
		height: 117px;
		background: url("img/bg_foot.png") repeat-x center top;
		margin-top: -90px;
	}
		footer div.foot_bnr a {
		}
			footer div.foot_bnr a img {
			}
	footer div.foot_add {
		background: #73C694;
		position: relative;
		margin-top: 0;
		padding: 50px 0 30px;
	}
		footer div.foot_add p {
			position: absolute;
			top: -18px;
			left: 0;
			right: 0;
		}
		footer div.foot_add p a:hover img {
			opacity: 1;
			filter: alpha (opacity=100);
			-ms-filter: "alpha (opacity=100)";
		}
		footer div.foot_add address {
			text-align: center;
			color: #fff;
		}
		footer::before {
			content: "";
			display: block;
			height: 10px;
			background: url("img/green_line.png") repeat-x;
			margin-bottom: 10px;
		}
		
		
/* --- /footer --- */



/* ------------------------------ *
    ユニーク
 * ------------------------------ */
 /* PCでは改行しない */
 .sp_only {
	 display: none;
 }
 
/* table */
table {
	background: #fff;
	margin-bottom: 20px;
}
	table thead {
		background: #D5EEDF;
	}
		table thead tr {
			border: 1px solid #CFD4D1;
		}
			table thead tr th {
				border-right: 1px solid #CFD4D1;
				padding: 5px 15px;
				width: 9em;
			}
			table thead tr td {
				text-align: center;
				padding: 5px;
				border-right: 1px solid #CFD4D1;
			}
	table tbody {
	}
		table tbody tr {
			border: 1px solid #CFD4D1;
		}
			table tbody tr th {
				border-right: 1px solid #CFD4D1;
				padding: 5px 15px;
				background: #D5EEDF;
			}
			table tbody tr td {
				text-align: center;
				padding: 5px;
				border-right: 1px solid #CFD4D1;
			}
	table caption {
		caption-side: bottom;
		font-size: 85%;
		text-align: right;
	}

/* table（TOP:外来・訪問診療表用） */
table.clinic_hours { /* 外来・訪問診療表 */
	width: 80%;
	max-width: 850px;
	margin: 0 auto 20px;
	background: #fff;
}
table.clinic_hours thead { /* ヘッダー */
	background: #B8DEC6;
}
table.clinic_hours thead th {
	padding: 4px 6px;
	text-align: center;
	border: 1px solid #E6E6E6;
	font-weight: normal;
	white-space: nowrap;
}
table.clinic_hours tbody tr { /* 本文 */
	border: 1px solid #E6E6E6;
}
table.clinic_hours tbody td {
	padding: 6px 4px;
	text-align: center;
	vertical-align: middle;
	border: 1px solid #E6E6E6;
}
table.clinic_hours tbody tr.category th { /* 診療区分（内科外来・訪問診療） */
	background: #EAF7EF;
	padding: 4px 12px;
	text-align: left;
	font-weight: bold;
	border: 1px solid #E6E6E6;
}
table.clinic_hours caption { /* キャプション */
	caption-side: bottom;
	padding-top: 10px;
	font-size: 100%;
	line-height: 1.8;
	text-align: left;
	color: #555;
}
table.clinic_hours caption .important { 
	font-size: 125%;
	font-weight: bold;
	background: linear-gradient(
		transparent 65%,
		#ffd1db 65%
	);
}

/*-----------*/
/* TOPページ */
/*-----------*/

/* -----------------TOPページ：当院の思い----------------- */
article.top_spirit { 
	justify-content: center;
	text-align: center;
	line-height: 2;
}

/* -----------------TOPページ：当院の特徴----------------- */
article.top_about {
	display: flex;
	justify-content: center;
	gap: 20px;
}
article.top_about dl {
	width: 306px;
	background: #fff;
	border-radius: 20px;
	overflow: hidden;
	position: relative;
	box-shadow: 0 4px 15px rgba(0,0,0,0.15);
}
article.top_about dl dt img {
	display: block;
	width: 100%;
	height: 190px;
	object-fit: cover;
}
article.top_about dl dd {
	padding: 30px 20px 35px;
	position: relative;
}
article.top_about dl dd p {
	height: auto;
	margin-bottom: 15px;
	text-align: center;
	font-weight: bold;
	font-size: 20px;
	color: #555;
	position: relative;
	z-index: 2;
}
article.top_about dl dd::before {
	content: "";
	position: absolute;
	left: -10px;
	top: 0;
	width: 90px;
	height: 90px;
	background: url("../common/img/deco_leaf.png") no-repeat;
	background-size: contain;
	opacity: 0.5;
	z-index: 1;
}
article.top_about dl dd::after {
	content: "";
	position: absolute;
	right: -10px;
	bottom: -10px;
	width: 90px;
	height: 90px;
	background: url("../common/img/deco_leaf.png") no-repeat;
	background-size: contain;
	transform: rotate(180deg);
	opacity: 0.5;
	z-index: 1;
}
article.top_about dl dd > * {
	position: relative;
	z-index: 2;
}

/* -----------------TOPページ：案内----------------- */
article.top_guide {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 50px;
}
article.top_guide .guide_link {
    width: 250px;
    height: 100px;
    background: #fff;
    border-radius: 25px;
    box-shadow: 0 4px 10px rgba(0,0,0,.08);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    color: #444;
    transition: .3s;
}
article.top_guide .guide_link:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,.12);
}
article.top_guide .guide_link span {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
}
article.top_guide .guide_link {
    position: relative;
}
article.top_guide .guide_link::after {
    content: "";
    width: 85%;
    height: 2px;
    background: #8fc9a6;
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
}
article.top_guide_instagram {
	display: flex;
	justify-content: center;
}

/* -----------------TOPページ：アクセス----------------- */
article.clm_footcont { 
	display: flex;
	justify-content: center;
	gap: 10px;
}
	article.clm_footcont div p:first-child {
		margin-bottom: 30px;
	}
	article.clm_footcont div dl{
		text-align: center;
	}
	article.clm_footcont div p:last-child {
		text-align: center;
		margin-top: 30px;
	}

/* -----------------医師紹介----------------- */
article.doctor_01 {
	justify-content: center;
}
	article.doctor_01 div:first-child {
	    text-align: center;
	}
/* -----------------医師紹介：経歴・資格----------------- */
	.doctor_profile_box {
		background: #f7f7f7;
		border-radius: 12px;
		padding: 25px;
		margin: 0 auto 30px;
		max-width: 900px;
	}
	.doctor_profile_box h4 {
		text-align: left;
		border: none;
		color: #000;
		font-size: 130%;
		margin-bottom: 15px;
		border-bottom: 1px solid #dcdcdc;
		position: relative;
	}
	.doctor_profile_box h4::after {
		content: "";
		position: absolute;
		left: 0;
		bottom: -1px;
		width: 120px;
		height: 2px;
		background: #73C694;
	}
	.doctor_history dl {
		display: flex;
		padding: 5px 0;
		border-bottom: 1px dotted #ccc;
	}
	.doctor_history dt {
		width: 150px;
		color: #555;
	}
	.doctor_history dd {
		margin: 0;
	}
	.doctor_list li {
		padding: 5px 0;
		border-bottom: 1px dotted #ccc;
	}
	.doctor_list li:last-child,
	.doctor_history dl:last-child {
		border-bottom: none;
	}

/* -----------------訪問診療について：訪問診療とは----------------- */
div.houmon_about {
	justify-content: center;
	text-align: center;
}
	div.houmon_about p {
		margin-bottom: 1.5em;
		line-height: 2;
	}
.houmon_strong {
	font-weight: bold;
	text-decoration: underline;
	text-decoration-thickness: 2px;
}

/* -----------------訪問診療について：対象となる方----------------- */
article.houmon_target {
	display: flex;
	justify-content: center;
}
article.houmon_target dl {
	background-image: url("../common/img/deco_leaf.png");
	background-repeat: no-repeat;
	width: 450px;
	margin: 0 10px;
	border-radius: 20px;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.35);
	background-color: white;
	}
		article.houmon_target dl dt {
			padding: 20px 20px 20px;
			font-size: 140%;
			font-weight: bold;
			text-align: center;
		}
		article.houmon_target dl dd {
			padding: 0 30px 30px;
			text-align: center;
		}
			article.houmon_target dl dd div {
				display: block;
				width: 100%;
				text-align: left;
			}
			article.houmon_target dl dd span {
				display: inline-block;
				background: url("../common/img/deco_cloud_y.png") no-repeat center center;
				background-size: 100% 100%;
				padding: 30px 40px;
				font-weight: bold;
			}
			/* リスト */
			article.houmon_target dl dd ul {
				list-style: none;
				padding-left: 0;
			}
			article.houmon_target dl dd li {
				position: relative;
				padding-left: 25px;
				margin-bottom: 0.5em;
			}
			article.houmon_target dl dd li::before {
				content: "";
				position: absolute;
				left: 0;
				top: 0.4em;
				width: 15px;
				height: 15px;
				background: url("../common/img/houmon_check.png") no-repeat center center;
				background-size: contain;
			}
	div.houmon_area {
		margin: 10px 30px;
	}

/* -----------------訪問診療について：当院の特徴----------------- */
dl.service_list dt {
    position: relative;
    padding-left: 24px;
    font-weight: bold;
    margin-top: 1em;
	}
	dl.service_list dt::before {
	    content: "";
	    position: absolute;
	    left: 0;
	    top: 0.25em;
	    width: 16px;
	    height: 16px;
	    background: url("../common/img/houmon_check.png") no-repeat center center;
	    background-size: contain;
	}
	dl.service_list dd {
	    margin: 0 0 1em 40px;
	}
span.kasan_memo {
	font-size: 90%;
}

/* -----------------訪問診療について：費用について----------------- */

/* 緑線枠 */
div.waku_green {
	position: relative;
	margin-top: 40px;
	padding: 50px;
	border: 10px solid transparent;
	border-image: url("../common/img/green_line.png") 10 round;
	text-align: center;
	width: 75%;
	margin-left: auto; 
	margin-right: auto;
	box-sizing: border-box;
}
div.waku_green .title {
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
	}
	div.waku_green .title span {
		display: flex;
		align-items: center;
		gap: 8px;
		padding: 0 20px;
		background: #fff;
		color: #3cb371;
		font-weight: bold;
		font-size: 28px;
	}
	div.waku_green .title img {
		display: block;
	}
table.houmon_home_price caption, table.houmon_facility_price caption {
	caption-side: top;
	font-size: 85%;
	text-align: left;
}
table.houmon_home_price {
	width: 70%;
	margin: 0 auto 25px;
	}
	table.houmon_home_price th {
		width: 30%;
	}
	.w70 {
		width: 70%;
		text-align: left;
		margin: 0 auto 10px;
	}
	.w70 li{
		margin-left: 20px;
	}
	table.houmon_facility_price {
		width: 95%;
		margin: 0 auto 25px;
	}

	table.houmon_facility_price thead th {
		text-align: center;
		vertical-align: middle;
	}

	table.houmon_facility_price tbody th {
		text-align: center;
	}
	.w95 {
		width: 95%;
		text-align: left;
		margin: 0 auto 10px;
	}
	.w95 li{
		margin-left: 20px;
	}
	
	.w70 li, .w95 li {
		position: relative;
		padding-left: 25px;
		margin-bottom: 0.5em;
		list-style: none;
	}

	.w70 li::before, .w95 li::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0.35em;
		width: 15px;
		height: 15px;
		background: url("../common/img/houmon_check.png") no-repeat center center;
		background-size: contain;
	}

/* -----------------訪問診療をご希望の方----------------- */
.guide_flow {
	max-width: 900px;
	margin: 0 auto;
	position: relative;
}
/* 縦線 */
.guide_flow::before {
	content: "";
	position: absolute;
	left: 30px;
	top: 0;
	bottom: 0;
	border-left: 2px dashed #73C694;
}
.flow_step {
	position: relative;
	padding-left: 55px;
	margin-bottom: 40px;
}
.step_no {
	position: absolute;
	left: 15px;
	top: 30px;
	width: 30px;
	height: 30px;
	background: #fff;
	border: 2px solid #73C694;
	border-radius: 50%;
	text-align: center;
	line-height: 30px;
	font-weight: bold;
	color: #73C694;
	z-index: 2;
}
.step_img {
	float:right;
	width:120px;
	margin-left:20px;
}
div.step_box {
	text-align: left;
	padding: 20px;
}
.step_box h4 {
	text-align: left;
	border: none;
	margin-bottom: 30px;
	}
	.step_box h4 span {
		position: relative;
		display: inline-block;
		padding: 0 40px 6px;
		font-size: 130%;
		font-weight: bold;
		color: #73C594;
		border-bottom: 2px solid #A8DDBA;
	}
	/* タイトル：左葉っぱ */
	.step_box h4 span::before {
		content: "";
		position: absolute;
		left: -25px;
		bottom: -15px;
		width: 70px;
		height: 40px;
		background: url("../common/img/leaf_line.png") no-repeat center;
		background-size: contain;
		transform: scaleX(-1);
	}
	/* タイトル：右葉っぱ */
	.step_box h4 span::after {
		content: "";
		position: absolute;
		right: -25px;
		bottom: -15px;
		width: 70px;
		height: 40px;
		background: url("../common/img/leaf_line.png") no-repeat center;
		background-size: contain;
	}
.step_box dl {
	background: #f8fffb;
	border: 1px solid #CFE9D9;
	border-left: 5px solid #73C694;
	padding: 20px;
	margin: 20px 0;
	border-radius: 8px;
	box-sizing: border-box;
	}
	.step_box > dl > dt {
		font-weight: bold;
		font-size: 120%;
		color: #3cb371;
		margin-bottom: 10px;
	}
	.step_box > dl > dd {
		padding-left: 10px;
	}
dl.sub_flow {
	margin-top: 20px;
	padding: 15px 20px 10px;
	background: #ffffff;
	border: 1px solid #D5EEDF;
	border-left: 4px solid #A8DDBA;
	border-radius: 8px;
}
	dl.sub_flow > dt {
		font-size: 110%;
		font-weight: bold;
		color: #333;
		margin-bottom: 10px;
	}
	dl.sub_flow dt::before {
		content: "▶ ";
		color: #73C694;
	}
.sub_flow_list {
	margin: 15px 0;
	padding: 0;
	list-style: none;
	counter-reset: step;
	}
	.sub_flow_list li {
		position: relative;
		padding: 0 0 12px 40px;
		counter-increment: step;
	}
	.sub_flow_list li::before {
		content: counter(step);
		position: absolute;
		left: 0;
		top: 0;
		width: 24px;
		height: 24px;
		line-height: 24px;
		text-align: center;
		border-radius: 50%;
		background: #73C694;
		color: #fff;
		font-size: 12px;
		font-weight: bold;
	}
	.sub_flow_list li:not(:last-child) {
		border-bottom: 1px dashed #D5EEDF;
		margin-bottom: 10px;
	}
	.flow_contact{
		margin:20px 0;
		padding:15px 20px;
		background:#ffffd6;
		border:1px solid #D5EEDF;
		border-radius:8px;
	}
.required_title {
	font-size: 120%;
	font-weight: bold;
	color: #3CB371;
	margin: 20px 0 10px;
}
	.required_docs {
		margin-top: 15px;
		padding: 20px;
		background: #f8fffb;
		border: 1px solid #D5EEDF;
		border-radius: 8px;
	}
	.doc_group {
		font-weight: bold;
		color: #3CB371;
		margin: 25px 0 5px;
	}
	.doc_group:first-child {
		margin-top: 0;
	}
	.required_docs ul {
		margin-bottom: 10px;
	}
	.required_docs li {
		position: relative;
		padding-left: 40px;
		margin-bottom: 6px;
	}
	.required_docs li::before {
		content: "";
		position: absolute;
		left: 15px;
		top: 0.35em;
		width: 14px;
		height: 14px;
		background: url("../common/img/houmon_check.png") no-repeat center;
		background-size: contain;
	}

/* -----------------よくある質問(FAQ)----------------- */
.faq {
	padding-left: 50px;
	position: relative;
}
	.faq li {
		position: relative;
	}
	.faq li:not(:last-child) {
		margin-bottom: 5vh;
	}
	.faq li dl {
		position: relative;
	}
	.faq li dl dt {
		font-size: 20px;
		font-weight: 600;
		color: #3cb371;
		margin-bottom: 1vh;
	}
	.faq li dd {
		padding-left: 30px;
	}

/* -----------------	地域の医療・介護関係者様へ----------------- */
article.tiiki_cards {
    display: flex;
    flex-wrap: wrap;
	justify-content: center;
    gap: 15px;
	}
	article.tiiki_cards .card {
	    width: 46%;
	    padding: 30px;
	    border-radius: 30px;
	    box-sizing: border-box;
	    text-align: center;
		background-image: url("../common/img/deco_leaf.png");
		background-repeat: no-repeat;
		box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.35);
		border: 4px solid #73C694;
	}
	article.tiiki_cards .card .card_title {
		margin-bottom: 5px;
		font-size: 20px;
		font-weight: bold;
		text-align: center;
		line-height: 1.5;
		min-height: 2em;
	}
	article.tiiki_cards .card .card_body {
	    display: inline-block;
	    text-align: left;
	}

	article.tiiki_cards .card .card_body p {
	    text-align: left;
	    line-height: 1.8;
	}

article.tiiki_worries {
    text-align: center;
	}
	article.tiiki_worries .txt_top,
	article.tiiki_worries .txt_bottom {
	    max-width: 800px;
	    margin: 0 auto;
	    line-height: 2;
		text-align: center;
	}
	article.tiiki_worries .txt_top {
	    margin-bottom: 30px;
	}
	article.tiiki_worries .img_center {
	    margin: 20px 0;
	}
	article.tiiki_worries .img_center img {
	    width: 300px;
	    height: auto;
	}
	article.tiiki_worries .txt_bottom {
	    margin-top: 30px;
	}
.tiiki_contact {
    width: 70%;
    margin: 30px auto 0;
    padding: 20px;
    border: 2px solid #73C694;
    border-radius: 15px;
    background: #f8fffb;
    text-align: center;
    font-weight: bold;
}
.download_buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
	align-items: center;
    gap: 15px;
	margin-top: 10px;
	}
	.btn_download {
	    display: inline-block;
	    min-width: 100px;
	    padding: 15px 25px;
	    background: #73C694;
	    color: #fff !important;
	    text-decoration: none !important;
	    text-align: center;
	    font-weight: bold;
	    border-radius: 30px;
	    box-shadow: 0 3px 8px rgba(0,0,0,0.2);
	    transition: 0.3s;
	}
	.btn_download:hover {
	    background: #5ab57d;
	    transform: translateY(-2px);
	}

/* ------------------------------ *
    フォーム用
 * ------------------------------ */


section#link_form th {
	background: none;
}

section#link_form th,
section#link_form td {
	text-align: left;
}

label ~ label {
	margin-left: 30px;
}
/* ラジオボタン */
input[type=radio] {
	margin-right: 8px;
}
.radio-btns input[type=radio] {
	display: none;
}
.radio-btns label {
	position: relative;
	padding-left: 30px;
}
.radio-btns input[type=radio] + label::before {
	position: absolute;
	content: '';
	display: block;
	width: 21px;
	height: 21px;
	border-radius: 50%;
	background: #fff;
	border: 2px solid #aaa;
	left: 0;
	top: -3px;
}
.radio-btns input[type=radio] + label::after {
	position: absolute;
	content: '';
	display: block;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: #269E91;
	left: 7px;
	top: 4px;
	opacity: 0;
	transition: .3s;
}
.radio-btns input[type=radio]:checked + label::after {
 opacity: 1;
}

/* ラジオボタン */
input.input_text,
textarea.input_text {
	width: 100%;
	box-sizing: border-box;
	border: 2px solid #aaa;
	padding: 5px 10px;
}
input.input_postcode {
	width: 8em !important;
}

/* キャプション */
.cap {
	font-size: 13px;
	color: #666;
	display: block;
	line-height: 110%;
	margin-top: 5px;
}

/* 個人情報保護宣言へのリンクボタン */
a.btn_privacy {
	display: block;
	border: 3px solid #269E91;
	border-radius: 10px;
	color: #269E91;
	font-size: 120%;
	text-align: center;
	padding: 10px  20px;
	text-decoration: none;
	margin: 15px 0;
}
a.btn_privacy p {
	display: inline;
	width: auto;
	background: #fff url("img/ico_win.png") no-repeat left center;
	font-weight: bold;
	padding-left: 30px;
}

/* 戻る／送信ボタン */
article.form_btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
	article.form_btn p {
		margin-bottom: 20px;
	}
	article.form_btn p.back button,
	article.form_btn p.submit input {
		font-size: 16px;
		display: inline-block;
		padding: 5px 10px;
		cursor: pointer;
		border: 0;
		text-decoration: none;
		text-indent: -9999px;
		width: 226px;
		height: 57px;
		margin: 0 20px;
	}
	article.form_btn p.back button {
		background: url("img/btn_back.png") no-repeat;
	}
	article.form_btn p.submit input {
		background: url("img/btn_submit.png") no-repeat;
	}


		section#link_form article table {
			border: 3px solid #4CBE79;
		}
			section#link_form article table tr:nth-child(odd) {
				background: #D5EEDF;
			}
			section#link_form article table th,
			section#link_form article table td {
				border: 2px solid #4CBE79;
				padding: 30px 20px;
				vertical-align: middle;
			}
			section#link_form article table th {
				width: 35%;
			}
				section#link_form article table th span,
				section#link_form article table th span { /* 必須＆任意表示 */
					font-size: 85%;
					padding: 3px 5px 3px 8px;
					border-radius: 3px;
					letter-spacing: 0.3em;
					color: #fff;
					font-weight: bold;
					margin-right: 5px;
				}
				section#link_form article table th span.must { /* 必須 */
					background: #FF7A8D;
				}
				section#link_form article table th span.any { /* 任意 */
					background: #B0B0B0;
				}
			section#link_form article table td {
			}
				section#link_form article table td div {
					margin-bottom: 15px;
				}
			section#link_form article.notes { /* 最後注意事項 */
				width: 80%;
				max-width: 100%;
				margin: 0 auto;
				margin-bottom: 30px;
				border: 2px solid #888;
				color: #555;
				font-size: 85%;
				padding: 10px 20px;
				text-align: center;
				line-height: 170%;
			}




@media screen and (max-width: 1000px) { /* width:1000px以下設定 */
img,iframe {
	max-width: 100%;
}
html {
}
body {
}
.img_right {
	text-align: center;
	display: block;
	margin: 15px auto;
	float: none;
}
.img_left {
	text-align: center;
	margin: 0 auto;
	float: none;
	margin: 15px;
}
/* 訪問診療について */

div.clm2 {
	display: block;
}
div.clm2 > * {
	margin: 0 20px;
}

/* --- head --- */
header {
	max-width: 100%;
	text-align: center;
	margin: 30px auto 10px;
	align-items: center;
	display: block;
}
	header h1 {
		margin: 0 auto 20px;
		text-align: center;
	}
	.header_info_top { /* サブナビゲーション */
		display: none;
	}
	header div { /* 電話*/
		margin: 0;
		text-align: center;
		padding-right: 10px;
	}
		header div a {
			display: block;
		}
		header div a:first-child {
			margin-bottom: 10px;
		}

/* ▽ハンバーガーメニュー▽ */
.hm_menu_check {/* チェックボックスを隠す */
  display: none;
}
.hm_wrap {
	display: inline-block !important;
	position :fixed;
	top :0;
	left :0;
	width :100%;
	padding :10px;
	background :#73C694;
	z-index: 10000;
}

/* ▽▽メニューボタン▽▽ */
.hm_btn {
	position: relative;
	width: 30px;
	height: 30px;
	cursor: pointer;
	display: block;
	float: left;
	z-index: 2;
}
.hm_btn::before {
	-webkit-box-shadow: #fff 0 12px 0;
	box-shadow: #fff 0 12px 0;
}
.hm_btn::after {
	bottom: 0;
}
.hm_btn::before,
.hm_btn::after {
	width: 30px;
	height: 6px;
	background: #fff;
	display: block;
	content: '';
	position: absolute;
	-webkit-transition: -webkit-box-shadow 0.2s linear, -webkit-transform 0.2s 0.2s;
	transition: box-shadow 0.2s linear, transform 0.2s 0.2s;
}
/* △△メニューボタン△△ */
 
.hm_menu_wrap {
	width :100%;
	height :10000px;
	background: #73C694;
	position: absolute;
	left: -100%;
	top: 0;
	-webkit-transition: left 0.4s;
	transition: left 0.4s;
}
 
/* ▽▽開閉時のアニメーション▽▽ */
.hm_menu_check:checked ~ .hm_btn::before {
	-webkit-box-shadow: transparent 0 0 0;
	box-shadow: transparent 0 0 0;
	-webkit-transform: rotate(45deg) translate3d(6px, 11px, 0);
	transform: rotate(45deg) translate3d(6px, 11px, 0);
}
.hm_menu_check:checked ~ .hm_btn::after {
	-webkit-transform: rotate(-45deg) translate3d(6px, -11px, 0);
	transform: rotate(-45deg) translate3d(6px, -11px, 0);
}
.hm_menu_check:checked ~ .hm_menu_wrap {
	left: 0;
}
 
/* △△開閉時のアニメーション△△ */
 
/* ▽▽メニュー内のリストスタイル▽▽ */
.hm_list {
	list-style-type: none;
	margin: 50px 0 0;
	padding: 0;
  font-size: 20px;
}
.hm_list li a {
	color: #fff;
	display: block;
	overflow: hidden;
	padding: 8px 22px;
	position: relative;
	text-decoration: none;
	z-index: 1;
}
.hm_list li a::before {/* aタグマウスオーバー時の背景 */
	background: #354353;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 100%;
	left: 0;
	-webkit-transition: bottom 0.4s;
	transition: bottom 0.4s;
	z-index: -1;
}
 
.hm_list li a:hover::before {
	bottom: 0;
}
.hm_list li a:hover::after {
	opacity: 0.5;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
/* メニュー内のリストスタイル△△ */
 
/* △△ハンバーガーメニュー△△ */
/* --- /head --- */

/* --- menu --- */
nav.nav_main { /* メインメニュー */
	display: none;
}
/* --- /menu --- */

/* --- key --- */
div#key_visual {
	display: block;
	width: 100%;
	background: #D5EEDF;
	text-align: center;
}
	div#key_visual img {
		text-align: center;
	}

/* --- /key --- */
	
section {
	width: 100%;
}
article {
	width: 95% !important;
}

	
/* --- footer --- */
footer {
	width: 100%;
	text-align: center;
}
	footer nav.nav_main {
	}
		footer nav.nav_main p {
		}
			footer nav.nav_main p a {
			}
	footer div.foot_bnr {
		height: 20px;
		margin-top: 0;
	}
		footer div.foot_bnr a {
		}
			footer div.foot_bnr a img {
			}
	footer div.foot_add {
		margin-top: 0;
	}
		footer div.foot_add p {
			position: absolute; top: -8px; left: 0; right: 0; bottom: 0;
		}
		footer div.foot_add p a:hover img {
			opacity: 1;
			filter: alpha (opacity=100);
			-ms-filter: "alpha (opacity=100)";
		}
		footer div.foot_add address {
			text-align: center;
			color: #fff;
		}
#link_TOP {
	display: block;
	padding-top: 60px;
	margin-top: -60px;
}
/* --- /footer --- */



/* ------------------------------ *
    ユニーク
 * ------------------------------ */
.sp_only {
	display: block;
}
/* -----------------TOPページ：当院の思い----------------- */
 article.top_spirit { 
 	justify-content: left;
 	text-align: left;
 	line-height: 2;
 	text-decoration: none;
 }

/* -----------------TOPページ：当院について----------------- */
article.top_about {
	display: block;
	justify-content: center;
}
	article.top_about dl {
		margin: 0 auto 30px;
	}

/* -----------------TOPページ：TOPページ3つ並び紹介----------------- */
article.top_3menu {
	width: 95%;
	display: block;
	text-align: center;
}
	article.top_3menu p {
		margin: 20px 0;
	}

/* -----------------TOPページ：下部クリニック情報①----------------- */
article.clm_footcont01 {
	width: 95%;
	text-align: center;
}
	article.clm_footcont01 div {
		display:  block;
	}
		article.clm_footcont01 div p:first-child {
			margin-bottom: 10px;
		}
		article.clm_footcont01 div p:last-child {
			margin: 0;
		}

/* -----------------TOPページ：下部クリニック情報②----------------- */
article.clm_footcont02 {
	width: 95%;
	display: block;
	justify-content: center;
}
	article.clm_footcont02 div:first-child {
		margin: 0;
	}
		article.clm_footcont02 div table { /* 診察時間割 */
			width: 95%;
			margin: 0 auto 20px;
		}
		article.clm_footcont02 div p { /* 当院は予約制です */
			width: 95%;
			margin: 0 auto 20px;
		}
		article.clm_footcont02 div dl { /* WEB予約電話予約 */
			width: 95%;
			margin: 0 auto 20px;
		}
		article.clm_footcont02 div a.btn_houmon { /* 訪問診療についてはこちら */
			width: 90%;
			margin: 0 auto 20px;
		}
			article.clm_footcont02 div a.btn_houmon p {
				display: inline;
				background: url("img/ico_home.png") no-repeat left center;
				padding-left: 35px;
				font-weight: bold;
			}
		article.clm_footcont02 div ul { /* ※ */
			width: 95%;
			margin: 0 auto 20px;
		}
			article.clm_footcont02 div ul li {
			}
	article.clm_footcont02 div:last-child { /* MAP */
		text-align: center;
		width: 95%;
		margin: 0 auto;
	}

/* -----------------TOPページ：案内----------------- */
	article.top_guide {
		flex-direction: column;
		align-items: center;
		gap: 10px;
	}
	article.top_guide .guide_link {
		width: 90%;
		max-width: 320px;
		height: 110px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	article.top_guide .guide_link span {
		font-size: 24px;
		line-height: 1.4;
	}
	article.top_guide .guide_link::after {
		bottom: 10px;
	}

/* -----------------TOPページ：外来・訪問診療表----------------- */
	table.clinic_hours {
		width: 98%;
		max-width: none;
	}
	table.clinic_hours thead th,
	table.clinic_hours tbody td {
		padding: 4px 2px;
	}

/* -----------------TOPページ：アクセス----------------- */
	article.clm_footcont {
		display: block;
		text-align: center;
	}
	article.clm_footcont div:first-child {
		margin-bottom: 30px;
	}
	article.clm_footcont div:last-child {
		width: 100%;
	}
	article.clm_footcont iframe {
		width: 100%;
		max-width: 500px;
		height: 350px;
	}

/* -----------------医師紹介----------------- */
.doctor_profile_box {
	width: 100%;
	max-width: 100%;
	padding: 20px 15px;
	box-sizing: border-box;
	overflow: hidden;
}
.doctor_history dl {
	display: block;
	width: 100%;
	padding: 8px 0;
	box-sizing: border-box;
}
.doctor_history dt {
	display: block;
	width: 100%;
	margin-bottom: 5px;
	font-weight: bold;
}
.doctor_history dd {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	word-break: break-word;
	overflow-wrap: anywhere;
}

/* -----------------訪問診療について：対象となる方----------------- */
	article.houmon_target {
		display: block;
	}
	article.houmon_target dl {
		width: 100%;
		max-width: 500px;
		margin: 0 auto 30px;
		box-sizing: border-box;
	}

/* -----------------訪問診療について：費用について----------------- */
	div.waku_green {
		width: 95%;
		padding: 60px 15px 20px;
		box-sizing: border-box;
	}
	table.houmon_home_price {
		width: 100%;
	}
	table.houmon_home_price th {
		width: 45%;
	}
	div.waku_green .title span {
		font-size: 18px;
	}
	table.houmon_home_price {
		width: 100%;
	}
	.w70 {
		width: 100%;
	}
	table.houmon_facility_price {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
	}
	
/* -----------------訪問診療をご希望の方----------------- */
	dl.sub_flow {
		margin-left: -5px;
	}
	.step_img {
		display: none;
	}
	div.step_box {
		padding: 10px;
	}
	.step_box h4 span {
		padding: 0 33px 6px;
		display: inline-block;
		max-width: 98%;
		box-sizing: border-box;
	}
	div.step_box dl {
		padding-right: 10px;
	}
	
/* -----------------地域の医療・介護関係者様へ----------------- */
	article.tiiki_cards {
		display: block;
	}
	article.tiiki_cards .card {
		width: 100%;
		max-width: 500px;
		margin: 0 auto 20px;
	}
}
