@charset "UTF-8";
/*
Theme Name: Emanon Premium child
Theme URI: https://wp-emanon.jp/emanon-premium/
Author: 株式会社イノ・コード
Author URI: https://innocord.co.jp/
Description: Emanon Premiumnの子テーマです。
Template: emanon-premium
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags:one-column, two-columns, three-columns, left-sidebar, right-sidebar, theme-options
*/

/*--------------------------
　  共通
----------------------------*/
/* 全幅指定 */
.widthMax_common {
	margin: 0 calc(50% - 50vw);
}
/* ヘッダー追従メニュー高さ調整 */
.l-header-menu-fixed__inner .header-menu > .menu-item {
    height: 75px;
}
/* フッター追従メニュー */
.cta-floating-button__footer {
	max-height: 90px;
	height: 90px;
}
.cta-floating-button__footer .cta_buttons {
	display: flex;
	justify-content: center;
	align-items: stretch;
	text-align: center;
}
.cta-floating-button__footer .cta_buttons li {
	margin: 0 10px;
}
.cta-floating-button__footer .cta_buttons li a {
	font-size: 24px;
	color: #fff;
	text-decoration: none;
	display: table-cell;
	height: 56px;
	vertical-align: middle;
}
.cta-floating-button__footer .cta_buttons li.tel a {
	padding: 0 20px;
	background-color: #e11c28;
}
.cta-floating-button__footer .cta_buttons li.mail a {
	padding: 0 20px;
	background-color: #4abaa7;
}
@media (max-width: 599px) {
	.cta-floating-button__footer .cta_buttons li {
		margin: 0 5px;
	}
	.cta-floating-button__footer .cta_buttons li a {
		font-size: 12px;
	}
	.cta-floating-button__footer .cta_buttons li.tel a,
	.cta-floating-button__footer .cta_buttons li.mail a {
		padding: 0 5px;
	}
}

/* 背景画像調整 */
#bgimg001 .epb-background__image img{
	height: 650px;
	object-position: left top;
}
/* 影 */
.custom_boxShadow01 .epb-broken-grid__content--inner{
	box-shadow: 3px 3px 4px 2px rgb(0 0 0 / 20%);
}
/* グループロゴ */
.group-logo img {
	width:100px;
}
/* ヘッダーメニュー */
.header-menu-row .header-menu > .menu-item > a {
	text-decoration: none;
}
.menu-description_custom {
	display: block;
	line-height: 1;
	font-weight: 300;
	letter-spacing: 0.04em;
	opacity: 0.8;
}
.header_menu_hover_bottom_up.is_style_hover_bottom .header-menu > .menu-item:not(.ep-menu-item-has-background):not(.ep-menu-item-has-background-02):not(.ep-menu-item-tel) > a span:has(.menu-description_custom)::after {
	bottom: -6px;
}
@media (max-width: 599px) {
	.menu-description_custom {
		display: inline;
		padding-left: 8px;
	}
}

