@charset "utf-8";
/* =====================================
■Wrapper
===================================== */
#wrapper {
	padding-top: 119px;
}

@media screen and (max-width: 1259px) and (min-width: 1024px) {
	#wrapper {
		padding-top: 109px;
	}
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
	#wrapper {
		padding-top: 113px;
	}
}

@media screen and (max-width: 767px) {
	#wrapper {
		padding-top: 94px;
	}
}

/* =====================================
■Header
===================================== */
header h1 {
	font-size: 10px;
	line-height: 1.4;
	letter-spacing: 0.08em;
	color: #555555;
	text-align: right;
	margin: 5px 0 8px;
}

@media screen and (max-width: 767px) {
	header h1 {
		font-size: 8px;
		margin: 8px 0 6px;
	}
	.toggleMenu {
		top: 42px;
	}
}

@media screen and (max-width: 374px) {
	header h1 {
		letter-spacing: 0.02em;
	}
}


/* =====================================
■Elementor
===================================== */
/* -------------------------------------
* general
------------------------------------- */
.elementor-section.elementor-section-boxed > .elementor-container {
	max-width: 1240px;
}
.elementor .elementor-widget-text-editor a {
	text-decoration: underline;
}

@media screen and (max-width: 767px) {
	.elementor-section.elementor-section-boxed > .elementor-container {
		padding: 0 16px;
	}
}


/* =====================================
■mainVisual
===================================== */
#mainVisual {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
	position: relative;
	z-index: 2;
}
#mainVisual:before {
	content: "";
	width: calc(454 / 1366 * 100vw);
	height: calc(594 / 1366 * 100vw);
	background: #FFF3EB;
	position: absolute;
	right: 0;
	top: 10px;
	z-index: -1;
	pointer-events: none;
}
#mainVisual .main-images {
	padding-top: calc(92 / 1366 * 100vw);
	padding-right: calc(24 / 1366 * 100vw);
}
#mainVisual .main-images img {
	width: 100%;
}
#mainVisual .main-catch-en {
	width: 100%;
	font-family: "Spectral", serif;
	font-weight: 200;
	font-style: normal;
	font-size: calc(12 / 1366 * 100vw);
	line-height: 1.6;
	letter-spacing: 0.48em;
	color: #7C7C7C;
	padding: 0 52px;
	position: absolute;
	top: calc(31 / 1366 * 100vw);
}
#mainVisual .main-catch-jp {
	width: auto;
	max-height: calc(1100 / 1366 * 100vw);
	writing-mode: vertical-rl;
	white-space: nowrap;
	position: absolute;
	right: calc(93 / 1366 * 100vw);
	top: calc(44 / 1366 * 100vw);
	z-index: 2;
}
#mainVisual .main-catch-jp span {
	display: inline-block;
	background: #fff;
	font-size: calc(24 / 1366 * 100vw);
	color: #555555;
	letter-spacing: 0.2em;
	line-height: 1;
	padding: calc(16 / 1366 * 100vw) calc(16 / 1366 * 100vw) calc(10 / 1366 * 100vw);
	margin-left: calc(16 / 1366 * 100vw);
}
#mainVisual .main-btn {
	width: calc(572 / 1366 * 100vw);
	position: absolute;
	left: 48px;
	bottom: calc(256 / 1366 * 100vw);
	z-index: 2;
}
#mainVisual .main-btn-list .elementor-icon-list-items {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: calc(10 / 1366 * 100vw) calc(16 / 1366 * 100vw);
}
#mainVisual .main-btn-list .elementor-icon-list-item {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	height: calc(48 / 1366 * 100vw);
	background: #4F4F4F;
	font-size: calc(16 / 1366 * 100vw);
	letter-spacing: 0.24em;
	line-height: 1.2;
	color: #fff;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
	position: relative;
	z-index: 2;
}
#mainVisual .main-btn-list a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: #fff;
}
#mainVisual .main-btn-list a:hover {
	opacity: 0.8;
}
#mainVisual .main-btn-other {
	margin-top: calc(16 / 1366 * 100vw);
}
#mainVisual .main-btn-other .elementor-icon-list-items {
	display: flex;
	justify-content: center;
	column-gap: calc(102 / 1366 * 100vw);
	background: #fff;
	font-size: calc(16 / 1366 * 100vw);
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.375;
	color: #555555;
	text-align: center;
	padding: calc(18 / 1366 * 100vw) calc(15 / 1366 * 100vw);
}
#mainVisual .main-btn-other .elementor-icon-list-item {
	position: relative;
}
#mainVisual .main-btn-other li:not(:first-child):before {
	content: "";
	width: 1px;
	height: 100%;
	background: #CDCDCD;
	position: absolute;
	left: calc(-51 / 1366 * 100vw);
	top: 50%;
	transform: translateY(-50%);
}

