/*
Theme Name: Koenji-Clinic
*/
html{
	font-size: 62.5%;
}

body{
	margin: 0;
	padding: 0;
	background: #FFFEF3;
	color: #665E51;
	font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	font-size: 1.6rem;
	position: relative;
}

*{
	margin: 0;
	padding: 0;
}

a{
	color: #E5457A;
	transition: 0.2s;
}
a:hover{
	color: #F39700;
}
a.link_txt{
	display: inline-block;
}
a.link_txt::after{
	content: "";
	display: inline-block;
	vertical-align: middle;
	margin-left: 0.2em;
	width: 1em;
	height: 1em;
	background: url(images/arrow_circle.svg) no-repeat center center;
	background-size: contain;
}

h1, h2, h3, h4, h5, .wbft, .cl_specialty{
	color: #99876A;
	font-family: 'Quicksand', 'Kosugi Maru', sans-serif;
}
h5{
	font-size: 1em;
}

mark{
	background: transparent;
	color: #D96C7E;
	font-weight: bold;
}

.sp{
	display: none;
}

.inner{
	margin: 0 auto;
	padding: 40px 0 100px;
	width: 1140px;
}

.align_c,
.aligncenter{
	text-align: center;
}

.aligncenter{
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/*--- HEADER ---*/
#header{
	box-sizing: border-box;
	width: 100%;
	padding: 12px 0;
}
#header .inner{
	padding: 0;
}
#header .header_top{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#logo{
	margin-top: 10px;
	font-size: 2.4rem;
	font-family: 'Kosugi Maru', sans-serif;
}
#logo a{
	display: inline-block;
	padding-left: 78px;
	color: inherit;
	text-decoration: none;
	position: relative;
}
#logo a:hover{
	opacity: 0.75;
}
#logo a::before{
	content: "";
	width: 72px;
	height: 72px;
	background: url(images/logomark.png) no-repeat center center;
	background-size: contain;
	position: absolute;
	top: calc(50% - 36px);
	left: 0;
}
#logo .logotype{
	width: 300px;
}

.cl_specialty{
	margin-top: 0.2em;
	font-size: 1.8rem;
}

.search_box{
	display: flex;
	justify-content: flex-end;
	margin-bottom: 0.2em;
}

#searchform input{
	vertical-align: middle;
}
#searchform input[type="text"]{
	width: 200px;
	padding: 6px;
	border: 1px solid #CCC;
	border-radius: 4px;
}
#searchform input[type="submit"]{
	padding: 6px;
	border: 1px solid #8ABFE5;
	border-radius: 4px;
	background: #EDF3FF;
	cursor: pointer;
}

.header_r{
	display: flex;
	align-items: center;
	list-style: none;
}
.header_r li{
	margin-left: 10px;
}
.header_r .hd_tel{
	margin-right: 10px;
	color: #99876A;
	font-size: 3.2rem;
}
.header_r .hd_tel::before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	margin-top: -3px;
	width: 26px;
	height: 28px;
	background: url(images/ico_tel.png) no-repeat left center;
	background-size: contain;
}
.header_r .on_foot{
	font-size: 1.6rem;
	text-align: center;
}
.header_r .hd_time a, .header_r .hd_reserve a, .header_r .hd_access a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 180px;
	height: 48px;
	border-radius: 24px;
	background: #FFB6C1;
	color: #FFF;
	text-decoration: none;
}
.header_r .hd_time a:hover, .header_r .hd_reserve a:hover, .header_r .hd_access a:hover{
	opacity: 0.75;
}
.header_r .hd_time a::before, .header_r .hd_reserve a::before, .header_r .hd_access a::before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	margin-right: 6px;
	width: 24px;
	height: 24px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
.header_r .hd_time a::before{
	background-image: url(images/ico_clock.png);
}
.header_r .hd_reserve a::before{
	background-image: url(images/ico_reserve_2.png);
}
.header_r .hd_access a{
	background: #8ABFE5;
}
.header_r .hd_access a::before{
	background-image: url(images/ico_marker.png);
}

#main_navi{
	display: flex;
	width: 1140px;
	margin: 20px auto 0;
}
#main_navi a{
	flex: 1;
	padding: 4px 6px;
	box-sizing: border-box;
	min-width: 160px;
	border-right: 1px solid #E5E1DA;
	color: inherit;
	font-size: 1.4rem;
	text-align: center;
	text-decoration: none;
}
#main_navi a:first-of-type{
	border-left: 1px solid #E5E1DA;
}
#main_navi a:hover{
	background: rgba(255, 182, 193, 0.1);
}
#main_navi a::before{
	content: "";
	display: block;
	margin: 0 auto 4px;
	width: 24px;
	height: 24px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
