.wp-block-group {
	&.is-style-sidebar {
		inline-size: 100%;
		min-inline-size: 0;
		margin-block-start: 0;
		margin-block-end: 0;
		margin-inline-start: 0;
		margin-inline-end: 0;
		padding-block-start: 0;

		@media (width <= 781px) {
			display: flex;
			flex-basis: 0%;
			flex-direction: column;
			flex-grow: 1;
			flex-shrink: 1;
			inline-size: calc(100% - 28px);
			margin-inline-start: auto;
			margin-inline-end: auto;
		}
	}

	&.is-style-widget.is-layout-flow {
		margin-block-start: var(--wp--preset--spacing--xl);
		margin-block-end: 0;

		&:first-child {
			margin-block-start: 0;
		}

		@media (width <= 781px) {
			margin-block-start: var(--wp--preset--spacing--2-xs);

			&:first-child {
				margin-block-start: 0;
			}
		}
	}

	&.is-style-column-banner.is-layout-flow {
		margin-block-start: var(--wp--preset--spacing--xl);
		margin-block-end: 0;

		&:first-child {
			margin-block-start: 0;
		}

		@media (width <= 781px) {
			display: none;
		}
	}

	&.is-style-intro {
		display: flex;
		flex-direction: row;
		align-items: flex-start;
		column-gap: var(--wp--preset--spacing--l);
		row-gap: var(--wp--preset--spacing--l);
		margin-block-start: var(--wp--preset--spacing--l);
		margin-block-end: 0;

		&:first-child {
			margin-block-start: var(--wp--preset--spacing--l);
		}

		@media (width <= 781px) {
			flex-direction: column;
			align-items: stretch;
		}
	}

	&.is-style-intro-copy {
		display: flex;
		flex-grow: 1;
		flex-shrink: 1;
		flex-basis: 0%;
		flex-direction: column;
		min-inline-size: 0;
		margin-block-start: var(--wp--preset--spacing--l);
		margin-block-end: 0;
		margin-inline: 0;
	}

	&.is-style-site,
	&.is-style-site-inner {
		margin-block-start: var(--wp--preset--spacing--l);
		margin-block-end: 0;
		margin-inline: 0;
	}

	&.is-style-header {
		position: relative;
		inline-size: min(100%, 940px);
		min-block-size: 136px;
		margin-block-start: var(--wp--preset--spacing--l);
		margin-block-end: 0;
		margin-inline: auto;

		@media (width <= 781px) {
			inline-size: 100%;
			min-block-size: 0;
			padding-block: 10px;
			padding-inline: 10px;
			background-image: linear-gradient(var(--wp--preset--color--navy-soft) 0, var(--wp--preset--color--navy-ink) 80%, var(--wp--preset--color--beige) 82%, var(--wp--preset--color--beige-deep) 90%, var(--wp--preset--color--white) 90%);
		}
	}

	&.is-style-brand {
		display: flex;
		justify-content: space-between;
		margin-block-start: var(--wp--preset--spacing--l);
		margin-block-end: 0;

		@media (width <= 781px) {
			position: relative;
		}
	}

	&.is-style-brand-aside {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		min-inline-size: 0;
		margin-block-start: var(--wp--preset--spacing--l);
		margin-block-end: 0;
	}

	&.is-style-columns {
		display: grid;
		grid-template-columns: minmax(0, 62fr) minmax(0, 25fr);
		column-gap: var(--wp--preset--spacing--xxl);
		inline-size: min(100%, 940px);
		min-block-size: 1200px;
		margin-block-start: var(--wp--preset--spacing--l);
		margin-block-end: 0;
		margin-inline: auto;
		line-height: var(--wp--custom--line-height--body);

		@media (width <= 781px) {
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			inline-size: 100%;
			min-block-size: auto;
			background-color: var(--wp--preset--color--white);
		}
	}

	&.is-style-content {
		inline-size: 100%;
		min-inline-size: 0;
		max-inline-size: 100%;
		align-self: start;
		margin-block-start: var(--wp--preset--spacing--l);
		margin-block-end: 0;
		margin-inline: 0;
		padding: var(--wp--preset--spacing--l);
		background-color: var(--wp--preset--color--white);


		@media (width <= 781px) {
			display: flex;
			flex-direction: column;
			flex-wrap: wrap;
			align-items: center;
			justify-content: flex-start;
			inline-size: 100%;
			block-size: auto;
			margin-block-start: var(--wp--preset--spacing--l);
			margin-inline-start: 0;
		}
	}

	&.is-style-main {
		inline-size: 100%;
		min-inline-size: 0;
		overflow-wrap: anywhere;

		img,
		iframe,
		table {
			max-inline-size: 100%;
		}
	}

	&.is-style-footer {
		padding-block: 20px;
		padding-inline: 0;
		background-image: linear-gradient(var(--wp--preset--color--navy-deep), var(--wp--preset--color--navy));

		@media (width <= 781px) {
			inline-size: 100%;
			font-size: var(--wp--preset--font-size--small-alt);
			overflow-wrap: anywhere;
		}
	}

	&.is-style-footer-inner {
		display: flex;
		flex-direction: column;
		inline-size: min(100%, 940px);
		margin-block-start: var(--wp--preset--spacing--l);
		margin-block-end: 0;
		margin-inline: auto;
		color: var(--wp--preset--color--white);

		a {
			color: var(--wp--preset--color--white);
			font-weight: 400;
			transition-property: color;
			transition-duration: 0.3s;
			transition-timing-function: ease;

			&:is(:hover, :focus-visible) {
				color: var(--wp--preset--color--cyan);
			}
		}

		@media (width <= 781px) {
			inline-size: 100%;
		}
	}

	&.is-style-not-found {
		text-align: center;
	}

	&.is-style-slideshow {
		flex-shrink: 0;
		inline-size: 188px;
		margin-block-start: var(--wp--preset--spacing--xs);
		margin-block-end: 0;
		margin-inline: 0;
		padding: 0;

		@media (width <= 781px) {
			margin-inline: auto;
		}

		> div {
			position: relative;
			aspect-ratio: 188 / 170;
			overflow: hidden;
			background-color: var(--wp--preset--color--white);
		}

		img {
			position: absolute;
			inset-block-start: 0;
			inset-block-end: 0;
			inset-inline-start: 0;
			inset-inline-end: 0;
			inline-size: 100%;
			block-size: 100%;
			object-fit: cover;
			object-position: center top;
			opacity: 0;

			@media (prefers-reduced-motion: no-preference) {
				animation-name: var(--clinic-name);
				animation-duration: 10.88s;
				animation-timing-function: linear;
				animation-iteration-count: infinite;
			}

			&:first-child {
				opacity: 1;
			}

			&:nth-child(1) {
				--clinic-name: clinic-1;
			}

			&:nth-child(2) {
				--clinic-name: clinic-2;
			}

			&:nth-child(3) {
				--clinic-name: clinic-3;
			}

			&:nth-child(4) {
				--clinic-name: clinic-4;
			}

			&:nth-child(5) {
				--clinic-name: clinic-5;
			}
		}
	}

	&.is-style-concept,
	&.is-style-medical,
	&.is-style-doctor,
	&.is-style-access {
		margin-block-start: var(--wp--preset--spacing--xxl);
		margin-block-end: 0;
	}

	&.is-style-concept,
	&.is-style-medical {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;

		table {
			inline-size: 100%;
			border-collapse: collapse;
			font-size: var(--wp--preset--font-size--medium);

			th,
			td {
				padding: 5px;
			}

			thead tr {
				background-color: var(--wp--preset--color--panel);

				th {
					padding-block: 10px;
					padding-inline: 0;
					font-weight: 600;
				}
			}

			tbody tr {
				&:hover {
					background-color: var(--wp--preset--color--gray);
				}

				+ tr {
					border-block-start-width: 1px;
					border-block-start-style: solid;
					border-block-start-color: var(--wp--preset--color--gray);
				}
			}
		}
	}

	&.is-style-medical table tbody tr td:nth-child(2) {
		text-align: end;
	}

	&.is-style-concept ul {
		inline-size: 100%;
		list-style: none;
	}

	&.is-style-copy {
		inline-size: 100%;
	}

	&.is-style-doctor {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start;
		margin-block-start: var(--wp--preset--spacing--xxl);
		margin-block-end: 0;
		margin-inline: 0;

		@media (width <= 781px) {
			flex-direction: column;
			align-items: center;
		}
	}

	&.is-style-portrait {
		inline-size: 30%;

		img {
			inline-size: 100%;
		}

		@media (width <= 781px) {
			inline-size: 50%;
			margin-block-end: 10px;
		}
	}

	&.is-style-profile {
		inline-size: 70%;
		padding-inline-start: 20px;

		@media (width <= 781px) {
			inline-size: calc(100% - 28px);
			padding-inline-start: 0;
		}
	}

	&.is-style-access {
		display: block;

		#photo_map {
			td:first-child:not(:has(img[src*="way_arrow"])) {
				img {
					max-inline-size: 100%;
					block-size: auto;
				}

				@media (781px < width) {
					inline-size: 50%;
				}
			}

			td:has(img[src*="way_arrow"]) {
				text-align: center;

				img {
					inline-size: auto;
					max-inline-size: 100%;
					block-size: auto;
					margin-inline: auto;
				}
			}
		}

		img {
			@media (width <= 781px) {
				inline-size: 100%;
			}
		}

		@media (width <= 781px) {
			#photo_map tr {
				display: flex;
				flex-direction: column;

				td {
					inline-size: 100%;
					text-align: center;

					img {
						inline-size: 80%;
					}
				}
			}
		}
	}

	&:first-child {
		margin-block-start: 0;
	}
}

@media (width <= 781px) {
	.wp-block-group.is-style-medical table {
		thead tr th,
		tbody tr td {
			&:nth-child(1) {
				inline-size: 70%;
			}

			&:nth-child(2) {
				inline-size: 30%;
			}
		}
	}
}