@media screen and (max-width: 1259px) and (min-width: 1024px) {
	#mainVisual .main-catch-en {
		padding: 0 30px;
	}
	#mainVisual .main-btn {
		left: 30px;
	}
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
	#mainVisual .main-catch-en {
		font-size: calc(14 / 1366 * 100vw);
		padding: 0 20px;
	}
	#mainVisual .main-btn {
		left: 30px;
	}
}

@media screen and (max-width: 767px) {
	#mainVisual:before {
		width: calc(211 / 390 * 100vw);
		height: calc(716 / 390 * 100vw);
		top: 0;
	}
	#mainVisual .main-images {
		padding-top: calc(96 / 390 * 100vw);
		padding-right: 32px;
	}
	#mainVisual .main-catch-en {
		font-size: calc(10 / 390 * 100vw);
		letter-spacing: 0.24em;
		padding: 0 16px;
		top: calc(24 / 390 * 100vw);
	}
	#mainVisual .main-catch-jp {
		max-height: calc(450 / 390 * 100vw);
		right: 16px;
		top: calc(64 / 390 * 100vw);
	}
	#mainVisual .main-catch-jp span {
		font-size: calc(18 / 390 * 100vw);
		padding: calc(12 / 390 * 100vw) calc(12 / 390 * 100vw) calc(10 / 390 * 100vw);
		margin-left: calc(8 / 390 * 100vw);
	}
	#mainVisual .main-btn {
		width: 100%;
		padding: 0 16px;
		left: 0;
		bottom: calc(100 / 390 * 100vw);
	}
	#mainVisual .main-btn-list .elementor-icon-list-items {
		grid-gap: calc(10 / 390 * 100vw);
	}
	#mainVisual .main-btn-list .elementor-icon-list-item {
		height: calc(50 / 390 * 100vw);
		font-size: calc(14 / 390 * 100vw);
	}
	#mainVisual .main-btn-other {
		margin-top: calc(16 / 390 * 100vw);
	}
	#mainVisual .main-btn-other .elementor-icon-list-items {
		column-gap: calc(32 / 390 * 100vw);
		font-size: calc(15 / 390 * 100vw);
		padding: calc(16 / 390 * 100vw);
	}
	#mainVisual .main-btn-other li:not(:first-child):before {
		left: calc(-16 / 390 * 100vw);
	}
}


/* =====================================
■TITLE
===================================== */
.primary-heading h2 {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 28px;
	line-height: 1;
	letter-spacing: 0.16em;
	color: #555555;
	position: relative;
	z-index: 2;
}
.primary-heading h2 span {
	display: inline-block;
	position: relative;
	z-index: 2;
}
.primary-heading:not(.vertical) h2 span:after {
	content: "";
	width: 64px;
	height: 1px;
	background: #DEDEDE;
	position: absolute;
	right: -78px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}
.primary-heading h2 sub {
	display: block;
	font-family: "Spectral", serif;
	font-weight: 300;
	font-style: normal;
	font-size: 16px;
	letter-spacing: 0.08em;
	color: #7C7C7C;
	text-transform: uppercase;
}
.primary-heading.vertical h2 {
	writing-mode: vertical-rl;
	white-space: nowrap;
}

@media screen and (min-width: 768px) {
	.primary-heading:not(.vertical) h2 sub {
		position: absolute;
		right: 0;
		top: 11px;
	}
}