#main_navi a.navi_home::before{
	background-image: url(images/ico_home.png);
}
#main_navi a.navi_medical::before{
	background-image: url(images/ico_medical.png);
}
#main_navi a.navi_clinic::before{
	background-image: url(images/ico_clinic.png);
}
#main_navi a.navi_blog::before{
	background-image: url(images/ico_blog.png);
}
#main_navi a.navi_info::before{
	background-image: url(images/ico_bell.png);
}
#main_navi a.navi_contact::before{
	background-image: url(images/ico_mail.png);
}
#main_navi a.navi_recruit::before{
	background-image: url(images/ico_speaker.png);
}

/*--- 共通 ---*/
.link_btn{
	display: flex;
	justify-content: center;
	margin-top: 40px;
}
.link_btn a{
	display: inline-block;
	box-sizing: border-box;
	margin: 20px 10px 0;
	padding: 1.3em 0;
	width: 320px;
	color: inherit;
	text-align: center;
	line-height: 1em;
	text-decoration: none;
	position: relative;
	z-index: 2;
}
.link_btn a:hover{
	opacity: 0.75;
}
.link_btn a::before, .link_btn a::after{
	content: "";
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	border-radius: 1.8em;
	position: absolute;
	z-index: -1;
}
.link_btn a::before{
	background: #EDF3FF;
	top: 4px;
	left: 4px;
}
.link_btn a::after{
	border: 2px solid #8ABFE5;
	top: 0;
	left: 0;
}
.link_btn a i{
	content: "";
	width: 14px;
	height: 14px;
	background: url(images/arrow.svg) no-repeat center center;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
}

a.link_btn_2{
	display: inline-block;
	padding: 1em 2em;
	background: #8ABFE5;
	border-radius: 1.5em;
	color: #FFF;
	text-align: center;
	line-height: 1em;
	text-decoration: none;
	position: relative;
}
a.link_btn_2:hover{
	opacity: 0.75;
}
a.link_btn_2::after{
	content: "";
	width: 14px;
	height: 14px;
	background: url(images/arrow_wht.svg) no-repeat center center;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
}

.sec_title{
	margin: 60px 0;
	text-align: center;
	font-size: 3.2rem;
	line-height: 1.2em;
	letter-spacing: 0.1em;
	position: relative;
}
.sec_title .en_title{
	margin-top: 12px;
	color: #FFB6C1;
	font-size: 2.4rem;
}
.sec_title::before{
	content: "";
	width: 48px;
	height: 48px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	position: absolute;
	top: -60px;
	left: 50%;
	transform: translateX(-50%);
}

.container{
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	margin: 0 auto;
	padding-bottom: 100px;
	width: 1260px;
}
.container .main_col{
	width: 960px;
}
.container .side_col{
	margin-top: 80px;
	width: 260px;
}

.main_col .sec_title{
	margin: 160px 0 40px;
}

/*--- トップページ ---*/
/* メインビジュアル */
#main_visual{
	width: 100%;
/*
	height: calc(100vh - 157px);
*/
	height: 100vh;
	overflow-x: hidden;
	background: url(images/giraffe.png) no-repeat calc(50% - 580px) top;
	background-size: 120px auto;
	position: relative;
	z-index: 2;
}
#main_visual h1{
	display: inline-block;
	font-size: 3.6rem;
	line-height: 1.5;
	position: absolute;
/*
	top: 50%;
	left: 50%;
	transform: translate(-540px, -70%);
*/
	top: 80px;
	left: 50%;
	transform: translate(-540px, 0);
	position: relative;
}
#main_visual h1::before, #main_visual h1::after{
	content: "";
	width: 184px;
	height: 120px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	position: absolute;
}
#main_visual h1::before{
	background-image: url(images/corner_top_r.png);
	top: -40px;
	right: -40px;
}
#main_visual h1::after{
	background-image: url(images/corner_btm_l.png);
	left: -80px;
	bottom: -60px;
}

#main_bg{
	width: 80vw;
	height: 100%;
	background: url(images/main_img.jpg) no-repeat center center;
	background-size: cover;
	position: absolute;
	top: 0;
