@charset "UTF-8";
/* CSS Document */

/***GREETINGS***/

.greetings-img {
	width: 100%;
	margin: 0 0 20px;
	padding: 0;
	position: relative;
	overflow: hidden;
}

h2.greetings-mds {
	width: 95%;
	margin: 0 auto 30px;
	padding: 0;
	position: relative;
	overflow: hidden;
	font-size: 180%;
	font-weight: bold;
	line-height: 180%;
	color: #208452;
}

.greetings-txt {
	width: 95%;
	margin: 0 auto 100px;
	padding: 0;
	position: relative;
	overflow: hidden;
}

ul.greetings-profile {
	width: 95%;
	margin: 0 auto;
	padding: 0;
	position: relative;
	overflow: hidden;
	list-style: none;
}

ul.greetings-profile li {
	width: 100%;
	margin: 0 0 20px;
	padding: 0;
	position: relative;
	overflow: hidden;
	font-size: 120%;
	font-weight: bold;
	text-align: right;
}

ul.greetings-profile li:last-child {
	margin: 0;
}

/***HOSPITAL LIST***/

.hospmap-area {
	width: 95%;
	margin: 0 auto 60px;
	padding: 0;
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.hospmap-area .areamap {
	width: 38%;
}

.hospmap-area ul.area-list {
	width: 60%;
	list-style: none;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.hospmap-area ul.area-list li {
	width: 48%;
	border-radius: 10px;
	text-align: center;
	font-weight: bold;
	margin: 0 0 10px;
	
	transition: all 0.3s;
}

.hospmap-area ul.area-list li:hover {
	opacity: 0.4;
}

.al-01 {/*高知市*/
	background-color: #FFDD78;
}
.al-02 {/*安芸市*/
	background-color: #A5CE4C;
}
.al-03 {/*南国市*/
	background-color: #FFA779;
}
.al-04 {/*土佐市*/
	background-color: #6883C0;
}
.al-05 {/*宿毛市*/
	background-color: #FC8177;
}
.al-06 {/*四万十市*/
	background-color: #51AE7E;
}
.al-07 {/*香南市*/
	background-color: #EF78A4;
}
.al-08 {/*香美市*/
	background-color: #BA91D0;
}
.al-09 {/*吾川郡*/
	background-color: #FFB8E1;
}
.al-10 {/*高岡郡*/
	background-color: #A3DDE1;
}

.hospmap-area ul.area-list li a {
	width: 90%;
	margin: 0 auto;
	padding: 5px 5%;
	display: block;
	color: #000000;
}

section.chiiki-area {
	width: 95%;
	margin: 0 auto 100px;
	padding: 0;
	position: relative;
	overflow: hidden;
	background-color: #F2F2F2;
}

section.chiiki-area:last-child {
	margin: 0 auto;
}

section.chiiki-area h4 {
	width: 90%;
	margin: 0 auto;
	padding: 20px 5%;
	position: relative;
	overflow: hidden;
	font-size: 160%;
	line-height: 120%;
	font-weight: bold;
	text-align: center;
}

.chiiki-wrap {
	width: 90%;
	margin: 0 auto;
	padding: 60px 0;
	position: relative;
	overflow: hidden;
}

.chiiki-wrap h5 {
	width: 12%;
	margin: 0;
	padding: 10px 2%;
	position: relative;
	overflow: visible;	
	color: #FFFFFF;
	font-size: 130%;
	font-weight: bold;
}

.chiiki-wrap h5:after {
	content: " ";
    position: absolute;
    display: block;
    width: 30%;
    height: 100%;
    top: 0;
    right: -30px;
    z-index: 0;
    background-color: #FF0000;
	transform-origin: bottom left;
    -ms-transform: skew(30deg, 0deg);
    -webkit-transform: skew(30deg, 0deg);
    transform: skew(30deg, 0deg);
}

.facility h5 {
	background-color: #00A856;
}

.facility h5:after {
	background-color: #00A856;
}

.clinic h5 {
	background-color: #2E90AA;
}

.clinic h5:after {
	background-color: #2E90AA;
}

ul.hosp-list {
	width: 90%;
	margin: 0 auto;
	padding: 30px 5%;
	position: relative;
	overflow: hidden;
	list-style: none;
	background-color: #FFFFFF;
}

ul.hosp-list li {
	width: 100%;
	margin: 0 0 10px;
	padding: 10px 0;
	position: relative;
	overflow: hidden;
	border-bottom: solid 1px #A8A8A8;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

ul.hosp-list li:last-child {
	border-bottom: solid 1px transparent;
}

ul.hosp-list li:before {
	content: "";
	width: 5px;
	height: 40px;
	display: inline;
	background-color: grey;
	margin: 0 10px 0 0;
}

.facility ul.hosp-list li:before {
	background-color: #C8F5E0;
}

.clinic ul.hosp-list li:before {
	background-color: #DAEFF7;
}

ul.hosp-list li h6 {
	width: 35%;
	font-size: 105%;
	font-weight: bold;
	text-align: left;
	margin: 0;
}

ul.hosp-list li .info {
	width: 65%;
	font-weight: normal;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	font-size: 90%;
	line-height: 180%;
}

ul.hosp-list li .info .hl-add {
	width: 100%;
}

ul.hosp-list li .info .hl-tel {
	width: 35%;
}

ul.hosp-list li .info .hl-url {
	width: 65%;
}

/***DOCTOR LIST***/

section.doc-area {
	width: 80%;
	margin: 0 auto 100px;
	padding: 0;
	position: relative;
	overflow: hidden;
}

section.doc-area:last-child {
	margin: 0 auto;
}

section.doc-area h4 {
	width: 89.5%;
	margin: 0 auto 10px;
	padding: 20px 5%;
	position: relative;
	overflow: hidden;
	font-size: 160%;
	line-height: 120%;
	font-weight: bold;
	text-align: center;
}

table.doctors-table {
	width: 100%;
	margin: 0;
	padding: 0;
	position: relative;
	overflow: hidden;
	border-spacing: 3px;
	font-weight: bold;
	font-size: 100%;
}

table.doctors-table th,table.doctors-table td {
	padding: 10px;
}

table.doctors-table th {
	background-color: #838383;
	color: #FFFFFF;
}

table.doctors-table td {
	background-color: #EAEAEA;
	color: #000000;
}

table.doctors-table td:first-of-type {
	width: 30%;
}

/***MEDICAL ADVICE***/

ul.advice-links {
	width: 100%;
	margin: 0 0 40px;
	padding: 0;
	position: relative;
	overflow: hidden;
	list-style: none;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

ul.advice-links li {
	width: 32%;
	margin: 0 0 15px;
	background-color: #EDEDED;
	text-align: center;
	border-radius: 5px;
	font-size: 100%;
	font-weight: bold;
	transition: ease-in-out 0.3s;
}

ul.advice-links li:hover {
	background-color: #2258A2;
}

ul.advice-links li a {
	width: 90%;
	margin: 0 auto;
	padding: 10px 5%;
	display: block;
	color: #000000;
	transition: ease-in-out 0.3s;
}

ul.advice-links li:hover a {
	color: #FFFFFF;
}

article.advice-article {
	width: 95%;
	margin: 0 auto 100px;
	padding: 0;
	position: relative;
	overflow: hidden;
}

article.advice-article:last-child {
	margin: 0 auto;
}

article.advice-article h4 {
	width: 95%;
	margin: 0 auto 30px;
	padding: 20px 2.5%;
	position: relative;
	overflow: hidden;
	background-color: #E7F8F0;
	border-top: solid 10px #59C693;
	font-size: 140%;
	font-weight: bold;
	line-height: 110%;
}

article.advice-article .wrap {
	width: 95%;
	margin: 0 auto;
	padding: 0;
	position: relative;
	overflow: hidden;
}

article.advice-article .txt {	
	width: 100%;
	margin: 0;
	padding: 0;
	position: relative;
	overflow: hidden;
	font-size: 100%;
	line-height: 240%;
}

article.advice-article section.advice-sec {
	width: 100%;
	margin: 0 0 30px;
	padding: 0;
	position: relative;
	overflow: hidden;
}

article.advice-article section.advice-sec:last-child {
	margin: 0;
}

article.advice-article h5 {
	width: 100%;
	margin: 0 0 20px;
	padding: 0 0 5px;
	position: relative;
	overflow: hidden;
	font-size: 130%;
	font-weight: bold;
	line-height: 110%;
	color: #208452;
	border-bottom: solid 3px #208452;
}

section.advice-sec .txt {
	width: 98%;
	margin: 0 auto;
}

section.advice-sec a {
	color: #2258A2;
	border-bottom: solid 1px #2258A2;
	
	transition: all 0.3s;
}

section.advice-sec a:hover {
	opacity: 0.5;
	border-bottom: solid 1px transparent;
}

article.advice-article h6 {
	width: 100%;
	margin: 0 0 10px;
	padding: 0;
	position: relative;
	overflow: hidden;
	font-size: 100%;
	font-weight: bold;
	line-height: 110%;
}

section.advice-sec ul {
	margin: 0;
}

/***REGISTRATION***/

table.register-table {
	width: 100%;
	margin: 60px 0 0;
	padding: 0;
	position: relative;
	overflow: hidden;
	border-spacing: 1px;
	background-color: #C1C1C1;
}

table.register-table th,table.register-table td {
	padding: 10px;
	text-align: left;
}

table.register-table th {
	background-color: #E9F5C8;
	font-weight: bold;
}

table.register-table td {
	background-color: #FFFFFF;
}

table.register-table a {
	color: #2258A2;
	border-bottom: solid 1px #2258A2;
	
	transition: all 0.3s;
}

table.register-table a:hover {
	opacity: 0.5;
	border-bottom: solid 1px transparent;
}

/***LINKLIST***/

ul.links-list {
	width: 100%;
	margin: 0;
	padding: 0;
	position: relative;
	overflow: hidden;
	list-style: none;
    font-size: 110%;
    font-weight: bold;
}

ul.links-list li {
	width: 90%;
	margin: 0 auto 10px;
	padding: 0;
	position: relative;
	overflow: visible;
}

ul.links-list li:before {
	content: "●";
    font-size: 90%;
    color: #59C693;
    display: inline;
    width: 1.0em;
    margin: 0 0.6em 0 -1.0em;
}

ul.links-list li a {
	color: #2258A2;
	border-bottom: solid 1px transparent;
	
	transition: all 0.3s;
}

ul.links-list li a:hover {
	opacity: 0.5;
	border-bottom: solid 1px #2258A2;
}

/*****MEMBERS PAGES*****/

.login-area {
	width: 60%;
	max-width: 600px;
	margin: 0 auto 60px;
	padding: 0;
	position: relative;
	overflow: hidden;
}

.login-area ul {
	width: 100%;
	margin: 0 0 30px;
	padding: 0;
	position: relative;
	overflow: hidden;
	list-style: none;
}

.login-area ul li {
	width: 100%;
	margin: 0 0 30px;
}

.login-area ul li:last-child {
	margin: 0;
}

.login-area ul li .label {
	font-size: 90%;
	font-weight: bold;
}

.login-area ul li .login-input {
	width: 90%;
	margin: 0 auto;
	padding: 30px 2.5%;
	position: relative;
	overflow: hidden;
	border: solid 1px #707070;
}

.login-area .submitbtn {
	width: 60%;
	margin: 0 auto;
	padding: 0;
	position: relative;
	overflow: hidden;
	background-color: #2258A2;
	border-radius: 10px;
	color: #FFFFFF;
	text-align: center;
	font-size: 120%;
	font-weight: bold;
	transition: all 0.3s;
}

.login-area .submitbtn:hover {
	background-color:#061f43;
}

.login-area .submitbtn a {
	width: 90%;
	margin: 0 auto;
	padding: 15px 5%;
	display: block;
	color: #FFFFFF;
}

.login-notes {
	width: 90%;
	margin: 0 auto;
	padding: 0;
	position: relative;
	overflow: hidden;
	font-size: 100%;
}

/***MEMBER:REGULATIONS***/

.reg-txt {
	width: 100%;
	margin: 0 0 30px;
	padding: 0;
}

section.reg-sec {
	width: 100%;
	margin: 0 0 30px;
	padding: 0;
	position: relative;
	overflow: hidden;
}

section.reg-sec:last-child {
	margin: 0;
}

section.reg-sec h3 {
	width: 100%;
    margin: 0 0 20px;
    padding: 0 0 5px;
    position: relative;
    overflow: hidden;
    font-size: 130%;
    font-weight: bold;
    line-height: 110%;
    color: #2258A2;
    border-bottom: solid 3px #2258A2;
}

section.reg-sec dl {
	width: 100%;
	margin: 0 0 20px;
	padding: 0;
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: space-between;
}

section.reg-sec dl:last-child {
	margin: 0;
}

section.reg-sec dl dt {
	width: 8%;
	font-weight: bold;
}

section.reg-sec dl dd {
	width: 90%;
}

section.reg-sec dl ol {
	width: 95%;
	margin: 0 auto;
	padding: 0;
}

section.reg-sec dl .greyback {
	width: 80%;
	margin: 30px 0 0;
	padding: 20px 0;
	position: relative;
	overflow: hidden;
	background-color: #E5E5E5;
	text-align: center;
}

section.mem-sec {
	width: 100%;
	margin: 0 0 60px;
	padding: 0;
	position: relative;
	overflow: hidden;
}

section.mem-sec:last-child {
	margin: 0;
}

section.mem-sec h3 {
	width: 100%;
    margin: 0 0 30px;
    padding: 0 0 5px;
    position: relative;
    overflow: hidden;
    font-size: 130%;
    font-weight: bold;
    line-height: 110%;
    color: #2258A2;
    border-bottom: solid 3px #2258A2;
}

section.mem-sec ul {
	width: 95%;
	margin: 0 auto;
	padding: 0;
	position: relative;
	overflow: hidden;
	list-style: none;
}

section.mem-sec ul > li {	
	width: 95%;
	margin: 0 auto;
	padding: 10px 2.5%;
	position: relative;
	overflow: hidden;
	border-bottom: solid 1px #C9C9C9;
	display: flex;
	justify-content: space-between;
	background-color: #FFFFFF;
	text-align: left;
}

section.mem-sec ul > li:first-child {
	border-top: solid 1px #C9C9C9;
}

section.mem-sec ul > li:nth-child(even) {
	background-color: #F5F5F5;
}

section.mem-sec ul > li .yakushoku {
	width: 20%;
	font-weight: bold;
	color: #2258A2;
}

section.mem-sec ul > li .members {
	width: 75%;
}

section.mem-sec ul > li .members > dl {
	width: 100%;
	margin: 0 0 10px;
	display: flex;
	justify-content: space-between;
}

section.mem-sec ul > li .members > dl:last-child {
	margin: 0;
}

section.mem-sec ul > li .members > dl > dt {
	width: 35%;
	font-weight: bold;
	margin: 0;
	padding: 0;
}

section.mem-sec ul > li .members > dl > dd {
	width: 60%;
}


/***REPORTS***/
section.report-sec {
	width: 100%;
	margin: 0 0 60px;
	padding: 0;
	position: relative;
	overflow: hidden;
}

section.report-sec:last-child {
	margin: 0;
}

section.report-sec h3 {
	width: 100%;
    margin: 0 0 30px;
    padding: 0 0 5px;
    position: relative;
    overflow: hidden;
    font-size: 130%;
    font-weight: bold;
    line-height: 110%;
    color: #2258A2;
    border-bottom: solid 3px #2258A2;
}

section.report-sec ul {
	width: 100%;
	margin: 0;
	padding: 0;
	position: relative;
	overflow: hidden;
	list-style: none;
    font-size: 110%;
    font-weight: bold;	
}

section.report-sec ul > li {
	width: 90%;
	margin: 0 auto 10px;
	padding: 0;
	position: relative;
	overflow: visible;
	border-top: none;
	border-bottom: none;
}

section.report-sec ul > li:before {
	content: "●";
    font-size: 90%;
    color: #2258A2;
    display: inline;
    width: 1.0em;
    margin: 0 0.6em 0 -1.0em;
}

section.report-sec  ul > li a {
	color: #2258A2;
	border-bottom: solid 1px #2258A2;
	transition: all 0.3s;
}

section.report-sec  ul > li a:hover {
	opacity: 0.5;
	border-bottom: solid 1px transparent;
}

/***MEMBER:SCHEDULE***/

.hosp-contact {
	width: 80%;
	margin: 30px auto;
	padding: 20px 5%;
	position: relative;
	overflow: hidden;
	background-color: #F0F0F0;
}

.scroll-memo {
	display: none;
}

table.schedule-table {
	width: 90%;
	margin: 0 auto;
	padding: 0;
	position: relative;
	overflow: hidden;
	border-spacing: 1px;
    background-color: #C1C1C1;
}

table.schedule-table th,.schedule-table td {
	padding: 10px 5px;
	text-align: center;
	width: 13%;
}

.schedule-table th {
	background-color: #303030;
	color: #FFFFFF;
	font-weight: bold;
}

.schedule-table td {
	background-color: #FFFFFF;
	font-size: 85%;
	line-height: 140%;
}

.schedule-txt {
	width: 90%;
	margin: 30px auto;
	padding: 0;
	position: relative;
	overflow: hidden;
}

/***MEMBER:MEIBO***/

.meibo-btn {
	width: 80%;
	max-width: 600px;
	margin: 0 auto 60px;
	padding: 0;
	position: relative;
	overflow: hidden;
	font-size: 120%;
	font-weight: bold;
	background-color: #59C693;
	text-align: center;
}

.meibo-btn a {
	width: 90%;
	margin: 0 auto;
	padding: 30px 0;
	display: block;
	color: #FFFFFF;
}

.meibo-memo {
	width: 80%;
	margin: 0 auto;
	text-align: center;
}