@media screen and (max-width: 767px) {
	.primary-heading h2 {
		font-size: 24px;
	}
	.primary-heading:not(.vertical) h2 span:after {
		width: 40px;
		right: -54px;
	}
	.primary-heading h2 sub {
		margin-top: 16px;
	}
}


/* =====================================
■新着情報
===================================== */
.newsSec {
	margin-top: -144px;
	z-index: 10;
}
.newsSec .inner {
	background: #fff;
	padding: 64px 64px 28px;
}
.newsSec .newsWrap {
	border-top: 1px solid #DEDEDE;
	border-bottom: 1px solid #DEDEDE;
	padding: 32px 0;
	margin-top: 48px;
	position: relative;
	z-index: 2;
}
.newsSec .newsWrap .item {
	padding: 12px 0 40px;
}
.newsSec .newsWrap h3 {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 20px;
	line-height: 1.4;
	letter-spacing: 0.08em;
	color: #2B2B2B;
}
.newsSec .newsWrap h3 a {
	display: block;
	color: #2B2B2B;
	padding-right: 44px;
	position: relative;
}
.newsSec .newsWrap h3 a:hover {
	color: #E79059;
	opacity: 0.8;
}
.newsSec .newsWrap h3 a:after {
	content: "";
	width: 28px;
	height: 20px;
	background: url(/wp-content/uploads/icon-arrow.png) no-repeat center right;
	background-size: contain;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(calc(-50% - 1px));
}
.newsSec .newsWrap .news {
	margin-top: 43px;
}
.newsSec .newsWrap .news dl {
	display: flex;
	align-items: center;
	font-size: 14px;
	line-height: 1.4;
	color: #6B6B6B;
}
.newsSec .newsWrap .news dl:not(:first-child) {
	margin-top: 24px;
}
.newsSec .newsWrap .news dl dt {
	width: 91px;
	background: #EFEFEF;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #909090;
	text-align: center;
	padding: 4px 5px 5px;
	margin-right: 16px;
}
.newsSec .newsWrap .news dl dd {
	flex: 1;
}

@media screen and (min-width: 768px) {
	.newsSec .newsWrap:after {
		content: "";
		width: 1px;
		height: calc(100% - 64px);
		background: #DEDEDE;
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		pointer-events: none;
	}
}

@media screen and (max-width: 1365px) and (min-width: 768px) {
	.newsSec {
		margin-top: calc(-144 / 1366 * 100vw);
	}
	.newsSec .inner {
		padding: calc(64 / 1366 * 100vw) calc(64 / 1366 * 100vw) 28px;
	}
	.newsSec .newsWrap {
		margin-top: calc(48 / 1366 * 100vw);
	}
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
	.newsSec .newsWrap h3 {
		font-size: 18px;
		letter-spacing: 0.04em;
	}
	.newsSec .newsWrap .news dl {
		display: block;
	}
	.newsSec .newsWrap .news dl dt {
		margin-right: 0;
		margin-bottom: 8px;
	}
	.newsSec .newsWrap .news dl dd {
		width: 100%;
	}
}

@media screen and (max-width: 767px) {
	.newsSec {
		margin-top: calc(-40 / 390 * 100vw);
	}
	.newsSec .inner {
		padding: 40px 16px 44px;
	}
	.newsSec .newsWrap {
		border-bottom: none;
		margin-top: 24px;
		padding-bottom: 0;
	}
	.newsSec .newsWrap .item {
		padding: 0;
	}
	.newsSec .newsWrap .item:first-child {
		border-bottom: 1px solid #DEDEDE;
		padding-bottom: 32px;
		margin-bottom: 32px;
	}
	.newsSec .newsWrap .news dl {
		display: block;
	}
	.newsSec .newsWrap .news dl dt {
		margin-right: 0;
		margin-bottom: 8px;
	}
	.newsSec .newsWrap .news dl dd {
		width: 100%;
	}
}


/* =====================================
■受診方法
===================================== */
.appointmentSec {
	margin-bottom: 80px;
}
.appointmentSec .txtWrap .txt {
	font-size: 15px;
	line-height: 2;	
	margin-top: 48px;
}