/*
	right: 0;
*/
	right: -60px;
}
/*
#main_bg::before{
	content: "";
	width: 50%;
	height: 100%;
	background: url(images/main_mask.png) no-repeat left top;
	background-size: auto 100%;
	position: absolute;
	top: 0;
	left: 0;
}
*/

#open_icon{
	width: 280px;
	position: absolute;
/*
	right: 40px;
	bottom: 20px;
*/
	top: 47%;
	left: calc(50% - 540px);
}
#open_icon img{
	width: 100%;
}

#navi_measures{
	position: relative;
	z-index: 2;
}
#navi_measures a{
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	margin: -60px auto 0;
	width: 600px;
	height: 120px;
	font-size: 3.2rem;
	letter-spacing: 0.1em;
	text-decoration: none;
	position: relative;
	z-index: 2;
}
#navi_measures a::before, #navi_measures a::after{
	content: "";
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	border-radius: 60px;
	position: absolute;
	z-index: -1;
}
#navi_measures a:hover{
	color: #8ABFE5;
}
#navi_measures a::before{
	background: #EDF3FF;
	top: 6px;
	left: 6px;
	transition: 0.2s;
}
#navi_measures a:hover::before{
	background: #FFE5FF;
}
#navi_measures a::after{
	border: 3px solid #8ABFE5;
	top: 0;
	left: 0;
}
#navi_measures a i:first-of-type{
	content: "";
	width: 60px;
	height: 60px;
	background: url(images/ico_measures.png) no-repeat center center;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 30px;
	transform: translateY(-50%);
}
#navi_measures a i:last-of-type{
	content: "";
	width: 24px;
	height: 24px;
	background: url(images/arrow.svg) no-repeat center center;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
}

/* セクション背景 */
.sec_1{
	background: #FFF url(images/bg_section.png) repeat-x center top;
}

.sec_2{
	background: url(images/bg_section_2.png) repeat-x center top;
}

/* コンセプト */
#concept{
	background: url(images/bg_concept.png) no-repeat center 40px;
}
#concept p{
	margin-top: 60px;
	text-align: center;
	font-size: 1.5em;
	line-height: 2;
	letter-spacing: 0.1em;
}

#navi_message{
	display: flex;
	justify-content: center;
	align-items: flex-end;
	margin-top: 60px;
}
#navi_message .doctor_img{
	width: 320px;
	height: 320px;
	position: relative;
	z-index: 2;
}
#navi_message .doctor_img::after{
	content: "";
	width: 75%;
	height: 75%;
	background: url(images/leaf.png) no-repeat center center;
	background-size: contain;
	position: absolute;
	top: 20px;
	right: -130px;
	z-index: -1;
}
#navi_message .doctor_img img{
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 2px solid #8ABFE5;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
}
#navi_message a{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: -80px;
	width: 180px;
	height: 180px;
	background: #8ABFE5;
	border-radius: 50%;
	color: #FFF;
	font-size: 1.8rem;
	text-decoration: none;
	position: relative;
	z-index: 2;
}
#navi_message a:hover{
	opacity: 0.8;
}
#navi_message a::after{
	content: "";
	width: 24px;
	height: 24px;
	background: url(images/arrow_wht.svg) no-repeat center center;
	background-size: contain;
	position: absolute;
	left: 50%;
	bottom: 20px;
	transform: translateX(-50%);
}

/* 特徴 */
#feature .sec_title::before{
	background-image: url(images/child.png);
}
#feature #concept{
	background-position: center top;
	background-size: 100% auto;
}
#feature #concept p{
	margin-top: 0;
}

#feature_list{
	display: flex;
	justify-content: space-between;
	list-style: none;
	margin-top: 60px;
	font-size: 1.8rem;
	text-align: center;
}
#feature_list li{
	width: calc( (100% - 60px) / 3 );
	position: relative;
}
#feature_list li::before{
	content: "";
	display: block;
	width: 160px;
	height: 48px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	position: absolute;
	top: -12px;
	left: calc(50% - 80px);
	z-index: 10;
}
#feature_list li:first-of-type::before{
	background-image: url(images/ttl_feature_1.svg);
}
#feature_list li:nth-of-type(2)::before{
	background-image: url(images/ttl_feature_2.svg);
}
#feature_list li:nth-of-type(3)::before{
	background-image: url(images/ttl_feature_3.svg);
}
#feature_list .feature_img{
	margin: 0 auto 0.7em;
	width: 240px;
	height: 240px;
	background: url(images/circle_frame.png) no-repeat center center;
	background-size: contain;
	position: relative;
}
#feature_list .feature_img img{
	max-width: 200px;
	max-height: 200px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#feature_list li:first-of-type .feature_img img{
	max-width: 180px;
	max-height: 180px;
}

