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


.sub-select {
	display: flex;
	/* justify-content: space-between; */
	justify-content: space-evenly;
	margin-bottom: 50px;
}
.sub-select li {
	background: #434343;
	text-align: center;
	width: 24%;
	font-size: 16px;
}
.sub-select li a {
	display: block;
	padding: 10px;
	box-sizing: border-box;
	color:#fff;
}
.sub-select li a:hover {
	background: #db0707;
}
.sub-select .on {
	background: #db0707;
}



.about-content .flexbox h2 {
	font-size: 32px;
	text-align: center;
	font-weight: bold;
	padding: 0;
	margin: 0;
	margin-bottom: 30px;
}

.flexbox {
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
}
.flex_l {
	width: 49%;
}
.flex_r {
	width: 49%;
	display: flex;
  justify-content: center;
  align-items: center;
	flex-direction: column;
}

.flexbox img {
	width: 100%;
	height: auto;
}
.flexbox p {
	font-size: 16px;
	margin-bottom: 16px;
	line-height: 2;
}

.rev {
	flex-direction: row-reverse;
}


@media screen and (max-width:768px) {
	
.spwide {
		margin: 0 15px;
}
	
.sub-select {
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
	flex-wrap: wrap;
}
.sub-select li {
	background: #434343;
	text-align: center;
	width: 49%;
	font-size: 14px;
	margin-bottom: 5px;
}
.sub-select li a {
	display: block;
	padding: 10px;
	box-sizing: border-box;
	color:#fff;
}

.about-content .flexbox h2 {
	font-size: 20px;
	text-align: center;
	font-weight: bold;
	padding: 0;
	margin: 0;
	margin-bottom: 10px;
}

.flexbox {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin-bottom: 20px;
}
.flex_l {
	width: 100%;
	margin-bottom: 15px;
}
.flex_r {
	width: 100%;
	display: flex;
  justify-content: center;
  align-items: center;
	flex-direction: column;
	margin-bottom: 15px;
	
}

.flexbox img {
	width: 100%;
	height: auto;
}
.flexbox p {
	font-size: 14px;
	margin-bottom: 16px;
	line-height: 1.7;
}

.rev {
	flex-direction: column;
}
	
}

.one-clm {
	margin-bottom: 40px;
	margin-top: 20px;
}


.one-clm h2 {
font-size: 32px;
	text-align: center;
	font-weight: bold;
	padding: 0;
	margin: 0;
	margin-bottom: 40px;
}

.one-clm p {
	font-size: 16px;
	margin-bottom: 16px;
	line-height: 2;
}
.profileimg {
	float: right;
	width: 250px;
	margin-left: 20px;
	margin-bottom: 20px;
}
.profileimg img {
	width: 100%;
	height: auto;
}

.content-line {
	border-bottom: 1px solid #d2d2d2;
	padding-bottom: 40px;
	margin-bottom: 40px;
}


@media screen and (max-width:768px) {
	
.one-clm {
	margin-bottom: 20px;
}
	
.one-clm h2 {
font-size: 20px;
	text-align: center;
	font-weight: bold;
	padding: 0;
	margin: 0;
	margin-bottom: 20px;
}

.one-clm p {
	font-size: 14px;
	margin-bottom: 16px;
	line-height: 2;
}
.profileimg {
	float: none;
	width: 150px;
	margin-left: 0px;
	margin-bottom: 0px;
	text-align: center;
	margin: 0 auto 15px;
}
.profileimg img {
	width: 100%;
	height: auto;
}

.content-line {
	border-bottom: 1px solid #d2d2d2;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
	
}



#gaiyou {
	background: #f8f8f7;
	border: 1px solid #E3E3E3;
	border-top: none;
	width: 100%;
	font-size: 16px;
	line-height: 180%;
}

dl#gaiyou dl,dl#gaiyou dt,dl#gaiyou dd {
	margin: 0;
	padding: 0;
}

dl#gaiyou dt,dl#gaiyou dd {
	padding: 15px;
	position: relative;
}

dl#gaiyou dt {
	border-top: 1px solid #E3E3E3;
	clear: left;
	float: left;
	width: 27%;
	font-weight: bold;
	position: relative;
}

dl#gaiyou dd {
	background: #fff;
	border-left: 1px solid #E3E3E3;
	border-top: 1px solid #E3E3E3;
	margin-left:27%;
	text-align: left !important;
}