@media screen and (min-width: 768px) {
	.appointmentSec {
		margin-top: 128px;
	}
	.appointmentSec .inner {
		max-width: 1366px;
		padding-left: 30px;
		margin: 0 auto;
	}
	.appointmentArea {
		max-width: 1273px;
		padding-left: 64px;
		margin-left: auto;
	}
	.appointmentArea .primary-heading:not(.vertical) h2 sub {
		margin-top: 24px;
		position: relative;
		top: 0;
	}
	.appointmentSec .txtWrap {
		width: 56.49%;
		padding-right: 82px;
		align-self: center;
	}
	.appointmentSec .txtWrap .elementor-widget-wrap {
		max-width: 601px;
		margin-left: auto;
	}
	.appointmentSec .picWrap {
		width: 43.51%;
		max-width: 526px;
	}
	.appointmentSec .picWrap div {
		height: 100%;
	}
	.appointmentSec .picWrap img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center left;
	}
}

@media screen and (max-width: 1365px) and (min-width: 768px) {
	.appointmentArea {
		padding-left: calc(64 / 1366 * 100vw);
	}
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
	.appointmentSec .txtWrap {
		padding-right: 55px;
	}
}

@media screen and (max-width: 767px) {
	.appointmentSec {
		margin-bottom: 76px;
	}
	.appointmentSec .picWrap {
		padding-right: 16px;
		margin-bottom: 40px;
	}
	.appointmentSec .txtWrap {
		padding: 0 32px;
	}
	.appointmentSec .txtWrap .txt {
		margin-top: 32px;
	}
}


/* =====================================
■診療時間・アクセス
===================================== */
.aboutSec .inner {
	max-width: 1366px;
	margin: 0 auto;
}
.aboutSec .primary-heading.vertical {
	width: auto;
	position: absolute;
	right: 64px;
}
.aboutSec .primary-heading.vertical h2 span:after {
	content: "";
	width: 1px;
	height: 64px;
	background: #DEDEDE;
	position: absolute;
	left: 50%;
	bottom: -74px;
	transform: translateX(-50%);
	pointer-events: none;
}
.aboutSec .elementor-section:not(.headingArea) .elementor-inner-column {
	padding-left: 64px;
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
	.aboutSec .primary-heading.vertical {
		right: 30px;
	}
}

@media screen and (max-width: 767px) {
	.aboutSec .elementor-section:not(.headingArea) .elementor-inner-column {
		padding-left: 16px;
	}
	.aboutSec .primary-heading.vertical {
		right: 16px;
	}
}

/* -------------------------------------
* 診療時間
------------------------------------- */
.hoursArea {
	padding: 64px 0 40px;
	position: relative;
	z-index: 2;
}
.hoursArea:after {
	content: "";
	width: 418px;
	height: 100%;
	background: #FFF3EB;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	pointer-events: none;
}
.hoursArea .elementor-inner-column > .elementor-widget-wrap {
	background: #fff;
	padding: 58px 64px 31px 82px;
}
.hoursArea .primary-heading.sideways {
	position: absolute;
	left: -64px;
	top: 58px;
	width: auto !important;
	z-index: 10;
}
.hoursArea .primary-heading.sideways h2 sub {
	position: static;
	writing-mode: sideways-lr;
	white-space: nowrap;
}
.hoursArea .txtWrap {
	max-width: 860px;
	margin-right: 82px;
}
.noteArea {
	font-size: 18px;
	line-height: 2;
	padding-top: 20px;
}
.noteArea .elementor-inner-column > .elementor-widget-wrap {
	max-width: 942px;
	padding-left: 99px;
}
.noteArea .labelWrap {
	width: auto;
	font-size: 15px;
	line-height: 1;
}
.noteArea .labelWrap span {
	display: inline-block;
	width: 94px;
	color: #fff;
	text-align: center;
	padding: 8px;
}
.noteArea .labelWrap span.male-label {
	background: #4F7DB1;
	margin-right: 24px;
}
.noteArea .labelWrap span.female-label {
	background: #DA7979;
}
.noteArea .labelWrap p:not(:last-child) {
	margin-bottom: 15px;
}