/* 診療案内 */
#medical_menu{
	padding-top: 10px;
	background: url(images/bg_medical.jpg) no-repeat right 80px;
	background-size: contain;
}
#medical_menu .sec_title::before{
	background-image: url(images/stethoscope.png);
}

.medical_list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 40px;
	padding: 0 40px;
}
.medical_list dl{
	width: 420px;
	margin-top: 30px;
}
.medical_list dt{
	padding: 1em;
	border-radius: 10px;
	background: rgba(138, 191, 229, 0.3);
	font-weight: bold;
}
.medical_list dt > a{
	display: block;
	margin: -1em;
	padding: 1em;
}
.medical_list dt > a:hover{
	border-radius: 10px;
	background: #E8F3F9;
}
.medical_list dd{
	margin-top: 0.5em;
	line-height: 1.75;
}

.checkup_navi{
	display: flex;
	justify-content: space-between;
	margin-top: 100px;
}
.checkup_navi a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 540px;
	height: 100px;
	background: #FFF;
	border: 2px solid #8ABFE5;
	border-radius: 16px;
	color: inherit;
	font-size: 2rem;
	text-decoration: none;
	position: relative;
}
.checkup_navi a:hover{
	background: #EDF3FF;
}
.checkup_navi a::before{
	content: "";
	width: 48px;
	height: 48px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 24px;
	transform: translateY(-50%);
}
.checkup_navi a.navi_reserve::before{
	background-image: url(images/ico_reserve.png);
}
.checkup_navi a.navi_online::before{
	background-image: url(images/ico_online.png);
}
.checkup_navi a::after{
	content: "";
	width: 24px;
	height: 24px;
	background: url(images/arrow.svg) no-repeat center center;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
}

/* 診療時間 */
#hour .sec_title::before{
	background-image: url(images/clock.png);
}

.cl_schedule{
	margin: 0 auto;
	width: 720px;
}

/* ポリシー */
#policy .sec_title::before{
	background-image: url(images/policy.png);
}

.policy_item{
	display: flex;
	justify-content: space-between;
}
.policy_item dl{
	width: 270px;
}
.policy_item dt{
	padding: 20px 10px;
	background: #FFF;
	border: 2px solid #FFB6C1;
	border-radius: 40px;
	position: relative;
}
.policy_item dt .policy_num{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 6px 2px 0;
	width: 60px;
	height: 60px;
	background: url(images/circle_blue.png) no-repeat center center;
	background-size: contain;
	color: #FFF;
	font-family: 'Quicksand', sans-serif;
	font-size: 3.2rem;
	font-weight: bold;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
}
.policy_item dt .policy_img{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 10px 0;
	height: 180px;
}
.policy_item dt .policy_img img{
	height: 100%;
}
.policy_item dt h3{
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	padding: 12px 0 0;
	min-height: 100px;
	text-align: center;
	font-size: 2rem;
	font-weight: normal;
	line-height: 1.5em;
	border-top: 4px dotted #FFB6C1;
}
.policy_item dd{
	margin-top: 1em;
	line-height: 1.75em;
}

/* 診療カレンダー */
#calendar .sec_title::before{
	background-image: url(images/calendar.png);
}

#gl_calendar{
	text-align: center;
}
#gl_calendar iframe{
	margin: 0 auto;
}

/* お知らせ */
#info .sec_title::before{
	background-image: url(images/bell.png);
}

.info_list{
	margin: 0 auto;
	width: 840px;
}
.info_list dl{
	display: flex;
	padding: 1em;
	border-bottom: 1px solid #CCC4B7;
}
.info_list dl:first-of-type{
	border-top: 1px solid #CCC4B7;
}
.info_list dt, .info_list dd{
	padding: 0 10px;
}
.info_list dd a{
	color: inherit;
	text-decoration: none;
}
.info_list dd a:hover{
	text-decoration: underline;
}