/*--------------------------
　  CTAパーツ001
----------------------------*/
.cta001 {
	position: relative;
	background-image: url(https://kyoritsu-clinic.com/wp-content/uploads/footer-img02.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	height: 500px;
	margin-top: 0 !important;
}

.cta001>div {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 100%;
	width: 1100px;
}

/* 見出し */
.cta001>div>p {
	font-size: 52px;
	line-height: 1;
	font-weight: bold;
	text-align: center;
	color: #fff;
}

.cta001>div>div {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	padding: 40px 0;
	margin-top: 40px;
}

.cta001.cta002>div>div {
	margin-top: 0;
}

/* TEL */
.cta001 .cta001-tel {
	margin-right: 20px;
}

.cta001 .cta001-tel p:first-of-type {
	font-size: 42px;
	color: #4abaa7;
}

.cta001 .cta001-tel p:first-of-type::before {
	content: '\e973';
	font-family: 'icomoon';
}

.cta001 .cta001-tel p:first-of-type::after {
	content: '(代)';
	font-size: 25px;
}

.cta001 .cta001-tel p:last-of-type {
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	white-space: nowrap;
	line-height: 1.2;
}

.cta001 .cta001-tel p:last-of-type span {
	font-size: 18px;
	line-height: 1.8;
	letter-spacing: 0.2em;
	background-color: #f1f1f1;
	width: 50%;
	text-align: center;
	margin-right: 10px;
}

/* リンクボタン */
.cta001 .cta001-btn {
	display: flex;
}

.cta001 .cta001-btn a {
	max-width: 100%;
	width: 290px;
	line-height: 3;
	font-size: 24px;
	color: #fff;
	text-align: center;
}

.cta001 .cta001-btn a:first-of-type {
	background-color: #e11c28;
	margin-right: 20px;
}

.cta001 .cta001-btn a:last-of-type {
	background-color: #4abaa7;
}

.cta001 .cta001-btn a:hover {
	opacity: 0.8;
	transition: all 0.3s ease;
}

@media (max-width: 1100px) {
	.cta001>div>div {
		flex-direction: column;
		padding: 40px 16px;
	}

	/* TEL */
	.cta001 .cta001-tel {
		margin-right: 0;
	}

	/* リンクボタン */
	.cta001 .cta001-btn {
		margin-top: 40px;
		width: 100%;
	}

	.cta001 .cta001-btn a {
		width: 50%;
	}
}

@media (max-width: 600px) {
	.cta001 {
		height: 350px;
	}

	.cta001>div>p {
		font-size: 32px;
	}

	.cta001>div>div {
		padding: 20px 16px;
	}

	/* TEL */
	.cta001 .cta001-tel p:first-of-type {
		font-size: 30px;
	}

	/* リンクボタン */
	.cta001 .cta001-btn {
		margin-top: 20px;
	}

	.cta001 .cta001-btn a {
		font-size: 16px;
	}
}

/*--------------------------
　  問合せフォーム
----------------------------*/
.contact_form>div {
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
}
.contact_form p {
	margin-bottom: 30px;
}
.contact_form p:last-of-type {
	margin-bottom: 0;
}
.contact_form label {
	display: block;
}
.contact_form input,
.contact_form select{
	height: 42px;
}
.contact_form .checkbox>span,
.contact_form [class*="select-radio"]>span>span{ /*チェックボックス余白*/
    margin: 0 0 10px;
	width: 33.333%;
}
.contact_form .checkbox input,
.contact_form [class*="select-radio"] input{ /*チェックボックス高さ*/
	height: 15px;
    width: 15px;
}
.contact_form select,
.contact_form .checkbox input{
	appearance: auto !important;
	-webkit-appearance: auto !important;
}
.contact_form label>span:first-of-type {
	display: inline-block;
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: bold;
}
.contact_form label .required {
	font-size: 10px;
	display: inline-block;
	color: #fff;
	background-color: #49b9a5;
	padding: 3px 8px;
	vertical-align: text-bottom;
	margin-right: 5px;
}
.contact_form label .required.gray {
	background-color: #333;
}
.contact_form p .area01 {
	display: block;
	width: 190px;
	float: left;
	padding-right: 10px;
}
.contact_form p .area02 {
	display: block;
	width: 180px;
	float: left;
}
.contact_form .file1>input,
.contact_form .file2>input,
.contact_form .file3>input {
	border: solid 1px #b8bcc0;
	background-color: #fff;
	border-radius: 3px;
	padding: 6px 12px;
}
.contact_form-wrap .wpcf7-spinner{
	display: none;
}
@media (max-width: 500px) {
	.contact_form .checkbox>span,
	.contact_form [class*="select-radio"]>span>span{
		width: 50%;
	}
}

/*--------------------------
　  トップページ
----------------------------*/
/* お知らせ */
.top-news li{
	display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
}
.top-news li time{
	width: 100px;
	margin-top: 0;
	margin-right: 10px;
}
/* 診療のご案内 */
.top-aboutus-h{
	text-shadow: 0 0 8px #171818;
}
@media (max-width: 599px) {
	.top-aboutus{
		min-height: 310px !important;
	}
}
.top-chairman{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}

/* 背景画像調整 */
#bgimg001.toppage01 .epb-background__image img{
	height: 800px;
}
@media (max-width: 599px) {
	#bgimg001.toppage01 .epb-background__image img{
		height: 1550px;
	}
}