@media screen and (min-width: 768px) {
	.noteArea .labelWrap {
		position: absolute;
		right: 0;
		top: -36px;
	}
}

@media screen and (max-width: 1239px) and (min-width: 1024px) {
	.hoursArea .elementor-inner-column > .elementor-widget-wrap {
		padding-left: 64px;
	}
	.noteArea .elementor-inner-column > .elementor-widget-wrap {
		padding-left: 80px;
	}
	.noteArea .labelWrap {
		right: 108px;
		top: -56px;
	}
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
	.hoursArea .elementor-inner-column > .elementor-widget-wrap {
		padding-left: 30px;
		padding-right: 30px;
	}
	.hoursArea .txtWrap {
		margin-right: 70px;
	}

	.timetable th,
	.timetable td {
		font-size: 15px;
	}
	.timetable th small {
		font-size: 13px;
	}
	.timetable thead th:first-child {
		width: 100px;
	}
	.timetable tbody td p small {
		font-size: 12px;
	}

	.noteArea {
		font-size: 16px;
		padding-top: 0;
	}
	.noteArea .elementor-inner-column > .elementor-widget-wrap {
		padding-left: 30px;
		padding-right: 30px;
	}
	.noteArea .labelWrap {
		position: static;
		margin-left: auto;
		margin-right: 60px;
		margin-bottom: 30px;
	}
}

@media screen and (max-width: 767px) {
	.hoursArea {
		padding: 32px 0 0;
	}
	.hoursArea:after {
		width: 100px;
		height: calc(100% - 40px);
	}
	.hoursArea .elementor-inner-column > .elementor-widget-wrap {
		padding: 32px 16px 25px 16px;
	}
	.hoursArea .primary-heading.sideways {
		left: -22px;
		top: 90px;
	}
	.hoursArea .primary-heading.sideways h2 sub {
		font-size: 12px;
		margin: 0;
	}
	.hoursArea .txtWrap {
		margin-right: 40px;
	}

	.noteArea {
		font-size: 16px;
		line-height: 1.6;
		padding-top: 0;
	}
	.noteArea .elementor-inner-column > .elementor-widget-wrap {
		padding: 0 16px;
	}
	.noteArea .labelWrap {
		margin-right: 40px;
		margin-left: auto;
		margin-bottom: 37px;
	}
	.noteArea .labelWrap p:not(:last-child) {
		margin-bottom: 12px;
	}
	.noteArea .labelWrap span.male-label {
		margin-right: 16px;
	}
}

/* -------------------------------------
* アクセス
------------------------------------- */
.accessArea {
	padding-bottom: 64px;
	position: relative;
	z-index: 2;
}
.accessArea:after {
	content: "";
	width: 414px;
	height: 426px;
	background: #FFF3EB;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: -1;
	pointer-events: none;
}
.accessArea .elementor-inner-column > .elementor-widget-wrap {
	background: #fff;
	padding: 70px 64px 64px 99px;
}
.accessArea .txtWrap {
	max-width: 842px;
	margin-right: 82px;
}
.accessArea .accessList {
	margin-top: 32px;
}
.accessArea .accessList li {
	font-size: 15px;
	line-height: 1.6;
	padding-left: 72px;
	position: relative;
}
.accessArea .accessList li:not(:first-child) {
	margin-top: 24px;
}
.accessArea .accessList li:before {
	content: "";
	width: 48px;
	height: 48px;
	background-repeat: no-repeat;
	background-position: center left;
	background-size: contain;
	position: absolute;
	left: 0;
	top: 0;
}
.accessArea .accessList li:first-child:before {
	background-image: url(/wp-content/uploads/icon-pin.png);
}
.accessArea .accessList li:last-child:before {
	background-image: url(/wp-content/uploads/icon-subway.png);
}

@media screen and (max-width: 1239px) and (min-width: 1024px) {
	.accessArea .elementor-inner-column > .elementor-widget-wrap {
		padding-left: 64px;
	}
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
	.accessArea .elementor-inner-column > .elementor-widget-wrap {
		padding-left: 30px;
	}
	.accessArea .txtWrap {
		margin-right: 32px;
	}
}