/* コンテンツナビ */
.content_navi{
	background: rgba(255, 182, 193, 0.15) url(images/dot_frame.png) no-repeat center top;
	background-size: 100% auto;
}
.content_navi .inner{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.content_navi a{
	display: block;
	margin: 60px 0 0;
	width: 540px;
	height: 180px;
	border-radius: 20px;
	color: inherit;
	text-decoration: none;
	position: relative;
	overflow: hidden;
}
.content_navi a:hover{
	opacity: 0.8;
}
.content_navi a::after{
	content: "";
	width: 24px;
	height: 24px;
	background: url(images/arrow.svg) no-repeat center center;
	background-size: contain;
	position: absolute;
	left: 50%;
	bottom: 16px;
	transform: translateX(-50%);
}
.content_navi a h3{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 240px;
	height: 240px;
	background: rgba(255, 255, 255, 0.8);
	border-radius: 50%;
	color: inherit;
	font-size: 2.4rem;
	font-weight: normal;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.content_navi .bnr_clinic{
	background: url(images/bnr_clinic.jpg) no-repeat center center;
	background-size: cover;
}
.content_navi .bnr_checkup{
	background: url(images/bnr_checkup.jpg) no-repeat center center;
	background-size: cover;
}
.content_navi .bnr_line{
	background: url(images/bnr_line.jpg) no-repeat center center;
	background-size: cover;
}
.content_navi .bnr_line figure{
	margin-right: 0.3em;
}
.content_navi .bnr_line figure img{
	width: 50px;
}
.content_navi .bnr_line_2{
	text-align: center;
	background: #01B901;
}
.content_navi .bnr_line_2 > img{
	vertical-align: bottom;
	height: 100%;
}
.content_navi a.bnr_line_2::after{
	content: none;
}

/* 当院のご案内 */
#about{
	background: url(images/dot_line2.svg) repeat-x left top;
}
#about .inner{
	padding: 100px 0;
}

#about_container{
	display: flex;
	justify-content: space-between;
}
#about_container .clinic_photo,
#about_container .clinic_info{
	width: 540px;
}
#about_container .clinic_photo img{
	width: 100%;
	border-radius: 40px;
}
#about_container .clinic_info h3{
	font-size: 2.4rem;
}

.clinic_info .clinic_address{
	margin-top: 20px;
}
.clinic_info .clinic_tel{
	margin-top: 10px;
	font-weight: bold;
}
.clinic_info .clinic_tel em{
	font-size: 1.8em;
	font-style: normal;
}
.clinic_info .schedule,
.cl_schedule{
	margin-top: 20px;
}
.clinic_info .schedule table,
.cl_schedule table{
	margin-bottom: 10px;
	width: 100%;
	border-collapse: collapse;
	text-align: center;
	background: #FFF;
}
.clinic_info .schedule thead th,
.cl_schedule thead th{
	padding: 12px 0;
	background: #FFB6C1;
	color: #FFF;
	font-weight: normal;
	border-left: 1px solid #FFF;
}
.clinic_info .schedule thead th:first-of-type,
.cl_schedule thead th:first-of-type{
	width: 190px;
	border-left-width: 0;
}
.clinic_info .schedule tbody td,
.cl_schedule tbody td{
	padding: 0.5em 0;
	border-bottom: 1px solid #CCC;
	border-left: 1px solid #CCC;
}
.clinic_info .schedule tbody td:first-of-type,
.cl_schedule tbody td:first-of-type{
	border-left-width: 0;
}
.clinic_info .schedule .sch_open,
.cl_schedule .sch_open{
	color: #FFCC66;
}
.clinic_info .schedule .sch_open::before,
.cl_schedule .sch_open::before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 1em;
	height: 1em;
	border-radius: 0.5em;
	background: #FFCC66;
}

