@charset "UTF-8";

* { font-family: 'Noto Sans JP', sans-serif; }

html { margin: 0px; padding: 0px; width: 100%; height: 100%; }
body { margin: 0px auto; padding: 0px; width: 100%; height: 100%; position: relative; }
ul { list-style: none; }
img { vertical-align: top; }

header { margin: 0px auto; padding: 0px; min-width: 1200px; width: 100%; border-top: solid 5px #56a03c; }
header nav { margin: 0px auto; padding: 0px; width: 100%; background: #f7faf1; }
#MB { margin: 0px auto; padding: 0px; width: 1162px; height: 90px; display: flex; }
#MB * { color: #444444; }
#MB a { text-decoration: none; transition: all 0.3s; }
#MB a:hover { opacity: 0.7; }
#MB li { margin: 0px; text-align: center; }
#MB li:not(:first-child) { border-left: solid 0.5px #56a03c; }
#MB li:first-child { padding: 0px; width: 505px; text-align: left; }
#MB li:first-child img { margin: 0px; padding: 16px 0px 0px 30px; width: 292px; height: auto; }
#MB li:nth-child(2) { padding: 30px 0px 0px 0px; width: 84px; white-space: nowrap; }
#MB li:nth-child(3) { padding: 30px 0px 0px 0px; width: 155px; white-space: nowrap; }
#MB li:nth-child(4) { padding: 30px 0px 0px 0px; width: 100px; white-space: nowrap; }
#MB li:nth-child(5) {  padding: 30px 0px 0px 0px;width: 120px; white-space: nowrap; }
#MB li:last-child { padding: 24px 0px 0px 0px; width: 231px; white-space: nowrap; }
#MB li:last-child a { margin: 0px auto; padding: 6px 5px; width: 193px; font-size: 16px; font-weight: 600; display: block; color: #fff; background: #56a03c; border-radius: 5px; }
#MB li dl { margin: 0px; padding: 0px; width: 100%; }
#MB li dt { margin: 0px; padding: 0px; width: 100%; text-align: center; }
#MB li dd { margin: 0px; padding: 5px 0px 0px 0px; width: 100%; text-align: center; }
#b_medical_detail { cursor: pointer; }
#b_advanced { cursor: pointer; }

#MB_sub { margin: 0px; padding: 0px; width: 100%; background: rgba(39,149,0,0.7); position: absolute; top: 0px; z-index: 20; opacity: 0.0; }
#MB_sub dl { margin: 0px auto; padding: 10px 0px; width: 1200px; display: flex; }
#MB_sub dt { margin: 0px; padding: 12px 0px; width: 280px; border-right: solid 3px #fff; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-end; }
#MB_sub dt div { margin: 0px; padding: 0px 20px 0px 0px; box-sizing: border-box; }
#MB_sub dd { margin: 0px; padding: 12px 0px 12px 20px; width: 1050px; box-sizing: border-box; }
#MB_sub ul { margin: 0px auto; padding: 0px; width: 100%; display: flex; justify-content: space-around; }
#MB_sub li { margin: 0px; padding: 0px; }
#MB_sub * { color: #fff; white-space: nowrap; }
#MB_sub a { text-decoration: none; transition: all 0.3s; }
#MB_sub a:hover { opacity: 0.7; }

.brnone {display: none}

main { margin: 0px auto; padding: 0px; width: 100%; font-size: 16px; color: #444; text-align: justify;}
section:not(:last-child) { margin: 80px 0px; padding: 0px; width: 100%; }
section:last-child { margin: 0px; padding: 0px; width: 100%; }


/**/
#comm_area { width: 1000px; margin: 40px auto 100px auto; padding: 0; overflow: hidden;}
#comm_area ul { margin: 50px 0 0 0; background: #fff; padding: 30px 50px 50px 50px; text-align: center;}
#comm_area li {}
.comm_ti { border-left: 10px solid #b2d66d; font-size: 34px; color: #56a03c; padding: 0 0 0 20px; margin: 20px 0 0 0; text-align: left;}
.comm_ti_sub { font-size: 28px; color: #56a03c; /*padding: 0 0 0 30px;*/ margin: 40px 0 0 0; text-align: left;}
.comm_txt { margin-top: 40px; text-align: left; line-height: 180%;}
.comm_txt_sub{ margin-top: 20px; padding: 0 0 0 30px; text-align: left; line-height: 180%;}
.comm_color { color: #56a03c; text-align: left; }
.comm_color a { color: #56a03c !important; text-decoration: underline !important; transition: all 0.3s;}
.comm_color a:hover { opacity: 0.7; text-decoration: none !important; }
.comm_photo { display: inline-block; margin: 40px 0 0 0; text-align: left;}
.comm_photo2 { margin: 40px 0 0 0;}
.comm_photo2 dl { display: table; width: 100%;}
.comm_photo2 dl img{ margin-bottom: 10px;}
.comm_photo2 dt { display: table-cell; text-align: left; padding: 0 20px 0 0}
.comm_photo2 dd { display: table-cell; text-align: left; width: 440px;}

/* アクセス／お問い合わせ */
#access { margin: 0px; padding: 0px; width: 100%; min-width: 1200px; height: 190px; background: #e0ebc1; display: flex; align-items: center; justify-content: center; }
#access a { margin: 0px; padding: 0px; display: block; transition: all 0.3s; }
#access a:hover { opacity: 0.7; }

footer { margin: 0px auto; padding: 0px; width: 100%; min-width: 1200px; }
footer dl { margin: 0px; padding: 0px; width: 100%; }
footer dt { margin: 0px; padding: 60px 0px 30px 0px; width: 100%; background: #f7faf1; }
footer dt ul { margin: 0px auto; padding: 0px; width: 1100px; display: flex; justify-content: space-between; }
footer dt a { color: #444; text-decoration: none; line-height: 160%; transition: all 0.3s; }
footer dt a:hover { opacity: 0.7; }
footer dt li { margin: 0px; padding: 0px; }
footer dt li:first-child { font-size: 15px; }
footer dt li:first-child div { margin: 0px; padding: 0px; width: 100%; display: block; }
footer dt li:first-child img { margin: 0px 0px 13px 0px; padding: 0px; width: 260px; height: auto; }
footer dt li:first-child span { color: #444; }
footer dt li:nth-child(n+2) div { margin: 0px 0px 15px 0px; padding: 0px 0px 10px 0px; color: #444; text-align: center; border-bottom: solid 2px #7ebd68; }
footer dd { margin: 0px; padding: 0px; width: 100%; color: #fff; font-size: 12px; line-height: 38px; text-align: center; background: #7ebd68; }
footer #b_pagetop { margin: 0px auto; padding: 0px 20px 0px 0px; width: 60px; height: 60px; text-align: right; box-sizing: border-box; display: none; transition: all 0.3s; cursor: pointer; position: fixed; bottom: 50px; right: 20px; z-index: 99999; }
footer #b_pagetop:hover { opacity: 0.7; }

/* サブページセット */
#page_title { margin: 0px; padding: 0px; width: 100%; height: 250px; background: url(../i/sub_header_back.jpg) center center no-repeat; background-size: cover; display: flex; align-items: center; justify-content: center; }
#page_title span { margin: 0px; padding: 15px 70px 25px 70px; color: #fff; font-size: 34px; font-weight: 600; text-align: center; background: #518b2a;  }
#page_title hr { margin: 15px auto 0px auto; padding: 0px; width: 70%; border-bottom: solid 3px #fff; }

/* ページトップボタン */
#page-top {	position: fixed; right: 50px; bottom: 40px; line-height: 0;	}
#page-top a { display: block; width: 60px; height: 60px; background: url( "../i/b_pagetop.png") no-repeat; }

/* ------------------------------------------ */
/* スマホ */
/* ------------------------------------------ */
@media all and (max-width:799px){
	header { min-width: 100%; width: 100%; }
	header nav { width: 100%; }
	#MB { width: 100%; background: #fff; }
	#MB li:nth-child(4) { padding: 5px 0px 0px 0px; width: 100px; white-space: nowrap; }
	#MB li:first-child { width: 55%; display: flex; align-items: center; }
	#MB li:first-child img { padding: 0px; width: 100%; height: auto; box-sizing: border-box; }
	#MB li:nth-child(n+2) { display: none; }
	
	#MB_sub { display: none; }

	.brnone {display: block;}

	
	main { width: 100%; }
	section { margin: 40px 0px; width: 100%; }
	
	/**/
	#comm_area { width: 100%; margin: 3% 0 10% 0; box-sizing: border-box; padding: 0 15px; }
	#comm_area ul { width: 100%; margin: 50px 0 0 0; padding: 30px 0 50px 0;}
	.comm_ti { width: 96%; font-size: 26px; padding: 0 20px 0 20px; box-sizing: border-box; margin: 20px 2% 0 20px; }
	.comm_ti_sub { width: 90%; font-size: 20px; color: #56a03c; padding: 0 5%; margin: 20px 0 0 0; text-align: left;}
	.comm_txt { width: 90%; font-size: 14px; line-height: 160%; margin: 20px 0 0 0; padding: 0 5%;}
	.comm_txt_sub{ line-height: 160%; padding: 0 5% 0 30px;}
	.comm_photo { width: 90%; margin: 40px 0 0 0; padding: 0 5%; text-align: center;}
	.comm_photo img { width: 100%; height: auto;}
	.comm_photo2 dl { display: inline-block; width: 90%; padding: 0 5%;}
	.comm_photo2 dl img { width: 100%; height: auto; }
	.comm_photo2 dt { display: inline; padding: 0;}
	.comm_photo2 dd { display: inline; padding: 0; margin: 0;}
	.comm_photo2 dd img { margin-top: 40px; }
	
	
	/* アクセス／お問い合わせ */
	#access { padding: 40px 0px; min-width: 100%; height: 100%; }
	#access a { width: 90%; }
	#access img { margin: 0px; padding: 0px; width: 100%; height: auto; }
	
	footer { width: 100%; min-width: 100%; }
	footer dt { padding: 20px 0px; }
	footer dt ul { width: 98%; display: block; }
	footer dt li { padding: 20px 0px; }
	/*footer dt li:not(:last-child) { border-bottom: solid 2px #7ebd68; }*/
	footer dt li:first-child {  padding: 0px 0px 20px 0px; }
	footer dt li:first-child { display: flex; justify-content: space-between; }
	footer dt li:first-child div:first-child { width: 70%; }
	footer dt li:first-child div:last-child { text-align: right; }
	footer dt li:first-child span { font-size: 3.2vw; line-height: 120%; text-align: left; display: inline-block; }
	footer dt li:first-child img { width: 100%; height: auto; }
	footer dt li:nth-child(n+2) { text-align: center; }
	footer dt li:nth-child(n+2) div { margin: 0px; color: #999; font-size: 4vw; border-bottom: none; }
	footer dt li:nth-child(n+2) a { font-size: 4vw; }
	footer dd { font-size: 2.5vw; }
	footer ul li:nth-child(n+2) { display: none; }
	footer #b_pagetop { padding: 0px 20px 0px 0px; width: 45px; height: 45px; transition: none; bottom: 20px; right: 20px; }
	
	/* サブページセット */
	#page_title { padding: 30px 0px; width: 100%; height: 100%; background-size: cover; }
	#page_title span { padding: 5% 18% 6% 18%; font-size: 5vw; box-sizing: border-box; }
	#page_title hr { margin: 15px auto 0px auto; padding: 0px; width: 70%; border-bottom: solid 3px #fff; }
	
	/* ページトップボタン */
	#page-top {	position: fixed; right: 20px; bottom: 40px; line-height: 0;	}
}