/*--------------------------
　  フッター
----------------------------*/
/* フッターエリア01 */
.footerArea-left {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.footerArea-left p:nth-of-type(2) {
	width: 100%;
	max-width: 200px;
	font-size: 18px;
	line-height: 2;
	text-align: center;
	color: #4d4d4d;
	background-color: #fff;
	border-radius: 20px;
	margin-top: 20px;
}

.footerArea-left p:last-of-type {
	font-size: 12px;
	text-align: center;
	color: #fff;
	margin-top: 20px;
}
/* フッターエリア02,03 */
.footerArea-center{
	display: flex;
	justify-content: flex-end;
}

.footerArea-right {
	display: flex;
	justify-content: space-around;
}

.footerArea-center ul,
.footerArea-right ul {
	color: #fff;
}

.footerArea-center ul li,
.footerArea-right ul li {
	list-style: none;
	padding-top: 10px;
}

.footerArea-center ul li::before,
.footerArea-right ul li::before {
	content: '\e941';
	font-family: 'icomoon';
}

.footerArea-center ul li a,
.footerArea-right ul li a {
	color: #fff;
}

.footerArea-center ul li a:hover,
.footerArea-right ul li a:hover {
	opacity: 0.8;
}

@media (max-width: 1200px) {
	.footerArea-right {
		flex-direction: column;
	}
	.footerArea-right ul:last-of-type {
		margin-top: 32px;
	}
}
@media (max-width: 599px) {
	.footerArea-center{
		justify-content: flex-start;
	}
	.footerArea-center,
	.footerArea-right {
		margin-top: 32px;
	}
}

/*--------------------------
　  スタッフ紹介
----------------------------*/
/* 施設長挨拶 */
.directors-greeting {
	display: grid;
	align-items: start;
	grid-template-areas:
		"name img"
		"comment img";
	grid-template-columns: 1fr 295px;
}

.directors-greeting h2,
.directors-greeting h3{
	grid-area: name;
	font-size: 18px;
	color: #fff;
	border-bottom: solid 1px #fff;
	padding-bottom: 30px;
	margin-top: 0 !important;
	line-height: 1.6 !important;
}

.directors-greeting h2 span:first-of-type,
.directors-greeting h3 span:first-of-type{
	display: block;
}

.directors-greeting h2 span:last-of-type,
.directors-greeting h3 span:last-of-type{
	font-size: 24px;
}

.directors-greeting p {
	grid-area: comment;
	font-size: 24px;
	color: #fff;
}

.directors-greeting img {
	grid-area: img;
}

@media (max-width: 630px) {
	.directors-greeting {
		grid-template-areas:
			"name"
			"img"
			"comment";
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 30px;
	}

	.directors-greeting h2,
	.directors-greeting h3{
		border-bottom: none;
		padding-bottom: 0;
		text-align: center;
	}

	.directors-greeting h2 span:first-of-type,
	.directors-greeting h3 span:first-of-type{
		display: inline-block;
	}

	.directors-greeting p {
		font-size: 20px;
		color: #4abaa7;
	}

	.directors-greeting img {
		width: 206px;
	}
}
/* 理事長・施設長パーツ（施設長挨拶ベース） */
@media (max-width: 630px) {
	.directors-greeting.area-staff h3 {
		color: #333;
	}
	.directors-greeting.area-staff {
		grid-template-areas:
			"img"
			"name"
			"comment";
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 30px;
	}
}
/* スタッフたち */
.staff-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
	margin-left: 0 !important;
}
.staff-list li {
	list-style: none;
	/* width: calc((100% - 210px) / 3); */
	width: 33.333%;
	margin-bottom: 50px;
}
.staff-types{
	position: relative;
	font-size: 14px;
	text-align: center;
	line-height: 3;
	color: #fff;
	background-color: rgb(78 157 152 / 85%);
	max-width: 100%;
	width: 135px;
	margin: -20px auto;	
}
@media (max-width: 630px) {
	.staff-list {
		justify-content: space-between;
	}
	.staff-list li {
		width: calc((100% - 15px) / 2);
	}
	.staff-list li img {
		width: 100%;
		height: auto;
	}
}