/* サイドメニュー */
.side_col .line_link{
	text-align: center;
}
.side_col .line_link a img{
	width: 100%;
	max-width: 480px;
}
.side_cl_navi ul{
	list-style: none;
}
.side_cl_navi > ul > li{
	margin-top: 10px;
}
.side_cl_navi > ul > li > a{
	display: block;
	padding: 0.7em 1em;
	border-radius: 6px;
	background: #FFD9E2;
	color: inherit;
	text-decoration: none;
	position: relative;
}
.side_cl_navi > ul > li > a:hover{
	opacity: 0.8;
}
.side_cl_navi > ul > li > a::after{
	content: "";
	width: 14px;
	height: 14px;
	background: url(images/arrow_brw.svg) no-repeat right center;
	background-size: contain;
	position: absolute;
	top: calc(50% - 7px);
	right: 8px;
}
.side_cl_navi > ul > li.has_child > a::after{
	background-image: url(images/plus.svg);
}
.side_cl_navi > ul > li.has_child.open > a::after{
	background-image: url(images/minus.svg);
}
.side_cl_navi > ul:nth-of-type(2) > li > a{
	background: #FFE8A6;
}
.side_cl_navi > ul:nth-of-type(3) > li > a{
	background: #DBEBF7;
}
.side_cl_navi .cl_navi_child{
	margin: 2px 2px 0;
	border: 1px solid #E5E1DA;
	border-radius: 6px;
	background: #FFF;
}
.side_cl_navi .cl_navi_child a{
	display: block;
	padding: 0.7em 1.7em;
	border-top: 1px solid #E5E1DA;
	color: inherit;
	text-decoration: none;
}
.side_cl_navi .cl_navi_child a:first-of-type{
	border-radius: 5px 5px 0 0;
	border-top-width: 0;
}
.side_cl_navi .cl_navi_child a:last-of-type{
	border-radius: 0 0 5px 5px;
}
.side_cl_navi .cl_navi_child a:hover{
	background: #F5F5F5;
}


/*--- Sub ---*/
#page_header{
	height: 25vw;
	overflow: hidden;
	position: relative;
}
#page_header h1{
	font-size: 3.6rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-570px, -50%);
}

#pghd_bg{
	width: 80vw;
	height: 100%;
	background: url(images/hd_page.jpg) no-repeat center center;
	background-size: cover;
	position: absolute;
	top: 0;
	right: 0;
}
#pghd_bg::before{
	content: "";
	width: 50%;
	height: 100%;
	background: url(images/pghd_mask.png) no-repeat left top;
	background-size: auto 100%;
	position: absolute;
	top: 0;
	left: 0;
}
#pghd_bg.hd_clinic{
	background-image: url(images/hd_clinic.jpg);
}
#pghd_bg.hd_medical{
	background-image: url(images/hd_medical.jpg);
}
#pghd_bg.hd_nursing{
	background-image: url(images/hd_nursing.jpg);
}
#pghd_bg.hd_disease{
	background-image: url(images/hd_disease.jpg);
}
#pghd_bg.hd_recruit{
	background-image: url(images/hd_recruit.jpg);
}
#pghd_bg.hd_institution{
	background-image: url(images/hd_institution.jpg);
}
#pghd_bg.hd_post{
	background-image: url(images/hd_post.jpg);
}

.page_container{
	margin: 0 auto;
	padding: 0 0 100px;
	width: 960px;
}
.page_container p{
	margin-top: 1em;
	line-height: 2;
}

.crumbs{
	padding: 20px 0;
	font-size: 1.4rem;
}
.crumbs a{
	color: inherit;
}