@media screen and (max-width:768px) {
#gaiyou {
	background: #f8f8f7;
	border: 1px solid #E3E3E3;
	border-top: none;
	width: 100%;
	font-size: 14px;
	line-height: 180%;
}

dl#gaiyou dl,dl#gaiyou dt,dl#gaiyou dd {
	margin: 0;
	padding: 0;
}

dl#gaiyou dt,dl#gaiyou dd {
	padding: 15px;
}

dl#gaiyou dt {
	border-top: 1px solid #E3E3E3;
	clear: left;
	float: none;
	width: auto;
	font-weight: bold;
	position: relative;
}

dl#gaiyou dd {
	background: #fff;
	border-left: 0px solid #E3E3E3;
	border-top: 1px solid #E3E3E3;
	margin-left:auto;
}	
}


.content-select {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.selectitem {
	width: 31%;
	box-shadow: 0 0 15px rgba(0,0,0,0.1);
}
.selectitem img {
	width: 100%;
	height: auto;
	margin-bottom: 10px;
}
.selectitem h3 {
	font-size: 22px;
	font-weight: bold;
	padding: 0 20px;
	margin: 0;
	text-align: center;
	color:#db0707;
	margin-bottom: 5px;
}
.selectitem p {
	font-size: 14px;
	padding: 0 20px;
	margin: 0 0 20px;
}
.selectitem a:hover{
	color:#222;
}


@media screen and (max-width:768px) {
	
.content-select {
	display: flex;
	justify-content: space-between;
	flex-direction: column;
}
.selectitem {
	width: auto;
	box-shadow: 0 0 15px rgba(0,0,0,0.1);
	margin-bottom: 15px;
}
.selectitem img {
	width: 100%;
	height: auto;
	margin-bottom: 10px;
}
.selectitem h3 {
	font-size: 18px;
	font-weight: bold;
	padding: 0 20px;
	margin: 0;
	text-align: center;
	color:#db0707;
	margin-bottom: 5px;
}
.selectitem p {
	font-size: 14px;
	padding: 0 20px;
	margin: 0 0 20px;
	line-height: 1.6;
}
.selectitem a:hover{
	color:#222;
}
	
}

.content-select02 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.selectitem02 {
	border: 8px solid #e4e4e4;
	padding: 25px 25px;
	box-sizing: border-box;
	width: 49%;
	margin-bottom: 20px;
}
.selectitem02 h3 {
	font-size: 24px;
	font-weight: bold;
	padding: 0 0px;
	margin: 0;
	text-align: center;
	color:#db0707;
	margin-bottom: 5px;
}
.selectitem02 p {
	font-size: 14px;
	padding: 0 0px;
	margin: 0 0 0px;
}
.selectitem02 a:hover{
	color:#222;
}

@media screen and (max-width:768px) {
	
.content-select02 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	flex-direction: column;
}
.selectitem02 {
	border: 6px solid #e4e4e4;
	padding: 25px 20px;
	box-sizing: border-box;
	width: auto;
	margin-bottom: 15px;
}
.selectitem02 h3 {
	font-size: 20px;
	font-weight: bold;
	padding: 0 0px;
	margin: 0;
	text-align: center;
	color:#db0707;
	margin-bottom: 5px;
}
.selectitem02 p {
	font-size: 14px;
	padding: 0 0px;
	margin: 0 0 0px;
	line-height: 1.7;
}
.selectitem02 a:hover{
	color:#222;
}
	
}


.typelist {
	width: 19%;
	box-shadow: 0 0 15px rgba(0,0,0,0.1);
	margin-bottom: 15px;
}
.typelist img {
	width: 100%;
	height: auto;
	margin-bottom: 10px;
}
.typelist h3 {
	font-size: 20px;
	font-weight: bold;
	padding: 0 20px;
	margin: 0;
	text-align: center;
	color:#db0707;
	margin-bottom: 5px;
}
.typelist p {
	font-size: 14px;
	padding: 0 20px;
	margin: 0 0 20px;
	line-height: 1.7;
}
.typelist a:hover{
	color:#222;
}

@media screen and (max-width:768px) {
	
.type-index .content-select {
		flex-direction: row;
}
	
.typelist {
	width: 49%;
	box-shadow: 0 0 15px rgba(0,0,0,0.1);
	margin-bottom: 15px;
}
.typelist img {
	width: 100%;
	height: auto;
	margin-bottom: 10px;
}
.typelist h3 {
	font-size: 18px;
	font-weight: bold;
	padding: 0 10px;
	margin: 0;
	text-align: center;
	color:#db0707;
	margin-bottom: 5px;
}
.typelist p {
	font-size: 12px;
	padding: 0 10px;
	margin: 0 0 20px;
	line-height: 1.7;
}
.typelist a:hover{
	color:#222;
}
	
}