@media screen and (max-width: 767px) {
	.accessArea:after {
		width: 195px;
		height: 447px;
	}
	.accessArea .elementor-inner-column > .elementor-widget-wrap {
		padding: 64px 16px 32px 0;
	}
	.accessArea .txtWrap {
		margin-right: 56px;
	}
	.accessArea .accessList {
		width: calc(100% + 56px);
	}
	.accessArea .accessList li {
		padding-left: 64px;
	}
	.accessArea .accessList li:not(:first-child) {
		margin-top: 16px;
	}
}


/* =====================================
■当院の特徴
===================================== */
.featuresSec {
	background: url(/wp-content/uploads/top-bg01.jpg) no-repeat 75% center;
	background-size: cover;
	padding: 128px 0 108px;
}
.featuresSec .inner {
	background: #fff;
	padding: 64px 32px 60px;
}
.featuresSec .primary-heading {
	padding: 0 32px;
}
.featuresSlider {
	margin-top: 48px;
}
.featuresSlider .slickForItem {
	background: #FFF;
	padding: 0 31px 0 32px;
}
.featuresSec .elementor-widget-image-box .elementor-image-box-wrapper {
	display: block !important;
}
.featuresSec .elementor-image-box-img {
	display: block !important;
	width: 41.71% !important;
	float: right;
	margin: 0 0 0 50px !important;
	text-align: right;
}
.featuresSec .elementor-widget-image-box .elementor-image-box-content {
	text-align: left !important;
	word-break: break-all;
}
.featuresSec .elementor-widget-image-box .elementor-image-box-title {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-size: 22px;
	letter-spacing: 0;
	line-height: 1.6;
	color: #555555;
	margin-bottom: 30px;
	position: relative;
}
.featuresSec .elementor-widget-image-box .elementor-image-box-content p {
	font-size: 16px;
	line-height: 1.63;
	white-space: pre-wrap;
	margin-bottom: 32px;
}
.featuresSec .featuresBtn {
	display: flex;
	flex-wrap: wrap;
	column-gap: 14px;
	row-gap: 14px;
	margin: 0;
}
.featuresSec .nav-indicator {
	position: absolute;
	left: 32px;
	bottom: -84px;
}
.featuresSec .nav-indicator .nav-buttons {
	width: 120px;
	display: flex;
}
.featuresSec .nav-indicator .nav-btn {
	background: none;
	border: none;
	padding: 0;
	width: 60px;
	cursor: pointer;
}

@media screen and (min-width: 768px) {
	.featuresSec .inner {
		width: 76.3%;
		max-width: 900px;
	}
	.featuresSlider {
		overflow: hidden;
	}
	.featuresSlider > .elementor-container {
		width: fit-content;
		flex-wrap: nowrap;
		/* 		padding-right: 32px; */
	}
	.featuresSlider .slickForItem {
		width: 836px !important;
		border-left: 1px solid #DEDEDE;
	}
}

@media screen and (max-width: 1239px) and (min-width: 1024px) {
	.featuresSec .inner {
		max-width: 735px;
	}
	.featuresSlider .slickForItem {
		width: 671px !important;
	}
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
	.featuresSec {
		background-position: 81% center;
		padding: 128px 0 108px;
	}
	.featuresSec .inner {
		max-width: 540px;
	}
	.featuresSlider .slickForItem {
		width: 476px !important;
	}
}

@media screen and (max-width: 767px) {
	.featuresSec {
		background: url(/wp-content/uploads/top-bg01.jpg) no-repeat center;
		background-size: cover;
		padding: 64px 0 88px;
	}
	.featuresSec .inner {
		padding: 40px 24px 82px;
	}
	.featuresSec .primary-heading {
		padding: 0;
	}
	.featuresSlider {
		margin-top: 40px;
	}
	.featuresSlider .slickForItem {
		padding: 0;
	}
	.featuresSlider .slickForItem .pic {
		margin-bottom: 32px;
	}
	.featuresSlider .slick-arrow {
		width: 60px;
		cursor: pointer;
		position: absolute;
		bottom: -106px;
		z-index: 3;
	}
	.featuresSlider .slick-arrow.prev_icon {
		left: 0;
	}
	.featuresSlider .slick-arrow.next_icon {
		left: 60px;
	}
	.featuresSec .elementor-image-box-img {
		display: none !important;
	}
}