.subtitle{
	margin: 5em 0 2em;
	font-size: 2em;
	letter-spacing: 0.1em;
	text-align: center;
	position: relative;
	z-index: 2;
}
.subtitle::before{
	content: "";
	width: 132px;
	height: 132px;
	background: url(images/circle_pink.png) no-repeat center top;
	background-size: contain;
	position: absolute;
	top: -60px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
.subtitle:first-of-type{
	margin-top: 2em;
}
.subtitle.align_l{
	padding-left: 40px;
	text-align: left;
}
.subtitle.align_l::before{
	left: 0;
	transform: translateX(0);
}

.subtitle_s{
	margin: 2em 0 0.5em;
	padding: 0.5em 1em;
	border-radius: 4px;
	background: url(images/bg_stamp.png);
	font-size: 1.5em;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.subtitle_s::after{
	content: "";
	width: 120px;
	height: 120px;
	background: url(images/circle_pink.png) no-repeat right center;
	background-size: contain;
	position: absolute;
	top: calc(50% - 60px);
	left: -20px;
	z-index: -1;
	opacity: 0.7;
}

.subtitle_ss{
	margin: 2em 0 0.5em;
	font-size: 1.3em;
}
.subtitle_ss::before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	margin: -0.1em 0.2em -0.1em 0;
	width: 1.2em;
	height: 1.2em;
	background: url(images/circle_blue.png) no-repeat center top;
	background-size: contain;
	opacity: 0.6;
}
.subtitle_s + .subtitle_ss{
	margin-top: 1em;
}

ul.list_1{
	list-style: none;
	margin-top: 1em;
}
.list_1 li{
	margin-top: 0.5em;
	margin-left: 1.3em;
	position: relative;
}
.list_1 li::before{
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 3px;
	background: #99876A;
	position: absolute;
	top: 0.5em;
	left: -0.8em;
}

.block_c{
	display: flex;
	justify-content: center;
}

/* 投稿一覧 */
ul.post_list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style: none;
}
.post_list li{
	box-sizing: border-box;
	margin: 40px 0 0;
	width: calc((100% - 40px) / 2);
	background: #FFF;
	border: 1px solid #E5E5E5;
	border-radius: 10px;
}
.post_list li:hover{
	opacity: 0.7;
}
.post_list a{
	display: flex;
	box-sizing: border-box;
	padding: 10px;
	width: 100%;
	height: 100%;
	color: inherit;
	text-decoration: none;
}
.post_list .post_thumb{
	flex-shrink: 0;
	margin-right: 10px;
	width: 180px;
	height: 120px;
	position: relative;
}
.post_list .post_thumb img{
	width: 100%;
	height: 100%;
	border-radius: 6px;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
}
.post_list .post_meta{
	padding: 10px;
}
.post_list .post_date{
	margin-bottom: 0.5em;
}
.post_list h4{
	font-size: 1.25em;
}
.post_list .post_excerpt{
	margin-top: 0.5em;
	font-size: 1.4rem;
}

/* ページング */
.local-navigation{
	margin-top: 50px;
	text-align: center;
}
.local-navigation .page-numbers{
	display: inline-block;
	margin: 10px 1px 0;
	padding: 0 10px;
	box-sizing: border-box;
	border-radius: 3px;
	min-width: 36px;
	line-height: 36px;
	font-size: 1.6rem;
}
.local-navigation a.page-numbers{
	background: #FFB6C1;
	color: #FFF;
	text-decoration: none;
}
.local-navigation .page-numbers.current,
.local-navigation a.page-numbers:hover{
	background: #FF99A8;
}

/* 投稿詳細 */
.post_container{
	display: flex;
	justify-content: space-between;
}
.post_container .main_col{
	width: 820px;
}
.post_container .side_col{
	width: 280px;
}

.main_col .eyecatch{
	text-align: center;
	position: relative;
}
.main_col .eyecatch::after{
	content: "";
	width: 180px;
	height: 180px;
	background: url(images/motif.png) no-repeat center center;
	background-size: contain;
	opacity: 0.8;
	position: absolute;
	right: -30px;
	bottom: -60px;
}
.main_col .eyecatch img{
	max-width: 100%;
	max-height: 820px;
	border-radius: 40px;
}
.main_col .post_title{
	margin-top: 20px;
	padding: 20px;
	background: url(images/dot_wave.png) repeat-x left bottom;
	background-size: 160px auto;
	font-size: 2.8rem;
}
.main_col .post_meta{
	margin-top: 1em;
}
.main_col .post_content{
	margin-top: 20px;
}
.main_col .post_content p{
	margin-top: 1em;
	line-height: 1.75em;
}

.side_title{
	margin-top: 40px;
	padding: 0 0.5em 0.5em;
	background: url(images/dot_line.svg) repeat-x left bottom;
	font-size: 1.8rem;
	line-height: 1.2em;
}
/*
.side_title:first-child{
	margin-top: 0;
}
*/

ul.side_list{
	list-style: none;
}
.side_list li{
	border-bottom: 1px solid #E5E5E5;
}
.side_list li > a{
	display: block;
	padding: 0.8em 10px;
	color: inherit;
	line-height: 1.4em;
	text-decoration: none;
}
.side_list li > a:hover{
	background: #FFF;
}

ul.side_post{
	list-style: none;
}
.side_post li > a{
	display: flex;
	padding: 10px;
}
.side_post .post_thumb_s{
	flex-shrink: 0;
	display: block;
	margin-right: 10px;
	padding: 0;
	width: 80px;
	height: 80px;
}
.side_post .post_thumb_s img{
	width: 100%;
	height: 100%;
	border-radius: 10px;
	object-fit: cover;
}
.side_post .post_title{
	font-size: 1.4rem;
	text-decoration: none;
}