.syorei {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 40px 0 20px 0;
}
.syorei div {
	width: 220px;
	margin: 0 10px 10px 10px;
}

.syorei div img {
	width: 100%;
	height: 150px;
	object-fit: cover;
	margin-bottom: 10px;
	
}

.syorei div p {
	text-align: center;
	font-size: 14px;
}

.shorei-page p {
	font-size: 16px;
	text-align: center;
}

.h3-title h3 {
	font-size: 24px;
	font-weight: bold;
	padding: 10px 20px;
	background: #e4e4e4;
	margin: 0 0 20px;
	text-align: center;
}

.shorei-page .block {
	width: 1000px;
	margin: auto;
	margin-bottom: 50px;
}

.shorei-page .sub-select {
	flex-wrap: wrap;
}

.shorei-page .sub-select li {
	width: 19%;
	margin-bottom: 15px;
}


@media screen and (max-width:768px) {
	
.syorei {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 20px 0 20px 0;
}
.syorei div {
	width: 48%;
	margin: 0 0px 0px 0px;
}

.syorei div img {
	width: 100%;
	height: 100px;
	object-fit: cover;
	margin-bottom: 0px;
	
}

.syorei div p {
	text-align: left;
	font-size: 12px;
	line-height: 1.4;
	margin-top: 5px;
}
	

.shorei-page p {
	font-size: 14px;
	text-align: left;
	
}

.h3-title h3 {
	font-size: 18px;
	font-weight: bold;
	padding: 10px 15px;
	background: #e4e4e4;
	margin: 0 0 20px;
	text-align: center;
	line-height: 1.6;
}

.shorei-page .block {
	margin-bottom: 30px;
	width: auto;
}
	
.shorei-page .sub-select {
	flex-wrap: wrap;
}

.shorei-page .sub-select li {
	width: 32%;
	margin-bottom: 5px;
	font-size: 14px !important;
}
	
}


.number {
	margin-left: 20px;

}
.number li {
	list-style-type: decimal;
	font-size: 16px;
	margin-bottom: 20px;
	border-bottom: 1px dotted #d2d2d2;
	padding-bottom: 15px;
	
}
p.left {
	text-align: left;
	font-size: 16px;
}
.listbg {
	background: #f7f6f7;
	padding: 30px;
	margin-bottom: 30px;
}
.list {
	margin-left: 20px;
}
.list li {
	list-style-type:disc;
	font-size: 16px;
	margin-bottom: 12px;
}

@media screen and (max-width:768px) {
	
.number {
	margin-left: 20px;

}
.number li {
	list-style-type: decimal;
	font-size: 14px;
	margin-bottom: 15px;
	border-bottom: 1px dotted #d2d2d2;
	padding-bottom: 15px;
	
}
p.left {
	text-align: left;
	font-size: 14px;
}
.listbg {
	background: #f7f6f7;
	padding: 20px;
	margin-bottom: 20px;
}
.list {
	margin-left: 20px;
}
.list li {
	list-style-type:disc;
	font-size: 14px;
	margin-bottom: 12px;
}

	
}


.shorei-page.guide-page .sub-select {
	flex-wrap: wrap;
}

.shorei-page.guide-page .sub-select li {
	width: 32%;
	margin-bottom: 15px;
}

@media screen and (max-width:768px) {
	
	.shorei-page.guide-page .sub-select {
	flex-wrap: wrap;
}

.shorei-page.guide-page .sub-select li {
	width: 49%;
	margin-bottom: 5px;
	line-height: 1.5;
	display: flex;
    justify-content: center;
    align-items: center;
}

	
}


.listicon {
	width: 80px;
	margin: 0 auto 10px;
}
.listicon img {
	width: 100%;
	height: auto;
}


@media screen and (max-width:768px) {
	
.listicon {
	width: 60px;
	margin: 0 auto 10px;
}
.listicon img {
	width: 100%;
	height: auto;
}
	
}

/* 認定医について
------------------------------------ */
/* タイトル
---------------------- */
.about-certified-doctor-content h3 {
	font-size: 26px;
	font-weight: 700;
	line-height: 160%; 
	margin-bottom: 32px;
}
.about-certified-doctor-content h4 {
	font-size: 18px;
	font-weight: 700;
	line-height: 140%; 
	margin-bottom: 16px;
}

