@charset "UTF-8";
/* CSS Document */
.lower header .menu2 ul > li.jinclinic::before{
	width: 100%;
}
.gokisonomori_guide .main_img{
	background: url("../img/jinclinic/guide_main_vi.png");
	background-size: cover;
	background-position: center;
	min-height: 408px;
}
.lower main section.c_h1{
	padding-top: 0px;
}

.copy p{
	font-size: 1.8rem;
	line-height: 32px;
	letter-spacing: 0.72px;
	margin-bottom: 80px;
}
.info{
	margin-bottom: 80px;
}
.info .info_cnt{
	margin-bottom: 24px;
}
.info .info_cnt p.fb{
	font-size: 1.5rem;
	line-height: 27px;
	font-weight: 700;
	letter-spacing: 0.6px;
	padding-left: 20px;
	position: relative;
}
.info .info_cnt p.fb::before{
	content: "";
	width: 13px;
	height: 13px;
	background: #A0B2B7;
	position: absolute;
	top: 50%;
	left: 0;
	border-radius: 50px;
	transform: translate(0,-50%);
}
.info .info_cnt .table{
	max-width: 700px;
}
.info .info_cnt .table table{
	width: 100%;
	border-spacing: 0px;
	border: solid 1px #D8D8D8;
}
.info .info_cnt .table table th{
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 28px;
	letter-spacing: 0.72px;
	text-align: center;
	padding: 15px 30px;
	background: #F2F4F5;
	border-right: solid 1px #D8D8D8;
	border-bottom: solid 1px #D8D8D8;
}
.info .info_cnt .table table th:last-child{
	border-right: none;
}
.info .info_cnt .table table tr:last-child th{
	border-bottom: none;
}
.info .info_cnt .table table td{
	position: relative;
	border-right: solid 1px #D8D8D8;
}
.info .info_cnt .table table td:last-child{
	border-right: none;
}
.info .info_cnt .table table td span::before{
	content: "";
	width: 24px;
	height: 24px;
	background:#00A2E1;
	position: absolute;
	top: 50%;
	left: 50%;
	border-radius: 50px;
	transform: translate(-50%,-50%);
}
.info .info_cnt .table table td span.line::before{
	content: "";
	width: 24px;
	height:1px;
	background:#333;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
.doctor{
	display: flex;
	gap:24px;
}
.doctor .doctor_cnt{
	display: flex;
	gap:48px;
}
.doctor .doctor_cnt:first-child{
	padding-right: 10vw;
	border-right: solid 1px #BCBCBC;
}
.doctor .doctor_cnt .img{
	max-width: 164px;
}
.doctor .doctor_cnt .img img{
	width: 100%;
}
.doctor .doctor_cnt .txt p.name{
	font-size: 1.4rem;
	line-height: 22px;
	letter-spacing: 0.56px;
	display: flex;
	align-items: center;
	gap:10px;
	margin-bottom: 16px;
}
.doctor .doctor_cnt .txt p.name span{
	font-size: 2rem;
	line-height: 32px;
	letter-spacing: 0.8px;
}
.bg2{
	background: #E9F0F2;
}

.service_list{
	display: flex;
	flex-wrap: wrap;
	gap:48px;
	margin-bottom: 80px;
}
.service_list .service_cnt{
	width: calc(100%/3 - 32px);
}
.service_list .service_cnt .txt p:first-child{
	font-size: 2rem;
	line-height: 32px;
	font-weight: 500;
	letter-spacing: 0.8px;
	margin-bottom: 16px;
}
.service_list .service_cnt img{
	width: 100%;
}

.staff_list{
	display: flex;
	flex-wrap: wrap;
	gap:48px;
}
.staff_list .staff_cnt{
	width: calc(100%/3 - 32px);
}
.staff_list .staff_cnt img{
	width: 100%;
	margin-bottom: 24px;
}
.staff_list .staff_cnt .txt p:first-child{
	font-size: 2rem;
	line-height: 32px;
	font-weight: 500;
	letter-spacing: 0.8px;
	margin-bottom: 16px;
	text-align: center;
}

.schedule2{
	display: flex;
	gap:48px;
	position: relative;
}
.schedule2::before{
	content: "";
	width: 2px;
	height: calc(100% - 420px);
	background: #333;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%,-80px);
}
.schedule2 .schedule_cnt{
	background: #D2E5EA;
	width: calc(100%/2 - 24px);
}
.schedule2 .schedule_cnt2{
	background: #E9F0F2;
}
.schedule2 .schedule_cnt .schedule_btn{
	padding: 40px 40px 32px;
	text-align: center;
}
.schedule2 .schedule_cnt .schedule_btn img{
	margin-bottom: 8px;
}
.schedule2 .schedule_cnt .schedule_btn p.serif{
	font-size: 2rem;
	font-weight: 500;
	line-height: 32px;
	letter-spacing: 0.8px;
	padding-bottom: 72px;
	position: relative;
}
.schedule2 .schedule_cnt .schedule_btn p.serif::before{
	content: "";
	width: 1px;
	height: 40px;
	background: #333;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%,-10px);
}
.schedule2 .schedule_cnt .schedule_list{
	padding: 0px 40px 40px;
	position: relative;
}
.schedule2 .schedule_cnt .schedule_list::before{
	content: "";
	width: 2px;
	height: calc(100% - 80px);
	background: #333333;
	position: absolute;
	top: 5px;
	left: 68px;
	z-index: 1;
	display: none;
}
.schedule2 .schedule_cnt .schedule_list .time{
	display: flex;
	position: relative;
	z-index: 2;
}
.schedule2 .schedule_cnt .schedule_list .time .time_icon{
	max-width: 58px;
	margin-right: 16px;
	display: none;
}
.schedule2 .schedule_cnt .schedule_list .time .time_icon img{
	width: 100%;
}
.schedule2 .schedule_cnt .schedule_list .time .time_cnt{
	display: flex;
	align-items: center;
	width: 100%;
	background: #fff;
	padding: 16px;
	margin-bottom: 16px;
	position: relative;
}
.schedule2 .schedule_cnt .schedule_list .time .time_cnt::before{
	content: "";
	position: absolute;
	left: auto;
    right: -15px;
    border-left: 15px solid white;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-right: none;
}
.schedule2 .schedule_cnt2 .schedule_list .time .time_cnt::before{
	content: "";
	width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-right: 15px solid white;
	border-left: none;
    border-bottom: 10px solid transparent;
    position: absolute;
    top: 50%;
    left: -15px;
	right: auto;
    transform: translate(0, -50%);
}
.schedule2 .schedule_cnt .schedule_list .time .time_cnt p.time_no{
	font-size: 2.2rem;
	line-height: 39px;
	font-weight: 700;
	letter-spacing: 0.88px;
	width: auto;
	margin-right: 16px;
}
.schedule2 .schedule_cnt .schedule_list .time .time_cnt .time_cnt2{
	display: flex;
	align-items: center;
}
.schedule2 .schedule_cnt .schedule_list .time .time_iconpc{
	position: absolute;
	top: 6px;
	right: -93px;
	max-width: 58px;
}
.schedule2 .schedule_cnt .schedule_list .time .time_icon.pc{
	display: block;
	position: absolute;
	top: 0;
	left: -93px;
}
.schedule2 .schedule_cnt .schedule_list .time .time_iconpc img{
	width: 100%;
}
.schedule2 .schedule_cnt .schedule_list  a.time_point{
	background: #49B6D6;
	padding: 2px 10px;
	border-radius: 50px;
	position: relative;
	text-align: center;
	transition: 0.3s;
	margin-left: 16px;
	display: inline-block;
}
.schedule2 .schedule_cnt .schedule_list a.time_point:hover{
	opacity: 0.8;
}
.schedule2 .schedule_cnt .schedule_list a.time_point::before{
	content: "";
	width: 20px;
	height: 20px;
	background: url("../img/jinclinic/point_icon.svg");
	background-size: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(8px,-50%);
}
.schedule2 .schedule_cnt .schedule_list a.time_point::after{
	content: "";
	width: 24px;
	height: 24px;
	background: url("../img/jinclinic/time_arrow.svg");
	background-size: 100%;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(-5px,-50%);
}
.schedule2 .schedule_cnt .schedule_list a.time_point p:first-child{
	font-size: 1.6rem;
	line-height: 28px;
	letter-spacing: 0.64px;
	color: #fff;
	display: flex;
    justify-content: center;
	margin-right: 0px;
	padding: 0px 25px 0px 20px;
}
.schedule2 .schedule_cnt .schedule_list .txt{
	margin: 0px 0px 16px 0px;
}
.schedule2 .schedule_cnt .schedule_list .timemb{
	margin-bottom: 140px !important;
}
.schedule2 .schedule_cnt .schedule_list .timemb2{
	margin-bottom: 130px !important;
}
.schedule2 .schedule_cnt .schedule_list .txt .txt_column{
	display: flex;
	gap:8px;
}
.schedule2 .schedule_cnt .schedule_list .txt .txt_column2{
	display: flex;
	gap:8px;
}
.cnt3 .note{
	text-align: center;
	margin: 56px 0px 0px;
}

.bg3{
	background: #F0EAE4;
}
.cnt4{
	padding: 0px 10vw;
}
.main_link .col .cnt3_txt p{
	font-size: 1.6rem;
}
.main_link .col .cnt3_txt::after{
	transform: translate(0px, -70%);
}

.cnt5 .point{
	background: #E9F0F2;
}
.cnt5 .point2{
	background: #D2E5EA;
	margin: 80px 0px;
}

.cnt5 .point2 .col:first-child{
	flex: 0 0 50%;
    max-width: 50%;
}
.cnt5 .point2 .col:last-child {
    flex: 1 1 50%;
    max-width: 50%;
}
.cnt5 .point2 .col img{
	width: 100%;
}
.cnt5 .point2 .col h4{
	margin: 24px 0px 8px;
}
.cnt5 .point2 .col p.fb{
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 32px;
	margin-bottom: 8px;
}
.cnt5 .point2 .col p.note{
	margin-top: 24px;
	font-size: 1.4rem;
}
.cnt5 .bnr{
	max-width: 796px;
	margin: 0 auto;
}
.cnt5 .bnr a:hover{
	opacity: 0.8;
}
.cnt5 .bnr img{
	width: 100%;
}
@media (min-width: 1340px) {
	.schedule2 .schedule_cnt .schedule_list .time .time_cnt p.time_no{
		width: auto;
		margin-right: 16px;
	}
}
@media (max-width: 1210px) {
	.schedule2 .schedule_cnt2 .schedule_btn{
		padding-bottom: 62px;
	}
	.schedule2::before{
		height: calc(100% - 470px);
	}
}
@media (max-width: 1180px) {
	.schedule2 .schedule_cnt2 .schedule_btn{
		padding-bottom: 32px;
	}
}
@media (max-width: 1110px) {
	.doctor{
		padding-bottom: 80px;
	}
	.cnt4{
		padding: 0px;
	}
	.cnt5 .point2 .col:first-child,.cnt5 .point2 .col:last-child{
		max-width: 100%;
	}
	.cnt5 .point2 .col:first-child{
		margin-bottom: 24px;
	}
}
@media (max-width: 1099px) {
	.schedule2 .schedule_cnt2 .schedule_btn{
		padding-bottom: 62px;
	}
}
@media (max-width: 1073px) {
	.schedule2 .schedule_cnt2 .schedule_btn{
		padding-bottom: 32px;
	}
}
/*ipad*/
@media (max-width: 1024px) {
	.doctor{
		display: block;
	}
	.doctor .doctor_cnt:first-child{
		padding-right: 0px;
		margin-bottom: 30px;
		border-right: none;
	}
	.service_list{
		gap:24px;
	}
	.service_list .service_cnt {
		width: calc(100% / 3 - 16px);
	}
}
@media (max-width: 972px) {
	.schedule2::before{
		transform: translate(-50%, -100px);
	}
	.schedule2 .schedule_cnt .schedule_list .time .time_cnt p.time_no{
		width: 24%;
	}
}
.schedule2 .sp_tab{
	display: none;
}
@media (max-width: 820px) {
	.schedule2{
		display: block;
	}
	.schedule2::before{
		display: none;
	}
	.schedule2 .sp_tab{
		display: flex;
		gap:7px;
	}
	.schedule2 .sp_tab .tab{
		width: calc(100%/2);
		text-align: center;
		position: relative;
		padding-top: 14px;
		padding-bottom: 48px;
		background: #D2E5EA;
		cursor: pointer;
	}
	.schedule2 .sp_tab .tab:last-child{
		background: #E9F0F2;
	}
	.schedule2 .sp_tab .tab::before{
		content: "";
		width: 24px;
		height: 24px;
		background: url("../img/common/arrow6.svg");
		background-size: 100%;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translate(-50%,-24px) rotate(90deg);
	}
	.schedule2 .schedule_cnt{
		width: 100%;
	}
	.schedule_cnt {
		display: none;
	}
	.schedule_cnt.active {
		display: block;
	}
	.schedule2 .schedule_cnt .schedule_btn{
		padding: 0px;
	}
	.schedule2 .schedule_cnt .schedule_btn .tab{
		display: none;
	}
	.schedule2 .schedule_cnt .schedule_btn > p{
		padding: 24px 15px 0px;
	}
	.schedule2 .schedule_cnt .schedule_btn p.serif{
		padding-bottom: 0px;
	}
	.schedule2 .schedule_cnt .schedule_btn p.serif::before{
		display: none;
	}
	.schedule2 .schedule_cnt .schedule_list{
		padding: 24px 15px;
	}
	.schedule2 .schedule_cnt .schedule_list::before{
		display: block;
		content: "";
		width: 2px;
		height: calc(100% - 100px);
		background: #333333;
		position: absolute;
		top: 0px;
		left: 0px;
		transform: translate(35px,35px);
	}
	.schedule2 .schedule_cnt .schedule_list .time .time_iconpc{
		display: none;
	}
	.schedule2 .schedule_cnt .schedule_list .time .time_icon{
		display: block;
	}
	.schedule2 .schedule_cnt .schedule_list .txt{
		margin-left: 74px;
	}
	.schedule2 .schedule_cnt .schedule_list .time .time_icon.pc{
		position: static;
	}
	.schedule2 .schedule_cnt .schedule_list .timemb{
		margin-bottom: 16px !important;
	}
	.schedule2 .schedule_cnt .schedule_list .timemb2{
		margin-bottom: 6px !important;
	}
	.schedule2 .schedule_cnt .schedule_list .time .time_cnt p.time_no{
		width: auto;
		margin-right: 16px;
	}
	
	.schedule2 .schedule_cnt .schedule_list .time .time_cnt::before{
		left: -15px;
    	right: auto;
		border-right: 15px solid white;
		border-left: none;
	}
}
@media (max-width: 767px) {
	.gokisonomori_guide .main_img{
		background: url("../img/jinclinic/guide_main_vi_sp.png");
		background-size: cover;
        background-position: center;
        min-height: 340px;
	}
	.info .info_cnt .table {
	  	max-width: 100%; /* 固定幅をやめて、画面幅にフィット */
	  	width: 100%;
		margin-top: 16px;
	}
	.info .info_cnt .table table {
	  	width: 100%;
	  	table-layout: fixed; /* 各セルを均等にする */
	  	border-spacing: 0;
	  	border: 1px solid #D8D8D8;
	  	word-break: break-word; /* 長いテキストを折り返す */
	}
	.info .info_cnt .table table th{
		font-size: 1.4rem;
		line-height: 25px;
		padding: 0px;
	}
	.info .info_cnt .table table th:first-child{
		width: 23%;
	}
	.info .info_cnt .table table td span::before{
		width: 16px;
		height: 16px;
	}
	.info .info_cnt .table table td span.line::before{
		width: 16px;
	}
	.doctor .doctor_cnt{
		display: block;
	}
	.doctor .doctor_cnt:first-child{
		padding-bottom: 48px;
		margin-bottom: 48px;
		border-bottom: solid 1px #BCBCBC;
	}
	.doctor .doctor_cnt .img{
		margin: 0 auto 16px;
	}
	.doctor .doctor_cnt .txt p{
		font-size: 1.4rem;
		line-height: 22px;
	}
	.lower main section.bg2{
		padding-bottom: 80px;
	}
	.service_list{
		display: block;
	}
	.service_list .service_cnt{
		width: 100%;
		margin-bottom: 48px;
	}
	.service_list .service_cnt .img{
		margin-bottom: 16px;
	}
	.staff_list{
		display: block;
	}
	.staff_list .staff_cnt{
		width: 100%;
		margin-bottom: 48px;
	}
	.staff_list .staff_cnt:last-child{
		margin-bottom: 0px;
	}
	.schedule2 .schedule_cnt .schedule_btn > p .sp{
		display: none;
	}
	.schedule2 .schedule_cnt .schedule_list .time .time_cnt{
		display: block;
	}
	.schedule2 .schedule_cnt .schedule_list  a.time_point{
		margin-left: 0px;
		margin-top: 10px;
	}
	.schedule2 .schedule_cnt .schedule_list::before{
		height: calc(100% - 160px);
	}
	.schedule2 .schedule_cnt2 .schedule_list::before{
		height: calc(100% - 130px);
	}
	.schedule2 .schedule_cnt .schedule_list .txt .txt_column{
		display: block;
	}
}