/*--- FOOTER ---*/
#pagetop{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
	border-radius: 30px;
	background: #FFB6C1;
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9999;
}
#pagetop:hover{
	background: #FF99A8;
}
#pagetop::after{
	content: "";
	margin-top: 6px;
	width: 16px;
	height: 16px;
	border: solid #FFF;
	border-width: 2px 2px 0 0;
	transform: rotate(-45deg);
	transform-origin: center center;
}

#footer{
	padding-top: 14px;
	background: url(images/bg_wall.png);
	position: relative;
}
#footer::before{
	content: "";
	width: 100%;
	height: 20px;
	background: url(images/dot_line2.svg) repeat-x left top;
	position: absolute;
	top: -5px;
	left: 0;
}

.footer_container{
	display: flex;
	justify-content: space-between;
	margin: 40px auto;
	width: 1140px;
}

.ft_clinic{
	width: 660px;
}
.ft_clinic .cl_address{
	margin-top: 20px;
}
.ft_clinic .cl_tel{
	margin-top: 10px;
	font-weight: bold;
}
.ft_clinic .cl_tel em{
	font-size: 1.8em;
	font-style: normal;
}
.ft_clinic .cl_tel a{
	color: inherit;
	text-decoration: none;
}
.ft_clinic .cl_days{
	margin-top: 1em;
}
.ft_clinic .btn_access{
	display: inline-block;
	vertical-align: middle;
	margin-left: 1em;
	padding: 0.3em 1em;
	padding-right: 24px;
	border-radius: 6px;
	background: #8ABFE5;
	color: #FFF;
	text-decoration: none;
	position: relative;
}
.ft_clinic .btn_access:hover{
	opacity: 0.75;
}
.ft_clinic .btn_access::after{
	content: "";
	width: 12px;
	height: 12px;
	background: url(images/arrow_wht.svg) no-repeat center center;
	background-size: contain;
	position: absolute;
	top: calc(50% - 6px);
	right: 6px;
}

#google_map{
	margin-top: 40px;
	width: 100%;
}
#google_map iframe{
	width: 100%;
	height: 360px;
}

.ft_navi{
	display: flex;
	justify-content: space-between;
}
.ft_navi a{
	color: inherit;
	font-size: 1.4rem;
	text-decoration: none;
}
.ft_navi a:hover{
	text-decoration: underline;
}
.ft_navi .ft_navi_col{
	list-style: none;
	margin-left: 40px;
}
.ft_navi .ft_navi_col > li{
	margin-top: 0.5em;
}

.ft_navi_col > li > a{
	display: inline-block;
	margin-left: 1.3em;
}
.ft_navi_col > li > a::before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	margin-left: -1.3em;
	margin-right: 0.3em;
	width: 1em;
	height: 1em;
	background: url(images/arrow_circle.svg) no-repeat center center;
	background-size: contain;
}
.ft_navi_col .ft_navi_child{
	list-style: none;
	margin-left: 1.3em;
}

#copyright{
	padding: 16px 0;
	font-size: 1.4rem;
	text-align: center;
}

.fixed_banner {
position: fixed;
z-index: 99999;
bottom: 10px;
left: 10px;
padding: 6px 40px;
background:transparent;
border: none;
}

.fixed_banner_pc {
width: 150px; 
}

.floating-banner:hover {
opacity: .8; 
}

.fixed_banner_sp {
display: none; 
}


@media screen and (max-width: 430px) { 

.fixed_banner_sp {
display: inline-block; 
width: 25vw; 
}

}

/* =====================================
	NOMOCa AI Chatbot
===================================== */
.bannersNomocaAi {
   position: fixed;
   z-index: 999;
   bottom: 20px;
   left: 35px;
   display: block;
   margin: 0 !important;
   width: clamp(11%, 160px, 250px) !important;
   list-style: none !important;
}

.bannersNomocaAi button {
   cursor: pointer;
   transition-duration: .4s;
   border: none;
   background: transparent;
}

.bannersNomocaAi button:hover {
   opacity: .7;
}

.bannersNomocaAi img {
   vertical-align: bottom;
   width: 100%;
}

@media (max-width: 480px) {
   .bannersNomocaAi {
      left: 20px;
      bottom: 20px;
      max-width: 100%;
      width: 35% !important;
   }

   .bannersNomocaAi button:hover {
      opacity: 1;
   }

   .bannersNomocaAi button {
      width: 100%;
   }
}