/* =====================================
■診療について
===================================== */
.menuSec {
	padding: 128px 0 80px;
}
.menuSec .primary-heading {
	padding: 0 64px;
	margin-bottom: 64px;
}

@media screen and (max-width: 767px) {
	.menuSec {
		padding: 82px 0 64px;
	}
	.menuSec .primary-heading {
		padding: 0 16px;
		margin-bottom: 36px;
	}
}


/* =====================================
■院長紹介
===================================== */
.directorSec {
	padding-top: 290px;
	position: relative;
	z-index: 2;
}
.directorSec:after {
	content: "";
	width: 100%;
	height: 517px;
	background: url(/wp-content/uploads/steff_bg.jpg) no-repeat center top;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	pointer-events: none;
}
.directorSec .inner {
	background: #fff;
	max-width: 1000px;
	margin-left: auto;
	padding: 64px;
	position: relative;
	z-index: 2;
}
.directorSec .inner:before {
	content: "";
	width: 118px;
	height: 249px;
	background: #FFF3EB;
	position: absolute;
	left: -118px;
	top: 227px;
	z-index: -1;
	pointer-events: none;
}
.directorArea {
	margin-top: 48px;
}
.directorArea .picWrap figcaption {
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.08em;
	background: #797979;
	color: #fff;
	width: 161px;
	padding: 12px 10px 12px 12px;
	margin: -20px 0 0 12px;
	position: relative;
}
.directorArea .txtWrap .txt {
	font-size: 15px;
	line-height: 2;
	letter-spacing: 0.04em;
	margin-bottom: 32px;
}

@media screen and (min-width: 768px) {
	.directorSec .inner {
		width: 84.75%;
	}
	.directorArea > .elementor-container {
		flex-wrap: nowrap;
		column-gap: 42px;
	}
	.directorArea .picWrap {
		width: 45.88%;
		max-width: 400px;
	}
	.directorArea .txtWrap {
		flex: 1;
	}
}

@media screen and (max-width: 1365px) and (min-width: 768px) {
	.directorSec .inner {
		padding: calc(64 / 1366 * 100vw);
	}
}

@media screen and (max-width: 1023px) and (min-width: 768px) {
	.directorSec .inner {
		width: 94%;
	}
}

@media screen and (max-width: 767px) {
	.directorSec {
		padding-top: calc(104 / 390 * 100vw);
	}
	.directorSec:after {
		height: calc(188 / 390 * 100vw);
		background-image: url(/wp-content/uploads/top-bg02_sp.jpg);
	}
	.directorSec .inner {
		width: calc(100% - 32px);
		padding: 32px 24px;
	}
	.directorSec .inner:before {
		width: 48px;
		height: 534px;
		left: -48px;
		top: calc(84 / 390 * 100vw);
	}
	.directorArea {
		margin-top: 32px;
	}
	.directorArea .picWrap {
		margin-bottom: 24px;
	}
	.directorArea .picWrap figcaption {
		font-size: 14px;
		width: 136px;
		padding: 6px 6px 6px 8px;
		margin: -13px 8px 0 auto;
	}
}


/* =====================================
■インフォメーション
===================================== */
.infoSec > .elementor-container {
	max-width: 1366px;
	margin: 0 auto;
	padding: 80px 0 64px;
	position: relative;
	z-index: 2;
}
.infoSec > .elementor-container:after {
	content: "";
	width: 342px;
	height: 270px;
	background: #FFF5EF;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: -1;
	pointer-events: none;
}
.infoSec .primary-heading {
	border-bottom: 1px solid #DEDEDE;
	padding-bottom: 28px;
	margin-bottom: 32px;
}
.infoSec .primary-heading h2 {
	font-size: 24px;
}