/* リスト
---------------------- */
.about-certified-doctor-content ul.list {
	margin-left: 20px;
	margin-bottom: 36px;
}
.about-certified-doctor-content ul.list li {
	list-style-type: disc;
	font-size: 16px;
	margin-bottom: 12px;
}
.about-certified-doctor-content ol.parent-list {
	list-style: none;
    counter-reset: parent-counter;
	font-size: 16px;
	margin-bottom: 2em;
}
.about-certified-doctor-content ol.parent-list > li {
	counter-increment: parent-counter;
	position: relative;
	padding-left: 2em;
	margin-bottom: 1em;
}
.about-certified-doctor-content ol.parent-list > li::before {
    content: "（" counter(parent-counter) "）"; /* 括弧付き数字 */
    position: absolute;
    left: 0;
}
.about-certified-doctor-content ol.child-list {
	list-style: decimal;
	font-size: 16px;
	padding-left: 1.2em;
	margin-top: 0.5em;
}

/* テーブル
---------------------- */
.about-certified-doctor-content table.table {
	width: auto;
	border-collapse: collapse;
	border: 1px solid #d2d2d2;
	margin-top: 8px;
	margin-bottom: 36px;
}
.about-certified-doctor-content table.table th {
	border-right: 1px solid #d2d2d2;
	background: #f7f6f7;
}
.about-certified-doctor-content table.table td {
	border: 1px solid #d2d2d2;
	padding: 12px;
}
.about-certified-doctor-content table.table td:first-child {
	border-left: none;
}
.about-certified-doctor-content table.table th:last-child,
.about-certified-doctor-content table.table td:last-child {
	border-right: none;
}
.about-certified-doctor-content table.table tr:last-child td {
	border-bottom: none;
}
.about-certified-doctor-content table.table td.align-middle {
	vertical-align: middle;
}

/* リードテキスト
---------------------- */
.about-certified-doctor-content p.lead {
	text-align: center;
	font-size: 20px;
	margin-bottom: 40px;
}
.about-certified-doctor-content p.lead span {
	font-size: 28px;
	font-weight: bold;
}
/* 名前 */
.about-certified-doctor-content p.name {
	text-align: right;
	font-size: 18px;
	font-weight: bold;
}

/* ブロック
---------------------- */
.about-certified-doctor-content .block {
	margin-bottom: 52px;
}

/* 各ページリンクボタン
---------------------- */
.sub-select.certified-doctor-select li {
	width: 23%;
	background-color: #db0707;
    font-weight: 700;
    font-size: 20px;
    line-height: 160%;
}
.sub-select.certified-doctor-select li a {
	padding: 24px 8px;
	transition: all 0.5s ease-out;
}
.sub-select.certified-doctor-select li a:hover {
	background: #434343;
}

/* 認定医一覧ページ
---------------------- */
.certified-doctors-by-year section.certified-year-block:not(:last-child) {
	padding-bottom: 80px;
}

/* 関連学会 ・ 関係団体
---------------------- */
.bnr-link {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 40px 24px;
}



@media screen and (max-width:768px) {
	/* タイトル
	---------------------- */
	.about-certified-doctor-content h3 {
		font-size: 18px;
	}
	.about-certified-doctor-content h4 {
		font-size: 16px;
	}
	/* リードテキスト
	---------------------- */
	.about-certified-doctor-content p.lead {
		font-size: 16px;
	}
	.about-certified-doctor-content p.lead span {
		font-size: 20px;
	}

	/* 名前
	---------------------- */
	.about-certified-doctor-content p.name {
		font-size: 16px;
	}

	/* リスト
	---------------------- */
	.about-certified-doctor-content ul.list li,
	.about-certified-doctor-content ol.parent-list li,
	.about-certified-doctor-content ol.child-list li {
		font-size: 14px;
	}
	/* テーブル
	---------------------- */
	.about-certified-doctor-content table.table th,
	.about-certified-doctor-doctor-content table.table td {
		font-size: 14px;
	}
	/* 各ページリンクボタン
	---------------------- */
	.sub-select.certified-doctor-select li {
		width: 49%;
		font-size: 16px;
	}

	/* 関連学会 ・ 関係団体
	---------------------- */
	.bnr-link {
		justify-content: center;		gap: 40px 24px;
	}

}