@media screen and (max-width: 767px) {
	.infoSec > .elementor-container {
		padding-top: 0;
	}
	.infoSec > .elementor-container:after {
		width: 195px;
		height: 320px;
	}
	.infoSec .primary-heading {
		padding-bottom: 24px;
	}
	.infoSec .primary-heading h2 {
		font-size: 20px;
	}
}

/* -------------------------------------
* 医院概要
------------------------------------- */
.clinicArea {
	padding: 80px 0;
	position: relative;
	z-index: 2;
}
.clinicArea:after {
	content: "";
	width: 50%;
	height: 100%;
	background: url(/wp-content/uploads/top-bg03.jpg) no-repeat 65% center;
	background-size: cover;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
	pointer-events: none;
}
.clinicArea .inner {
	background: #fff;
	padding: 64px;
}
.infotable th,
.infotable td {
	font-size: 15px;
	line-height: 1.4;
	letter-spacing: 0.04em;
	border-bottom: 1px solid #DEDEDE;
	padding: 16px 0;
	vertical-align: top;
}
.infotable tr:first-child th,
.infotable tr:first-child td {
	padding-top: 0;
}
.infotable th {
	width: 120px;
	color: #555;
}
.infotable td a {
	text-decoration: none !important;
}

@media screen and (min-width: 768px) {
	.clinicArea .inner {
		max-width: 720px;
		width: 61.1%;
	}
	.clinicArea .infotable tr:last-child th,
	.clinicArea .infotable tr:last-child td {
		border-bottom: none;
		padding-bottom: 0;
	}
}

@media screen and (max-width: 1365px) and (min-width: 768px) {
	.clinicArea .inner {
		padding: calc(64 / 1366 * 100vw);
	}
}

@media screen and (max-width: 767px) {
	.clinicArea {
		padding: calc(384 / 390 * 100vw) 0 0;
	}
	.clinicArea:after {
		width: 100%;
		height: calc(448 / 390 * 100vw);
	}
	.clinicArea .inner {
		padding: 40px 32px 0;
	}
	.infotable,
	.infotable tr,
	.infotable th,
	.infotable td {
		display: block;
		width: 100%;
	}
	.infotable th {
		border-bottom: none;
		padding-bottom: 12px;
	}
	.infotable td {
		padding-top: 0;
	}
}

/* -------------------------------------
* 沿革
------------------------------------- */
.historyArea .inner {
	background: #fff;
	padding: 79px 64px 72px;
}
.historyArea .infotable th,
.historyArea .infotable td {
	font-size: 14px;
}

@media screen and (min-width: 768px) {
	.historyArea .inner > .elementor-widget-wrap {
		justify-content: space-between;
	}
	.historyArea .inner .txt {
		width: calc(50% - 25px);
	}
}

@media screen and (max-width: 1365px) and (min-width: 768px) {
	.historyArea .inner {
		padding: calc(79 / 1366 * 100vw) calc(64 / 1366 * 100vw) calc(72 / 1366 * 100vw);
	}
}

@media screen and (max-width: 767px) {
	.historyArea .inner {
		padding: 48px 32px 72px;
	}
	.historyArea .inner .txt:last-child {
		margin-top: 12px;
	}
}


/* =====================================
■Loopslider
===================================== */
.loopsliderSec {
	margin-bottom: 128px;
	position: relative;
	z-index: 2;
}
#loopslider {
	margin: 0 auto;
	width: 100%;
	height: 300px;
	text-align: left;
	position: relative;
	overflow: hidden;
}
#loopslider ul {
	overflow: hidden;
}
#loopslider ul li {
	width: 2277px;
	height: 300px;
	float: left;
	overflow: hidden;
}
#loopslider ul:after {
	content: ".";
	height: 0;
	clear: both;
	display: block;
	visibility: hidden;
}

@media screen and (max-width: 767px) {
	.loopsliderSec {
		margin-bottom: 64px;
	}
	#loopslider {
		height: 150px;
	}
	#loopslider ul li {
		width: 1139px;
		height: 150px;
	}
}

/* =====================================
■2026/06/18
===================================== */
.elementor-element-cb5c04f .elementor-container > .elementor-element > .elementor-widget-wrap {
  display: block !important;
}