@charset "utf-8";

/*
Theme Name: 宇治徳洲会病院_2026
Description: 宇治徳洲会病院 Wordpressテーマ
Author: 宇治徳洲会病院
Version: 1.0.0
*/

/* CSS関数定義 */
:root {
    /* 色 */
    --color-dark-green: #006A3C;
    --color-light-green: #F1F5F2;
    --color-red: #FF0000;
	--color-yellow: #EDC837;
	--color-border-green: #BCD3C1;
	--color-border-gray: #dddddd;
    /* フォント */
    --font-main: "IBM Plex Sans JP", sans-serif;
	--font-color: #333333;
	--font-size: 16px;
    /* Google icons */
    --google-icons-family: "Material Symbols Outlined";
	--google-icons-weight: 300;
    /* コンテンツサイズ */
    --content-width: 1440px;
    --header-height: 104px;
    /* 装飾 */
    --border-radius: 4px;
	--box-shadow-green: 0 0 8px rgb(0 106 60 / 10%);
	--box-shadow-black: 0 0 8px rgb(0 0 0 / 25%);
}
@media screen and (max-width: 1440px) {
    :root {
        /* コンテンツサイズ */
        --content-width: 90%;
    }
}
@media screen and (max-width: 750px) {
    :root {
        /* フォント */
		--font-size: 14px;
        /* コンテンツサイズ */
		--header-height: 56px;
		/* 装飾 */
    	--border-radius: 2px;
		--box-shadow-green: 0 0 4px rgb(0 106 60 / 10%);
		--box-shadow-black: 0 0 4px rgb(0 0 0 / 25%);
    }
}

/* フォールバック用ローカルフォント */
@font-face {
	font-family: "Local Noto Sans JP";
	src: local("Noto Sans JP");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

/* サイト全体の基準 */
*{
	text-decoration: none;
	font-size: var(--font-size);
	scroll-padding-top: calc(var(--header-height) + 24px);
	box-sizing: border-box;
}
*::before, *::after {
	box-sizing: border-box;
}
body {
	color: var(--font-color);
	font-family: var(--font-main), "Local Noto Sans JP", Arial, Meiryo, sans-serif;
	line-height: 1;
	margin: 0;
	padding: 0;
	background-color: var(--color-light-green);
	/* フォントサイズ自動調節防止 */
	-webkit-text-size-adjust: none;
	-moz-text-size-adjust: none;
	text-size-adjust: none;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: 500;
}
img {
	max-width: 100%;
	height: auto;
}
video, .video-youtube {
	display: block;
	max-width: 100%;
	aspect-ratio: 16 / 9;
}
address {
	font-style: normal;
}
.material-symbols-outlined {
	vertical-align: middle; /* Google iconsの余白削除 */
}

/* 共通 */
main {
	display: block;
	width: 100%;
	padding-top: var(--header-height);
}

/* 共通_タブ_タブ一覧 */
.tab-area .tab {
	cursor: pointer;
}
.tab-area .tab.active {
	cursor: default;
}
/* 共通_タブ_コンテンツエリア */
.content-area .content {
	display: none;
}
.content-area .content.show {
	display: block;
}

/* 共通_見出し・本文デザイン */
article p {
	font-size: 17px;
	line-height: 2;
}
article h2 {
	display: block;
	width: 100%;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 27px;
	line-height: 1.2;
	background-color: var(--color-light-green);
	border-radius: 2px;
	border-left: 8px solid var(--color-dark-green);
	padding: 1.2rem 1rem 1rem 1rem;
	margin-bottom: 1.2rem;
}
article h3 {
	position: relative;
	display: block;
	width: 100%;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 24px;
	line-height: 1.2;
	margin-bottom: 1.2rem;
	border-bottom: 1px solid var(--color-dark-green);
	padding: 1.2rem 0.4rem 0.9rem 1.2rem;
}
article h3::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	display: block;
	width: 6px;
	height: 64%;
	border-radius: 100vw;
	background-color: var(--color-dark-green);
}
article h4 {
	display: block;
	width: 100%;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 23px;
	line-height: 1.2;
	border-bottom: 1px solid var(--color-border-green);
	padding-bottom: 0.6rem;
	margin-bottom: 1rem;
}
article h5 {
	display: block;
	width: 100%;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 22px;
	line-height: 1.2;
	margin-bottom: 0.6rem;
}
article h6 {
	display: block;
	width: 100%;
	font-weight: 600;
	font-size: 20px;
	line-height: 1.2;
	margin-bottom: 0.6rem;
}
article mark {
	font-style: normal;
	font-weight: 400;
	background: linear-gradient(transparent 40%, #fff321 40%);
}
article ul,
article ol {
	display: grid;
	gap: 0.8rem;
	width: 100%;
	border: 1px solid var(--color-border-green);
	border-radius: var(--border-radius);
	padding: 1.2rem 1.6rem 1.2rem 2.8rem;
}
article ul li,
article ol li {
	line-height: 1.7;
}
article blockquote {
	display: block;
	width: 100%;
	background-color: var(--color-light-green);
	border-radius: var(--border-radius);
	padding: 1.2rem 1.6rem;
}
article blockquote cite {
	display: block;
	text-align: right;
	color: var(--color-dark-green);
	font-size: 15px;
	margin-top: 0.8rem;
}
article pre {
	display: block;
	white-space: pre;
	max-width: 100%;
	min-width: 0;
	color: #fff;
	font-size: 16px;
	line-height: 1.7;
	background-color: #222;
	border-radius: var(--border-radius);
	padding: 1.2rem 1.6rem;
	overflow-x: auto;
	scroll-behavior: smooth;
}
@media screen and (max-width: 750px) {
	article p {
		font-size: 14px;
	}
	article h2 {
		font-size: 19px;
		border-left: 6px solid var(--color-dark-green);
		padding: 0.8rem 0.6rem 0.6rem 0.7rem;
		margin-bottom: 0.8rem;
	}
	article h3 {
		font-size: 17px;
		margin-bottom: 0.8rem;
		padding: 0.8rem 0.2rem 0.5rem 0.8rem;
	}
	article h3::before {
		width: 4px;
	}
	article h4 {
		font-size: 16px;
		padding-bottom: 0.4rem;
		margin-bottom: 0.8rem;
	}
	article h5 {
		font-size: 15px;
	}
	article h6 {
		font-size: 14px;
	}
	article ul,
	article ol {
		gap: 0.6rem;
		padding: 0.8rem 1.2rem 0.8rem 2rem;
	}
	article blockquote {
		padding: 0.8rem 1rem;
	}
	article blockquote cite {
		font-size: 13px;
		margin-top: 0.6rem;
	}
	article pre {
		font-size: 14px;
		padding: 0.8rem 1rem;
	}
}
/* 共通_見出し・本文デザイン_表 ※TablePressのCSSはプラグインオプションより設定 */
article table {
	width: 100%;
	color: var(--font-color);
	border-collapse: collapse;
	border: 2px solid var(--color-border-green);
}
article table th,
article table td {
	border: 1px solid var(--color-border-green);
	line-height: 1.7;
	padding: .8rem 1.2rem;
}
article table th {
	color: #006A3C;
	background-color: var(--color-light-green);
	text-align: center;
}
article table td {
	background-color: #fff;
}
@media screen and (max-width: 750px) {
	article table {
		font-size: 14px;
	}
	article table th,
	article table td {
		padding: 0.6rem 0.8rem;
	}
}
/* 共通_見出し・本文デザイン_タブ */
article .tab-area {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	justify-items: start;
	gap: 12px;
	width: 100%;
}
article .tab-area .tab {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 100%;
	min-height: 40px;
	height: 100%;
	color: #888;
	font-weight: 500;
	font-size: 15px;
	line-height: 1.2;
	border-radius: 2px;
	background-color: #f7f7f7;
	border: 1px solid var(--color-border-gray);
	padding: 0.6rem;
	transition: 0.3s;
}
article .tab-area .tab:hover {
	color: var(--color-dark-green);
	background-color: var(--color-light-green);
	border: 1px solid var(--color-dark-green);
}
article .tab-area .tab.active {
	color: #fff;
	font-weight: 600;
	background-color: var(--color-dark-green);
	border: 1px solid var(--color-dark-green);
}
article .content-area {
	margin-top: 40px;
}
@media screen and (max-width: 750px) {
	article .tab-area {
		grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
		gap: 8px;
	}
	article .tab-area .tab {
		min-height: 28px;
		font-size: 12px;
		padding: 0.4rem;
	}
	article .content-area {
		margin-top: 24px;
	}
}
/* 共通_見出し・本文デザイン_リンク一覧 */
.link-list,
.md-box {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
	justify-items: start;
	gap: 16px 24px;
	width: 100%;
}
.link-list > p,
.md-box > p {
	display: block;
	width: 100%;
	height: 100%;
}
.link-list > p > a,
.md-box > p > a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 64px;
	height: 100%;
	color: var(--font-color);
	font-weight: 500;
	line-height: 1.2;
	background-color: #fff;
	border: 1px solid var(--color-border-green);
	border-radius: var(--border-radius);
	transition: scale 0.3s;
	overflow: hidden;
	padding: 1rem calc(40px + 1.2rem) 1rem 1.2rem;
}
.link-list > p > a:hover,
.md-box > p > a:hover {
	scale: 0.95;
}
.link-list > p > a::after,
.md-box > p > a::after {
	content: "\e5c8";
	position: absolute;
	display: grid;
	place-content: center;
	top: 0;
	right: 0;
	width: 40px;
	height: 100%;
	color: #fff;
	font-family: var(--google-icons-family);
	font-weight: var(--google-icons-weight);
	font-size: 20px;
	background-color: var(--color-dark-green);
}
.link-list > p > a[href$=".pdf"]::after,
.md-box > p > a[href$=".pdf"]::after {
	content: "\e415";
}
@media screen and (max-width: 750px) {
	.link-list,
	.md-box {
		grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
		gap: 8px 12px;
	}
	.link-list > p > a,
	.md-box > p > a {
		min-height: 48px;
		padding: 0.8rem calc(32px + 0.8rem) 0.8rem 0.8rem;
	}
	.link-list > p > a:hover,
	.md-box > p > a:hover {
		scale: 1;
	}
	.link-list > p > a::after,
	.md-box > p > a::after {
		width: 32px;
		font-size: 16px;
	}
}
/* 共通_見出し・本文デザイン_アンカーリンク */
.anchor-link {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	justify-items: start;
	gap: 16px 24px;
	width: 100%;
}
.anchor-link > p {
	display: block;
	width: 100%;
	height: 100%;
}
.anchor-link > p > a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 40px;
	height: 100%;
	color: var(--font-color);
	font-weight: 500;
	font-size: 15px;
	line-height: 1.2;
	border-bottom: 1px solid var(--color-border-green);
	padding: 0.6rem 40px 0.6rem 4px;
	transition: 0.3s;
}
.anchor-link > p > a:hover {
	color: var(--color-dark-green);
}
.anchor-link > p > a::after {
	content: "\e313";
	position: absolute;
	display: block;
	top: 50%;
	right: 4px;
	transform: translateY(-50%);
	color: var(--color-dark-green);
	font-family: var(--google-icons-family);
	font-weight: var(--google-icons-weight);
	font-size: 22px;
	transition: 0.3s;
}
.anchor-link > p > a:hover::after {
	transform: translateY(calc(-50% + 4px));
}
@media screen and (max-width: 750px) {
	.anchor-link {
		grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
		gap: 6px 12px;
	}
	.anchor-link > p > a {
		min-height: 32px;
		font-size: 12px;
		padding: 0.4rem 24px 0.4rem 4px;
	}
	.anchor-link > p > a:hover {
		color: var(--font-color);
	}
	.anchor-link > p > a::after {
		right: 2px;
		font-size: 16px;
	}
	.anchor-link > p > a:hover::after {
		transform: translateY(-50%);
	}
}
/* 共通_見出し・本文デザイン_折り畳み要素 */
article details {
	display: block;
	width: 100%;
	background-color: #fff;
	overflow: hidden;
}
article details > summary {
	cursor: pointer;
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 64px;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.2;
	border: 1px solid var(--color-border-green);
	border-radius: var(--border-radius);
	padding: 1rem calc(1.2rem + 48px) 1rem 1.2rem;
	overflow: hidden;
}
article details > summary::after {
	content: "\e313";
	position: absolute;
	display: grid;
	place-content: center;
	top: 0;
	right: 0;
	width: 48px;
	height: 100%;
	color: #fff;
	font-family: var(--google-icons-family);
	font-weight: var(--google-icons-weight);
	font-size: 28px;
	background-color: var(--color-dark-green);
}
article details[open] > summary {
	border-radius: var(--border-radius) var(--border-radius) 0 0;
}
article details[open] > summary::after {
	content: "\e316";
}
article details .contents {
	font-size: 17px;
	line-height: 2;
	padding: 1.2rem 1.6rem;
	background-color: var(--color-light-green);
	border-radius: 0 0 var(--border-radius) var(--border-radius);
}
@media screen and (max-width: 750px) {
	article details > summary {
		min-height: 48px;
		font-size: 14px;
		padding: 0.8rem calc(0.8rem + 32px) 0.8rem 0.8rem;
	}
	article details > summary::after {
		width: 32px;
		font-size: 22px;
	}
	article details .contents {
		font-size: 14px;
		padding: 0.8rem 1rem;
	}
}
/* 共通_見出し・本文デザイン_インラインリンク */
.article-link,
.article-pdf,
.article-excel {
	text-decoration: underline;
}
.article-link::after,
.article-pdf::after,
.article-excel::after {
	content: "";
	font-family: var(--google-icons-family);
	font-weight: var(--google-icons-weight);
}
.article-pdf::after {
	content: "\e415";
	color: red;
	margin-left: 0.4rem;
}

/* ヘッダー */
header {
	position: fixed;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: var(--header-height);
    border-top: 4px solid var(--color-dark-green);
	background-color: #fff;
	box-shadow: 0 0 2px rgb(0 0 0 / 16%);
	z-index: 9999;
}
/* ヘッダー_ロゴ画像 */
.header-logo {
	position: absolute;
	display: block;
	top: 50%;
	left: 32px;
	transform: translateY(-50%);
	width: 216px;
}
.header-logo > img {
	display: block;
	width: 100%;
}
@media screen and (max-width: 750px) {
	.header-logo {
		left: 12px;
		width: 104px;
	}
}
/* ヘッダー_代表TEL・FAX */
.header-address {
    position: absolute;
    display: grid;
	gap: 12px 0;
    top: 50%;
    left: calc(32px + 216px + 40px);
    transform: translateY(calc(-50% + 2px));
    width: fit-content;
}
.header-address > p {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0 16px;
    font-size: 13px;
}
.header-address > p > span {
	color: var(--color-dark-green);
	font-weight: 500;
	font-size: 16px;
}
.header-address > p > a {
	color: var(--font-color);
	font-weight: 600;
	font-size: 20px;
}
@media screen and (max-width: 1400px) {
	.header-address {
		display: none;
	}
}
/* ヘッダー_予約センター・健診センターTEL */
.header-address-sub {
    position: absolute;
    display: flex;
	align-items: center;
	gap: 0 24px;
    top: 50%;
    left: 544px;
    transform: translateY(-50%);
    width: fit-content;
	height: 64%;
	border-left: 1px solid var(--font-color);
	padding-left: 32px;
}
.header-address-sub > div {
	display: grid;
	gap: 6px 0;
	width: fit-content;
	transform: translateY(1px);
}
.header-address-sub > div > p {
	display: block;
	color: var(--color-dark-green);
	font-weight: 500;
	font-size: 14px;
}
.header-address-sub > div > a {
	display: block;
	color: var(--font-color);
	font-weight: 600;
	font-size: 18px;
}
.header-address-sub > div > span {
	display: block;
	font-size: 12px;
}
@media screen and (max-width: 1840px) {
	#header-address-sub-02 {
		display: none;
	}
}
@media screen and (max-width: 1620px) {
	.header-address-sub {
		display: none;
	}
}
/* ヘッダー_各種リンク */
.header-link {
	position: absolute;
	display: grid;
	gap: 12px 0;
	top: 50%;
    right: calc(224px + 24px + 240px + 24px);
    transform: translateY(calc(-50% + 1px));
	width: fit-content;
}
.header-link-text {
	display: block;
	width: fit-content;
	white-space: nowrap;
	font-size: 14px;
}
.header-link-list {
    display: flex;
    flex-wrap: nowrap;
    gap: 16px;
    width: fit-content;
}
.header-link-list > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 144px;
    height: 32px;
    border-radius: 100vh;
    background-color: var(--color-dark-green);
}
.header-link-list > a > p {
	text-align: center;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    transform: translateY(1px);
}
@media screen and (max-width: 1100px) {
	.header-link {
		display: none;
	}
}
/* ヘッダー_Web診療予約ボタン */
.header-reservation-link {
	position: absolute;
	display: grid;
	place-content: center;
	gap: 8px;
	top: 50%;
    right: calc(224px + 24px);
    transform: translateY(-50%);
	width: 240px;
	height: 72px;
	color: var(--color-dark-green);
	border: 1px solid var(--color-dark-green);
	border-radius: var(--border-radius);
}
.header-reservation-link:hover {
	background-color: var(--color-light-green);
}
.header-reservation-link > p {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	gap: 0.8rem;
	font-weight: 600;
	font-size: 18px;
}
.header-reservation-link > p > img {
	display: block;
	width: 24px;
	transform: translateY(-2px);
}
.header-reservation-link > span {
	text-align: center;
	font-weight: 500;
	font-size: 13px;
}
@media screen and (max-width: 750px) {
	.header-reservation-link {
		display: none;
	}
}
/* ヘッダー_電話するボタン */
.header-tel-link {
	display: none;
}
@media screen and (max-width: 750px) {
	.header-tel-link {
		position: absolute;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0 4px;
		top: 50%;
		right: calc(96px + 8px);
		transform: translateY(-50%);
		width: 88px;
		height: 32px;
		background-color: var(--color-dark-green);
		border-radius: 4px;
	}
	.header-tel-link > img {
		display: block;
		width: 20px;
	}
	.header-tel-link > p {
		color: #fff;
		font-weight: 500;
		font-size: 12px;
	}
}
/* ヘッダー_ハンバーガーボタン */
.hamburger-button {
    cursor: pointer;
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    width: 224px;
    height: calc(var(--header-height) - 4px);
}
.hamburger-button:hover {
    background-color: var(--color-light-green);
}
.hamburger-button::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 64%;
    background-color: var(--font-color);
}
.hamburger-button::after {
    content: "MENU";
    position: absolute;
    white-space: nowrap;
    top: 50%;
    left: 112px;
    transform: translateY(-50%);
    color: var(--color-dark-green);
    font-weight: 600;
    font-size: 20px;
    letter-spacing: 0.04rem;
}
.hamburger-button-icon {
    position: absolute;
    display: block;
    top: 50%;
    left: 48px;
    transform: translateY(-50%);
    width: 40px;
    height: 24px;
}
.hamburger-button-icon > span {
    position: absolute;
    display: block;
    width: 100%;
    height: 3px;
    background-color: var(--color-dark-green);
    border-radius: 100vh;
    transition: all .5s;
}
.hamburger-button-icon > span:nth-of-type(1) {
    top: 0;
}
.hamburger-button-icon > span:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%);
}
.hamburger-button-icon > span:nth-of-type(3) {
    bottom: 0;
}
.hamburger-button.open:after {
    content: "閉じる";
}
.hamburger-button.open .hamburger-button-icon > span:nth-of-type(1) {
    transform: translateY(10.6px) rotate(-45deg);
}
.hamburger-button.open .hamburger-button-icon > span:nth-of-type(2) {
    opacity: 0;
}
.hamburger-button.open .hamburger-button-icon > span:nth-of-type(3) {
    transform: translateY(-10.6px) rotate(45deg);
}
@media screen and (max-width: 750px) {
	.hamburger-button {
		width: 96px;
	}
	.hamburger-button::after {
		left: 46px;
		font-size: 12px;
	}
	.hamburger-button-icon {
		left: 16px;
		width: 20px;
		height: 14px;
	}
	.hamburger-button-icon > span {
		height: 2px;
	}
	.hamburger-button.open .hamburger-button-icon > span:nth-of-type(1) {
		transform: translateY(6px) rotate(-45deg);
	}
	.hamburger-button.open .hamburger-button-icon > span:nth-of-type(3) {
		transform: translateY(-6px) rotate(45deg);
	}
}
/* ヘッダー_ハンバーガーメニュー */
.hamburger-menu {
	position: fixed;
	display: none;
	top: var(--header-height);
	left: 0;
	width: 100%;
	height: 100vh;
    background-color: var(--color-dark-green);
	padding-top: 40px;
	padding-left: calc((100% - var(--content-width)) / 2);
	padding-right: calc((100% - var(--content-width)) / 2);
	padding-bottom: 240px;
    overflow-y: auto;
    z-index: 9998;
}
.hamburger-menu.open {
    display: block;
}
.no-scroll {
    /* ハンバーガーメニュー展開時は背景スクロール禁止 */
    overflow: hidden;
    height: 100vh;
}
@media screen and (max-width: 750px) {
	.hamburger-menu {
		padding-top: 24px;
		padding-bottom: 160px;
	}
}
/* ヘッダー_ハンバーガーメニュー_検索 */
.searchform {
	position: relative;
	display: block;
	max-width: 100%;
	width: 400px;
	margin-left: auto;
	margin-right: 0;
}
.searchform > input {
	display: block;
	width: 100%;
	height: 40px;
	border: none;
	border-radius: 100vh;
	padding: 0 48px 0 1.2rem;
}
.searchform > button {
	cursor: pointer;
	position: absolute;
	display: grid;
	place-content: center;
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
	width: fit-content;
	color: var(--color-dark-green);
	font-size: 24px;
	border: none;
	background: rgba(255, 255, 255, 0);
}
@media screen and (max-width: 750px) {
	.searchform > input {
		height: 36px;
		padding: 0 40px 0 1rem;
	}
	.searchform > button {
		right: 4px;
	}
}
/* ヘッダー_ハンバーガーメニュー_ヘッダーナビゲーション */
.header-nav {
	display: block;
	width: 100%;
	margin-top: 56px;
}
.header-nav > ul {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
	justify-items: start;
	gap: 56px 48px;
	width: 100%;
}
.header-nav > ul > li {
	display: block;
	width: 100%;
}
.header-nav > ul > li > a {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 56px;
	width: 100%;
	color: #fff;
	font-weight: 600;
	font-size: 22px;
	border-bottom: 2px solid #fff;
	padding: 0.6rem 48px 0.6rem 20px;
}
.header-nav > ul > li > a::before {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 6px;
	height: 64%;
	background-color: #fff;
	border-radius: 100vw;
}
.header-nav > ul > li > a::after {
	content: "\e5c8";
	position: absolute;
	display: block;
	top: 50%;
	right: 4px;
	transform: translateY(-50%);
	font-family: var(--google-icons-family);
	font-weight: var(--google-icons-weight);
	font-size: 20px;
}
.header-nav > ul > li > ul {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	justify-items: start;
	gap: 12px;
	width: 100%;
	margin-top: 16px;
}
.header-nav > ul > li > ul > li {
	display: block;
	width: 100%;
	height: 100%;
}
.header-nav > ul > li > ul > li > a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 48px;
	height: 100%;
	color: #fff;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.2;
	border-bottom: 1px dotted var(--color-border-green);
	padding: 0.6rem 4px 0.6rem 4px;
}
@media screen and (max-width: 750px) {
	.header-nav {
		margin-top: 16px;
	}
	.header-nav > ul {
		grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
		gap: 24px;
	}
	.header-nav > ul > li > a {
		min-height: 40px;
		font-size: 16px;
		border-bottom: 1px solid #fff;
		padding: 0.6rem 40px 0.6rem 12px;
	}
	.header-nav > ul > li > a::before {
		width: 4px;
	}
	.header-nav > ul > li > a::after {
		font-size: 18px;
	}
	.header-nav > ul > li > ul {
		grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
		gap: 0 12px;
		margin-top: 0.2rem;
	}
	.header-nav > ul > li > ul > li > a {
		min-height: 40px;
		font-size: 13px;
		padding: 0.7rem 4px 0.6rem 4px;
	}
}

/* フッター */
footer {
	display: block;
	width: 100%;
	background-color: #fff;
}
.footer-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	width: 100%;
	padding: 40px calc((100% - var(--content-width)) / 2);
	background-color: var(--color-dark-green);
}
@media screen and (max-width: 1200px) {
	.footer-layout {
		grid-template-columns: 1fr;
	}
}
@media screen and (max-width: 750px) {
	.footer-layout {
		padding: 24px calc((100% - var(--content-width)) / 2);
	}
}
/* フッター_住所・電話番号 */
#footer-address {
	display: block;
	width: 100%;
	background-color: #fff;
	border-radius: var(--border-radius) 0 0 var(--border-radius);
	padding: 40px;
}
.footer-address-logo {
	display: block;
	max-width: 80%;
	width: 240px;
	margin: 0 auto;
}
.footer-address-table {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid var(--color-border-green);
	margin-top: 32px;
}
.footer-address-table th,
.footer-address-table td {
	line-height: 1.4;
	border-bottom: 1px solid var(--color-border-green);
	padding: 1rem 0.8rem;
}
.footer-address-table th {
	text-align: left;
	min-width: 144px;
	color: var(--color-dark-green);
	font-weight: 600;
}
.footer-address-table a {
	text-decoration: underline;
	color: var(--font-color);
}
.footer-address-table span {
	font-size: 14px;
}
.footer-address-link {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	justify-items: start;
	gap: 16px;
	width: 100%;
	margin-top: 32px;
}
.footer-address-link > a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	width: 100%;
	min-height: 56px;
	background-color: var(--color-dark-green);
	border-radius: var(--border-radius);
}
.footer-address-link > a > img {
	display: block;
	width: 28px;
}
.footer-address-link > a > p {
	color: #fff;
	font-weight: 600;
	font-size: 17px;
}
@media screen and (max-width: 1200px) {
	#footer-address {
		border-radius: var(--border-radius) var(--border-radius) 0 0;
	}
	.footer-address-link {
		grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	}
}
@media screen and (max-width: 750px) {
	#footer-address {
		padding: 24px 16px;
	}
	.footer-address-logo {
		width: 160px;
	}
	.footer-address-table {
		margin-top: 24px;
	}
	.footer-address-table th,
	.footer-address-table td {
		font-size: 14px;
		padding: 0.8rem 0.4rem;
	}
	.footer-address-table th {
		min-width: 104px;
	}
	.footer-address-table span {
		font-size: 12px;
	}
	.footer-address-link {
		grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
		gap: 8px;
		margin-top: 24px;
	}
	.footer-address-link > a {
		min-height: 48px;
	}
	.footer-address-link > a > img {
		width: 24px;
	}
	.footer-address-link > a > p {
		font-size: 14px;
	}
}
/* フッター_Googleマップ */
#footer-map {
	position: relative;
	display: block;
	width: 100%;
	min-height: 320px;
	border-radius: 0 var(--border-radius) var(--border-radius) 0;
	background-color: #ccc;
	overflow: hidden;
}
#footer-map > iframe {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	inset: -150px;
	width: calc(100% + 300px);
	height: calc(100% + 300px);
}
@media screen and (max-width: 1200px) {
	#footer-map {
		border-radius: 0 0 var(--border-radius) var(--border-radius);
	}
}
/* フッター_宇治徳洲会病院 関連ホームページ */
#footer-related-link {
	display: block;
	width: var(--content-width);
	margin: 0 auto;
	margin-top: 40px;
}
.footer-related-link-title {
	display: block;
	width: 100%;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 20px;
	border-bottom: 1px solid var(--color-dark-green);
	padding-bottom: 0.8rem;
	margin-bottom: 16px;
}
.footer-related-link-list {
	display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	justify-items: start;
	gap: 16px 24px;
	width: 100%;
}
.footer-related-link-list > a {
	display: flex;
	align-items: center;
	width: 100%;
	background-color: #fff;
	border: 1px solid #ccc;
	transition: 0.3s;
}
.footer-related-link-list > a:hover {
	filter: brightness(0.8);
}
.footer-related-link-list > a > img {
	display: block;
	width: 100%;
}
@media screen and (max-width: 750px) {
	#footer-related-link {
		margin-top: 24px;
	}
	.footer-related-link-title {
		font-size: 16px;
		padding-bottom: 0.6rem;
		margin-bottom: 12px;
	}
	.footer-related-link-list {
		grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
		gap: 12px;
	}
	.footer-related-link-list > a:hover {
		filter: brightness(1);
	}
}
/* フッター_外部リンク */
#footer-external-link {
	display: block;
	width: var(--content-width);
	margin: 0 auto;
	margin-top: 40px;
	margin-bottom: 40px;
}
.footer-external-link-title {
	display: block;
	width: 100%;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 20px;
	border-bottom: 1px solid var(--color-dark-green);
	padding-bottom: 0.8rem;
	margin-bottom: 16px;
}
.footer-external-link-list {
	display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	justify-items: start;
	gap: 16px 24px;
	width: 100%;
}
.footer-external-link-list > a {
	display: flex;
	align-items: center;
	width: 100%;
	background-color: #fff;
	border: 1px solid #ccc;
	transition: 0.3s;
}
.footer-external-link-list > a:hover {
	filter: brightness(0.8);
}
.footer-external-link-list > a > img {
	display: block;
	width: 100%;
}
@media screen and (max-width: 750px) {
	#footer-external-link {
		margin-top: 24px;
		margin-bottom: 24px;
	}
	.footer-external-link-title {
		font-size: 16px;
		padding-bottom: 0.6rem;
		margin-bottom: 12px;
	}
	.footer-external-link-list {
		grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
		gap: 12px;
	}
	.footer-external-link-list > a:hover {
		filter: brightness(1);
	}
}
/* フッター_サイトマップ開閉ボタン */
.sitemap-button {
	cursor: pointer;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	width: 100%;
	height: 56px;
	color: #fff;
	background-color: var(--color-dark-green);
}
.sitemap-button::before {
	content: "\e5d2";
	font-family: var(--google-icons-family);
	font-weight: var(--google-icons-weight);
	font-size: 24px;
}
.sitemap-button.open::before {
	content: "\e5cd";
}
.sitemap-button::after {
	content: "サイトマップを見る";
	font-weight: 500;
	font-size: 14px;
	transform: translateY(1px);
}
.sitemap-button.open::after {
	content: "サイトマップを閉じる";
}
@media screen and (max-width: 750px) {
	.sitemap-button {
		height: 40px;
	}
	.sitemap-button::before {
		font-size: 18px;
	}
	.sitemap-button::after {
		font-size: 12px;
	}
}
/* フッター_サイトマップ */
.sitemap {
	display: none;
	width: 100%;
	padding: 32px calc((100% - var(--content-width)) / 2);
	background-color: #fff;
}
.sitemap > ul {
	display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	justify-items: start;
	gap: 32px 40px;
	width: 100%;
}
.sitemap > ul > li {
	display: block;
	width: 100%;
}
.sitemap > ul > li > a {
	position: relative;
	display: block;
	width: 100%;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 18px;
	line-height: 1.2;
	border-bottom: 1px solid var(--color-border-green);
	padding: 0.8rem 0 0.6rem 14px;
}
.sitemap > ul > li > a::before {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 4px;
	height: 64%;
	background-color: var(--color-dark-green);
	border-radius: 100vw;
}
.sitemap > ul > li > ul {
	display: grid;
	width: 100%;
	margin-top: 0.2rem;
}
.sitemap > ul > li > ul > li {
	display: block;
	width: 100%;
	border-bottom: 1px solid var(--color-border-gray);
}
.sitemap > ul > li > ul > li:last-child {
	border-bottom: none;
}
.sitemap > ul > li > ul > li > a {
	display: flex;
	align-items: center;
	color: var(--font-color);
	font-weight: 500;
	font-size: 15px;
	line-height: 1.2;
	padding: 0.7rem 0.4rem;
}
.sitemap > ul > li > ul > li > a:hover {
	text-decoration: underline;
}
.sitemap > ul > li > ul > li > ul {
	display: grid;
	gap: 0.8rem;
	width: 100%;
	padding-left: 0.8rem;
	margin-bottom: 0.8rem;
}
.sitemap > ul > li > ul > li > ul > li > a {
	color: var(--font-color);
	font-size: 14px;
	line-height: 1.2;
}
.sitemap > ul > li > ul > li > ul > li > a::before {
	content: "-";
	margin-right: 0.4rem;
}
.sitemap > ul > li > ul > li > ul > li > a:hover {
	text-decoration: underline;
}
@media screen and (max-width: 750px) {
	.sitemap {
		padding: 16px calc((100% - var(--content-width)) / 2);
	}
	.sitemap > ul {
		grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
		gap: 16px 24px;
	}
	.sitemap > ul > li > a {
		font-size: 16px;
		padding: 0.8rem 0 0.6rem 12px;
	}
	.sitemap > ul > li > ul > li > a {
		font-size: 14px;
		padding: 0.6rem 0.4rem;
	}
	.sitemap > ul > li > ul > li > ul {
		gap: 0.6rem;
	}
	.sitemap > ul > li > ul > li > ul > li > a {
		font-size: 13px;
	}
}
/* フッター_免責事項・著作権表記 */
.copyright {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	padding: 24px calc((100% - var(--content-width)) / 2);
	background-color: var(--color-light-green);
}
.copyright-link {
	display: block;
	width: fit-content;
}
.copyright-link > ul {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 24px;
	width: fit-content;
}
.copyright-link > ul > li > a {
	color: var(--font-color);
	text-decoration: underline;
	font-size: 14px;
}
.copyright > small {
	font-size: 13px;
}
@media screen and (max-width: 750px) {
	.copyright-link > ul {
		gap: 0.8rem 16px;
	}
	.copyright-link > ul > li > a {
		font-size: 13px;
	}
	.copyright > small {
		font-size: 11px;
		margin-top: 16px;
	}
}
/* フッター_下固定メニュー */
.fixed-menu {
	display: none;		
}
@media screen and (max-width: 750px) {
	.fixed-menu {
		position: fixed;
		display: flex;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 40px;
		background-color: var(--color-dark-green);
		z-index: 9997;
		transition: 0.3s;
	}
	.fixed-menu > a {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		width: 100%;
		color: #fff;
		font-weight: 500;
		font-size: 13px;
	}
	.fixed-menu > a::after {
		content: "";
		position: absolute;
		display: block;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		width: 1px;
		height: 64%;
		background-color: #fff;
	}
	.fixed-menu > a:first-child::after {
		display: none;
	}
}

/* TOPページ_公式SNS */
#top-sns {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	background-color: #f7f7f7;
	padding: 14px 5%;
}
.top-sns-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px 48px;
}
.top-sns-list > a {
	display: grid;
	grid-template-columns: 20px 1fr;
	align-items: center;
	gap: 0 0.4rem;
}
.top-sns-list > a > img {
	display: block;
	width: 100%;
}
.top-sns-list > a > p {
	white-space: nowrap;
	color: var(--font-color);
	font-weight: 500;
	font-size: 14px;
	transform: translateY(1px);
}
@media screen and (max-width: 1440px) {
	.top-sns-list {
		gap: 8px 24px;
	}
}
@media screen and (max-width: 750px) {
	#top-sns {
		justify-content: start;
		overflow-x: auto;
		scroll-behavior: smooth;
		padding: 10px 5%;
	}
	.top-sns-list {
		flex-wrap: nowrap;
		gap: 0 16px;
	}
	.top-sns-list > a {
		display: grid;
		grid-template-columns: 20px 1fr;
		align-items: center;
		gap: 0 0.4rem;
	}
	.top-sns-list > a {
		grid-template-columns: 18px 1fr;
		gap: 0 0.4rem;
	}
	.top-sns-list > a > p {
		font-size: 12px;
	}
}

/* TOPページ_ファーストビュー */
#top-fv {
    display: block;
    width: 100%;
    background-color: #ccc;
}
/* TOPページ_ファーストビュー_画像スライダー */
#top-fv-slider {
	display: block;
	width: 100%;
}
#top-fv-slider .swiper-slide {
	display: block;
	max-width: 80%;
	width: 1000px;
	aspect-ratio: 16 / 9;
	transition: 0.3s;
}
#top-fv-slider .swiper-slide:hover {
	filter: brightness(85%);
}
#top-fv-slider .swiper-slide > img {
	display: block;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
#top-fv-slider .swiper-button-prev,
#top-fv-slider .swiper-button-next {
	display: grid;
	place-content: center;
	width: 40px;
	height: 96px;
	background-color: var(--color-dark-green);
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow-black);
	transform: translateY(-40px);
}
#top-fv-slider .swiper-button-prev {
	left: 16px;
}
#top-fv-slider .swiper-button-next {
	right: 16px;
}
#top-fv-slider .swiper-button-prev::after,
#top-fv-slider .swiper-button-next::after {
	content: "";
	color: #fff;
	font-family: var(--google-icons-family);
	font-weight: var(--google-icons-weight);
	font-size: 40px;
}
#top-fv-slider .swiper-button-prev::after {
	content: "\e314";
}
#top-fv-slider .swiper-button-next::after {
	content: "\e315";
	transform: translateX(1px);
}
#top-fv-slider .swiper-pagination {
	position: static;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 40px;
	background-color: #fff;
	overflow: hidden;
}
#top-fv-slider .swiper-pagination-bullet-active {
	background-color: var(--color-dark-green);
}
@media screen and (max-width: 750px) {
	#top-fv-slider .swiper-slide {
		max-width: 100%;
		width: 100%;
	}
	#top-fv-slider .swiper-button-prev,
	#top-fv-slider .swiper-button-next {
		display: none;
	}
	#top-fv-slider .swiper-pagination {
		height: 28px;
	}
}

/* TOPページ_ナビゲーション */
#top-nav {
    display: block;
    width: 100%;
    background-color: #fff;
	border-top: 1px solid #ddd;
	padding: 16px 0;
}
.top-nav-list {
	display: flex;
	width: calc(100% - 40px * 2);
	margin: 0 auto;
}
.top-nav-list > a {
	display: grid;
	place-items: center;
	gap: 0.4rem 0;
	width: 100%;
	border-right: 1px solid #ccc;
}
.top-nav-list > a:first-child {
	border-left: 1px solid #ccc;
}
.top-nav-list > a > img {
	display: block;
	max-width: 100%;
	width: 48px;
	margin: 0 auto;
	transition: 0.3s;
}
.top-nav-list > a:hover > img {
	transform: translateY(-4px);
}
.top-nav-list > a > p {
	display: block;
	text-align: center;
	width: 100%;
	color: var(--font-color);
	font-weight: 500;
	line-height: 1.2;
}
@media screen and (max-width: 1440px) {
	#top-nav {
		padding: 0;
	}
	.top-nav-list {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		width: 100%;
	}
	.top-nav-list > a {
		display: grid;
		grid-template-columns: 40px 1fr;
		place-items: normal;
		align-items: center;
		gap: 0 0.8rem;
		border-right: 1px solid #ddd;
		border-bottom: 1px solid #ddd;
		padding: 1rem 1.2rem;
	}
	.top-nav-list > a:first-child {
		border-left: none;
	}
	.top-nav-list > a:nth-child(5n) {
		border-right: none;
	}
	.top-nav-list > a > p {
		text-align: left;
		font-size: 18px;
		transform: translateY(1px);
	}
}
@media screen and (max-width: 1000px) {
	.top-nav-list {
		grid-template-columns: repeat(3, 1fr);
	}
	.top-nav-list > a {
		grid-template-columns: 32px 1fr;
		padding: 0.9rem 1.1rem;
	}
	.top-nav-list > a:nth-child(5n) {
		border-right: 1px solid #ddd;
	}
	.top-nav-list > a:nth-child(3n) {
		border-right: none;
	}
	.top-nav-list > a > p {
		font-size: 17px;
	}
}
@media screen and (max-width: 750px) {
	.top-nav-list {
		grid-template-columns: repeat(2, 1fr);
	}
	.top-nav-list > a {
		grid-template-columns: 24px 1fr;
		gap: 0 0.6rem;
		padding: 12px;
	}
	.top-nav-list > a:nth-child(3n) {
		border-right: 1px solid #ddd;
	}
	.top-nav-list > a:nth-child(2n) {
		border-right: none;
	}
	.top-nav-list > a:hover > img {
		transform: translateY(0);
	}
	.top-nav-list > a > p {
		font-size: 14px;
		transform: translateY(1px);
	}
}

/* TOPページ_お知らせ */
#top-news {
    display: grid;
	grid-template-columns: repeat(auto-fill, minmax(600px, 1fr));
	align-items: stretch;
	justify-items: start;
	gap: 40px;
    width: var(--content-width);
	margin-inline: auto;
	margin-top: 48px;
}
#top-news > div,
#top-news > section {
	width: 100%;
}
@media screen and (max-width: 1440px) {
	#top-news {
		grid-template-columns: 1fr;
	}
}
@media screen and (max-width: 750px) {
	#top-news {
		gap: 32px;
		margin-top: 24px;
	}
}

/* TOPページ_重要なお知らせ */
#top-important {
	display: block;
	width: 100%;
}
/* TOPページ_重要なお知らせ_見出し */
.top-important-title {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0 0.6rem;
	width: 100%;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 24px;
	margin-bottom: 16px;
}
.top-important-title > img {
	display: block;
	width: 40px;
	transform: translateY(-2px);
}
@media screen and (max-width: 750px) {
	.top-important-title {
		gap: 0 0.4rem;
		font-size: 18px;
		margin-bottom: 0.8rem;
	}
	.top-important-title > img {
		width: 28px;
	}
}
/* TOPページ_重要なお知らせ_一覧 */
.top-important-list {
	display: grid;
	gap: 0.6rem;
	width: 100%;
	background-color: var(--color-red);
	border-radius: var(--border-radius);
	padding: 24px 32px;
}
.top-important-list > a {
	display: flex;
	flex-wrap: nowrap;
	gap: 0 32px;
	color: #fff;
	font-size: 17px;
	line-height: 1.4;
}
.top-important-list > a > h3 {
	text-decoration: underline;
	font-weight: 600;
}
@media screen and (max-width: 750px) {
	.top-important-list {
		padding: 16px;
	}
	.top-important-list > a {
		display: block;
		font-size: 14px;
	}
	.top-important-list > a > time {
		display: block;
		font-size: 13px;
		margin-bottom: 0.2rem;
	}
}

/* TOPページ_所在地・電話番号 */
#top-address {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-areas:
    "a a"
    "b c"
    "d e";
	gap: 12px 32px;
	background-color: #fff;
	border-radius: var(--border-radius);
	padding: 24px 32px;
	margin-top: 24px;
}
#top-address > div:nth-child(1) {
	grid-area: a;
	margin-bottom: 0.2rem;
}
#top-address > div:nth-child(2) {
	grid-area: b;
}
#top-address > div:nth-child(3) {
	grid-area: c;
}
#top-address > div:nth-child(4) {
	grid-area: d;
}
#top-address > div:nth-child(5) {
	grid-area: e;
}
#top-address > div > p:nth-child(1) {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0 16px;
	line-height: 1.2;
}
#top-address > div > p:nth-child(1) > span {
	color: var(--color-dark-green);
	font-weight: 500;
}
#top-address > div > p:nth-child(1) > a {
	text-decoration: underline;
	color: var(--font-color);
	font-weight: 600;
	font-size: 20px;
}
#top-address > div > p:nth-child(2) {
	display: block;
	width: 100%;
	color: var(--color-red);
	font-size: 14px;
	line-height: 1.2;
	margin-top: 0.4rem;
}
@media screen and (max-width: 1440px) {
	#top-address {
		display: flex;
		flex-wrap: wrap;
		gap: 16px 32px;
	}
	#top-address > div:nth-child(1) {
		width: 100%;
	}
}
@media screen and (max-width: 750px) {
	#top-address {
		display: block;
		padding: 4px 16px;
		margin-top: 16px;
	}
	#top-address > div {
		display: block;
		width: 100%;
		border-top: 1px solid var(--color-border-gray);
		padding: 0.8rem 0;
	}
	#top-address > div:first-child {
		border-top: none;
	}
	#top-address > div:nth-child(1) {
		margin-bottom: 0;
	}
	#top-address > div > p:nth-child(1) {
		display: grid;
		grid-template-columns: 88px 1fr;
		align-items: start;
		gap: 0 16px;
	}
	#top-address > div > p:nth-child(1) > span {
		font-weight: 600;
	}
	#top-address > div > p:nth-child(1) > a {
		font-size: 16px;
	}
	#top-address > div > p:nth-child(2) {
		font-size: 13px;
		padding-left: calc(88px + 16px);
		margin-top: 0.4rem;
	}
}

/* TOPページ_新着お知らせ */
#top-latest-news {
	display: flex;
	flex-direction: column;
	width: 100%;
}
@media screen and (max-width: 1440px) {
	#top-latest-news {
		display: block;
	}
}
/* TOPページ_新着お知らせ_見出し */
.top-news-title {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0 0.6rem;
	width: 100%;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 24px;
	margin-bottom: 16px;
}
.top-news-title > img {
	display: block;
	width: 40px;
	transform: translateY(-2px);
}
@media screen and (max-width: 750px) {
	.top-news-title {
		gap: 0 0.4rem;
		font-size: 18px;
		margin-bottom: 0.8rem;
	}
	.top-news-title > img {
		width: 28px;
	}
}
/* TOPページ_新着お知らせ_タブ */
.top-news-tab {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	gap: 0 8px;
	width: 100%;
}
.top-news-tab .tab {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 100%;
	height: 36px;
	color: var(--color-dark-green);
	font-size: 14px;
	font-weight: 500;
	background-color: #CAE2D0;
	border-radius: var(--border-radius) var(--border-radius) 0 0;
	overflow: hidden;
	transition: 0.3s;
}
.top-news-tab .tab.active,
.top-news-tab .tab:hover {
	color: #fff;
	font-weight: 600;
	background-color: var(--color-dark-green);
}
@media screen and (max-width: 1440px) {
	.top-news-tab {
		gap: 0 12px;
	}
	.top-news-tab .tab {
		height: 40px;
		font-size: 16px;
	}
}
@media screen and (max-width: 750px) {
	.top-news-tab {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
		justify-items: start;
		gap: 6px;
	}
	.top-news-tab .tab {
		height: 28px;
		font-size: 12px;
		border-radius: var(--border-radius);
	}
}
/* TOPページ_新着お知らせ_一覧 */
.top-news-list {
	display: block;
	width: 100%;
	min-height: 400px;
	flex: 1 1 400px;
	background-color: #fff;
	border-radius: 0 0 var(--border-radius) var(--border-radius);
	padding: 8px 32px;
	overflow-y: auto;
}
.top-news-list-nav {
	display: block;
	width: 100%;
}
.top-news-list-nav > a {
	display: block;
	align-items: center;
	width: 100%;
	border-bottom: 1px solid var(--color-border-green);
	padding: 1rem 0;
}
.top-news-list-nav > a:last-child {
	border-bottom: none;
}
.top-news-list-nav > a:hover {
	background-color: var(--color-light-green);
}
.top-news-list-nav > a > div {
	display: flex;
	flex-wrap: nowrap;
	width: 100%;
	color: var(--color-dark-green);
	font-size: 14px;
	margin-bottom: 0.6rem;
}
.top-news-list-nav > a > div > time::after {
	content: "|";
	display: inline-block;
	margin-left: 0.3rem;
	margin-right: 0.6rem;
	transform: translateY(-1px);
}
.top-news-list-nav > a > h3 {
	color: var(--font-color);
	font-weight: 500;
	line-height: 1.4;
}
.top-news-list-nav > a > h3 .newmark {
	display: inline-block;
	color: #fff;
	font-weight: 600;
	font-size: 12px;
	background-color: var(--color-red);
	padding: 1px 8px;
	border-radius: 100vh;
	margin-left: 0.6rem;
	transform: translateY(-2px);
}
.top-news-list .not-applicable {
	display: block;
	width: 100%;
	line-height: 1.2;
	padding: 24px 0;
}
@media screen and (max-width: 1440px) {
	.top-news-list {
		flex: none;
		min-height: auto;
		max-height: 400px;
	}
}
@media screen and (max-width: 750px) {
	.top-news-list {
		max-height: 320px;
		padding: 2px 16px;
		margin-top: 12px;
	}
	.top-news-list-nav > a {
		padding: 0.9rem 0 0.7rem 0;
	}
	.top-news-list-nav > a:hover {
		background-color: #fff;
	}
	.top-news-list-nav > a > div {
		font-size: 12px;
		margin-bottom: 0.5rem;
	}
	.top-news-list-nav > a > h3 .newmark {
		font-size: 10px;
		margin-left: 0.4rem;
	}
	.top-news-list .not-applicable {
		padding: 16px 0;
	}
}

/* TOPページ_宇治徳洲会病院の特徴 */
#top-feature {
	display: block;
	width: var(--content-width);
	margin: 0 auto;
	margin-top: 56px;
}
@media screen and (max-width: 750px) {
	#top-feature {
		margin-top: 32px;
	}
}
/* TOPページ_宇治徳洲会病院の特徴_見出し */
.top-feature-title {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0 0.6rem;
	width: 100%;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 28px;
	margin-bottom: 24px;
}
.top-feature-title > img {
	display: block;
	width: 40px;
	transform: translateY(-1px);
}
@media screen and (max-width: 750px) {
	.top-feature-title {
		gap: 0 0.4rem;
		font-size: 18px;
		margin-bottom: 0.8rem;
	}
	.top-feature-title > img {
		width: 28px;
	}
}
/* TOPページ_宇治徳洲会病院の特徴_一覧 */
.top-feature-list {
	display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	align-items: stretch;
	justify-items: start;
	gap: 24px;
	width: 100%;
}
.top-feature-list > a {
	position: relative;
	display: grid;
	grid-template-rows: auto auto 1fr auto;
	grid-row-gap: 0;
	width: 100%;
	height: 100%;
	border-radius: var(--border-radius);
	background-color: #fff;
	box-shadow: var(--box-shadow-green);
	padding-bottom: 24px;
	overflow: hidden;
	transition: scale 0.3s;
}
.top-feature-list > a:hover {
	scale: 0.95;
}
.top-feature-list > a > img {
	display: block;
	object-fit: cover;
	width: 100%;
	aspect-ratio: 16 / 9;
}
.top-feature-list > a > h3 {
	display: block;
	text-align: center;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 24px;
	line-height: 1.2;
	margin-top: 24px;
	padding: 0 24px;
}
.top-feature-list > a > p {
	display: block;
	width: 100%;
	color: var(--font-color);
	line-height: 1.7;
	margin-top: 12px;
	padding: 0 24px;
}
.top-feature-list > a > div {
	display: grid;
	place-content: center;
	max-width: 100%;
	width: 200px;
	height: 40px;
	margin: 0 auto;
	color: #fff;
	font-weight: 500;
	font-size: 13px;
	background-color: var(--color-dark-green);
	border-radius: 100vh;
	margin-top: 24px;
}
@media screen and (max-width: 750px) {
	.top-feature-list {
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
		gap: 16px;
	}
	.top-feature-list > a {
		grid-template-rows: auto auto 1fr;
		padding-bottom: 20px;
	}
	.top-feature-list > a:hover {
		scale: 1;
	}
	.top-feature-list > a > h3 {
		font-size: 20px;
		margin-top: 20px;
		padding: 0 20px;
	}
	.top-feature-list > a > p {
		font-size: 13px;
		margin-top: 8px;
		padding: 0 20px;
	}
	.top-feature-list > a > div {
		display: none;
	}
}

/* TOPページ_診療科・センター */
#top-department {
	display: block;
    width: var(--content-width);
    margin: 0 auto;
	margin-top: 56px;
	margin-bottom: 64px;
}
@media screen and (max-width: 750px) {
	#top-department {
		margin-top: 32px;
		margin-bottom: 32px;
	}
}
/* TOPページ_診療科・センター_見出し */
.top-department-title {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0 0.6rem;
	width: 100%;
	margin: 0 auto;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 24px;
	margin-bottom: 20px;
}
.top-department-title > img {
	display: block;
	width: 36px;
	transform: translateY(-2px);
}
@media screen and (max-width: 750px) {
	.top-department-title {
		gap: 0 0.4rem;
		font-size: 18px;
		margin-bottom: 0.8rem;
	}
	.top-department-title > img {
		width: 28px;
	}
}
/* TOPページ_診療科・センター_タブ */
.top-department-tab {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	gap: 0 12px;
	width: 100%;
}
.top-department-tab .tab {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 100%;
	height: 40px;
	color: var(--color-dark-green);
	font-weight: 500;
	background-color: #CAE2D0;
	border-radius: var(--border-radius) var(--border-radius) 0 0;
	overflow: hidden;
	transition: 0.3s;
}
.top-department-tab .tab:hover,
.top-department-tab .tab.active {
	color: #fff;
	font-weight: 600;
	background-color: var(--color-dark-green);
}
@media screen and (max-width: 750px) {
	.top-department-tab {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
		justify-items: start;
		gap: 6px;
	}
	.top-department-tab .tab {
		height: 28px;
		font-size: 13px;
		border-radius: var(--border-radius);
	}
}
/* TOPページ_診療科・センター_一覧 */
.top-department-list {
	display: block;
	width: 100%;
	background-color: #fff;
	border-radius: 0 0 var(--border-radius) var(--border-radius);
	padding: 16px 32px 24px 32px;
}
.top-department-list-nav {
	display: block;
	width: 100%;
}
.top-department-list-nav > ul {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	justify-items: start;
	gap: 8px 24px;
	width: 100%;
}
.top-department-list-nav > ul > li {
	display: block;
	width: 100%;
	height: 100%;
}
.top-department-list-nav > ul > li > a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 48px;
	height: 100%;
	color: var(--font-color);
	font-weight: 500;
	line-height: 1.2;
	border-bottom: 1px solid var(--color-border-green);
	padding: 0.8rem 48px 0.8rem 8px;
	transition: 0.3s;
}
.top-department-list-nav > ul > li > a:hover {
	color: var(--color-dark-green);
	background-color: var(--color-light-green);
}
.top-department-list-nav > ul > li > a::after {
	content: "\e5c8";
	position: absolute;
	display: block;
	top: 50%;
	right: 4px;
	transform: translateY(-50%);
	color: var(--color-dark-green);
	font-family: var(--google-icons-family);
	font-weight: var(--google-icons-weight);
	font-size: 16px;
	transition: 0.3s;
}
.top-department-list-nav > ul > li > a:hover::after {
	transform: translate(4px, -50%);
}
@media screen and (max-width: 750px) {
	.top-department-list {
		border-radius: var(--border-radius);
		padding: 8px 16px 16px 16px;
		margin-top: 12px;
	}
	.top-department-list-nav > ul {
		grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
		gap: 4px 12px;
	}
	.top-department-list-nav > ul > li > a {
		min-height: 40px;
		font-size: 13px;
		border-bottom: 1px solid var(--color-border-green);
		padding: 0.6rem 24px 0.6rem 4px;
	}
	.top-department-list-nav > ul > li > a::after {
		right: 4px;
		font-size: 14px;
	}
}

/* TOPページ_トピックス */
#top-topics {
    display: block;
    width: 100%;
    padding: 80px 0;
    background-color: var(--color-dark-green);
}
@media screen and (max-width: 750px) {
	#top-topics {
		padding: 32px 0;
	}
}
/* TOPページ_トピックス_見出し */
.top-topics-title {
	display: block;
	text-align: center;
	width: var(--content-width);
	margin: 0 auto;
	color: #fff;
	font-weight: 600;
	font-size: 36px;
	margin-bottom: 40px;
}
@media screen and (max-width: 750px) {
	.top-topics-title {
		font-size: 22px;
		margin-bottom: 20px;
	}
}
/* TOPページ_トピックス_一覧 */
.top-topics-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	align-items: stretch;
	justify-items: start;
	gap: 24px;
	width: var(--content-width);
	margin: 0 auto;
}
.top-topics-list > a {
	position: relative;
	display: grid;
	grid-template-rows: auto auto 1fr;
	width: 100%;
	height: 100%;
	color: var(--font-color);
	background-color: #fff;
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow-black);
	padding-bottom: 20px;
	overflow: hidden;
	transition: scale 0.3s;
}
.top-topics-list > a:hover {
	scale: 0.95;
}
.top-topics-list-img {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
.top-topics-list-img > img {
	display: block;
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: scale 0.3s;
}
.top-topics-list > a > time {
	display: block;
	width: 100%;
	color: var(--color-dark-green);
	font-size: 15px;
	margin-top: 20px;
	padding: 0 20px;
}
.top-topics-list > a > h3 {
	display: block;
	width: 100%;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.4;
	margin-top: 8px;
	padding: 0 20px;
}
@media screen and (max-width: 750px) {
	.top-topics-list {
		grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
		gap: 12px;
	}
	.top-topics-list > a {
		padding-bottom: 12px;
	}
	.top-topics-list > a:hover {
		scale: 1;
	}
	.top-topics-list > a > time {
		font-size: 12px;
		margin-top: 12px;
		padding: 0 12px;
	}
	.top-topics-list > a > h3 {
		font-size: 14px;
		margin-top: 0.4rem;
		padding: 0 12px;
	}
}

/* TOPページ_各種ご案内 */
#top-info {
	display: block;
	width: var(--content-width);
	margin-inline: auto;
	margin-top: 64px;
}
@media screen and (max-width: 750px) {
	#top-info {
		margin-top: 32px;
	}
}
/* TOPページ_各種ご案内_見出し */
.top-info-title {
	display: block;
	text-align: center;
	width: 100%;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 36px;
	margin-bottom: 40px;
}
@media screen and (max-width: 750px) {
	.top-info-title {
		font-size: 24px;
		margin-bottom: 24px;
	}
}
/* TOPページ_各種ご案内_リンク一覧_大 */
.top-info-list-big {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
	align-items: stretch;
	justify-items: start;
	gap: 24px;
	width: 100%;
}
.top-info-list-big-child {
	display: grid;
	grid-template-rows: auto 1fr;
	width: 100%;
	height: 100%;
	background-color: #fff;
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow-green);
	overflow: hidden;
}
.top-info-list-big-child > img {
	display: block;
	object-fit: cover;
	width: 100%;
	aspect-ratio: 4 / 1;
}
.top-info-list-big-child > div {
	display: block;
	width: 100%;
	padding: 28px 40px;
}
.top-info-list-big-child > div > h3 {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	width: 100%;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 26px;
}
.top-info-list-big-child > div > h3 > span {
	display: grid;
	place-content: center;
	width: 36px;
	aspect-ratio: 1 / 1;
	color: #fff;
	font-size: 24px;
	background-color: var(--color-dark-green);
	border-radius: var(--border-radius);
	transform: translateY(-1px);
}
.top-info-list-big-child > div > nav {
	display: block;
	width: 100%;
	margin-top: 16px;
}
.top-info-list-big-child > div > nav > ul {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	justify-items: start;
	gap: 8px 16px;
}
.top-info-list-big-child > div > nav > ul > li {
	display: block;
	width: 100%;
	height: 100%;
}
.top-info-list-big-child > div > nav > ul > li > a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 40px;
	height: 100%;
	color: var(--font-color);
	font-weight: 500;
	line-height: 1.2;
	border-bottom: 1px solid var(--color-border-green);
	padding: 0.8rem 32px 0.8rem 8px;
}
.top-info-list-big-child > div > nav > ul > li > a:hover {
	background-color: #f7f7f7;
}
.top-info-list-big-child > div > nav > ul > li > a::after {
	content: "\e5c8";
	position: absolute;
	display: block;
	top: 50%;
	right: 4px;
	transform: translateY(-50%);
	color: var(--color-dark-green);
	font-family: var(--google-icons-family);
	font-weight: var(--google-icons-weight);
	font-size: 16px;
}
@media screen and (max-width: 1440px) {
	.top-info-list-big-child > div {
		padding: 28px 32px;
	}
}
@media screen and (max-width: 750px) {
	.top-info-list-big {
		grid-template-columns: repeat(auto-fit, minmax(256px, 1fr));
		gap: 16px;
	}
	.top-info-list-big-child > div {
		padding: 20px;
	}
	.top-info-list-big-child > div > h3 {
		justify-content: center;
		gap: 0.6rem;
		font-size: 20px;
	}
	.top-info-list-big-child > div > h3 > span {
		width: 28px;
		font-size: 20px;
	}
	.top-info-list-big-child > div > nav {
		margin-top: 12px;
	}
	.top-info-list-big-child > div > nav > ul {
		grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
		gap: 8px 16px;
	}
	.top-info-list-big-child > div > nav > ul > li > a {
		min-height: 32px;
		padding: 0.6rem 32px 0.6rem 4px;
	}
	.top-info-list-big-child > div > nav > ul > li > a::after {
		font-size: 14px;
	}
}
/* TOPページ_各種ご案内_リンク一覧（その他） */
.top-info-link-other {
	display: block;
	width: 100%;
	margin-top: 32px;
}
.top-info-link-other > ul {
	display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	justify-items: start;
	gap: 24px;
	width: 100%;
}
.top-info-link-other > ul > li {
	display: block;
	width: 100%;
	height: 100%;
}
.top-info-link-other > ul > li > a {
	position: relative;
	display: grid;
	place-content: center;
	text-align: center;
	width: 100%;
	min-height: 96px;
	height: 100%;
	color: #fff;
	font-weight: 500;
	font-size: 20px;
	line-height: 1.2;
	background-color: var(--color-dark-green);
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow-green);
	padding: 16px 24px;
	transition: scale 0.3s;
}
.top-info-link-other > ul > li > a:hover {
	scale: 0.95;
}
@media screen and (max-width: 750px) {
	.top-info-link-other {
		margin-top: 24px;
	}
	.top-info-link-other > ul {
		grid-template-columns: repeat(auto-fill, minmax(136px, 1fr));
		gap: 12px;
	}
	.top-info-link-other > ul > li > a {
		min-height: 64px;
		font-size: 14px;
		padding: 12px 16px;
	}
	.top-info-link-other > ul > li > a:hover {
		scale: 1;
	}
}

/* TOPページ_各種ダウンロード */
#top-download {
    display: block;
    width: var(--content-width);
	margin-inline: auto;
	margin-top: 48px;
	margin-bottom: 80px;
}
@media screen and (max-width: 750px) {
	#top-download {
		margin-top: 24px;
		margin-bottom: 32px;
	}
}
/* TOPページ_各種ダウンロード_見出し */
.top-download-title {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0 0.4rem;
	width: 100%;
	margin-inline: auto;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 24px;
	margin-bottom: 24px;
}
.top-download-title > img {
	display: block;
	width: 36px;
}
@media screen and (max-width: 750px) {
	.top-download-title {
		gap: 0 0.2rem;
		font-size: 18px;
		margin-bottom: 12px;
	}
	.top-download-title > img {
		width: 28px;
	}
}
/* TOPページ_各種ダウンロード_一覧 */
.top-download-list {
    display: block;
    width: 100%;
}
.top-download-list > ul {
	display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	justify-items: start;
	gap: 16px 24px;
    width: 100%;
}
.top-download-list > ul > li {
	display: block;
	width: 100%;
	height: 100%;
}
.top-download-list > ul > li > a {
	position: relative;
    display: flex;
	align-items: center;
    width: 100%;
    min-height: 72px;
	height: 100%;
	color: var(--font-color);
	font-weight: 500;
	font-size: 18px;
	line-height: 1.2;
    background-color: #fff;
    border-radius: var(--border-radius);
	box-shadow: var(--box-shadow-green);
	padding: 0.8rem calc(48px + 24px) 0.8rem 20px;
	transition: scale 0.3s;
}
.top-download-list > ul > li > a:hover {
	scale: 0.95;
}
.top-download-list > ul > li > a::after {
	content: "\f090";
	position: absolute;
	display: grid;
	place-content: center;
	top: 0;
	right: 0;
	width: 48px;
	height: 100%;
	color: #fff;
	font-family: var(--google-icons-family);
	font-weight: var(--google-icons-weight);
	font-size: 28px;
	background-color: var(--color-dark-green);
	border-radius: 0 var(--border-radius) var(--border-radius) 0;
}
@media screen and (max-width: 750px) {
	.top-download-list > ul {
		grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
		gap: 12px 16px;
	}
	.top-download-list > ul > li > a {
		min-height: 48px;
		font-size: 15px;
		padding: 0.8rem calc(40px + 0.8rem) 0.8rem 0.8rem;
	}
	.top-download-list > ul > li > a:hover {
		scale: 1;
	}
	.top-download-list > ul > li > a::after {
		width: 40px;
		font-size: 24px;
	}
}

/* TOPページ_設備・医療機器 */
#top-facility {
	display: block;
	width: 100%;
	background-color: var(--color-dark-green);
	padding: 64px 0;
}
@media screen and (max-width: 750px) {
	#top-facility {
		padding: 32px 0 24px 0;
	}
}
/* TOPページ_設備・医療機器_見出し */
.top-facility-title {
	display: block;
	text-align: center;
	width: var(--content-width);
	margin: 0 auto;
	color: #fff;
	font-weight: 600;
	font-size: 32px;
	margin-bottom: 32px;
}
@media screen and (max-width: 750px) {
	.top-facility-title {
		font-size: 22px;
		margin-bottom: 16px;
	}
}
/* TOPページ_設備・医療機器_一覧スライダー */
#top-facility-slider {
	display: block;
	width: 100%;
}
#top-facility-slider .swiper-slide {
	position: relative;
	display: block;
	max-width: 80%;
	width: 560px;
	aspect-ratio: 16 / 9;
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow-black);
	overflow: hidden;
}
#top-facility-slider .swiper-slide > img {
	display: block;
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: scale 0.3s;
}
#top-facility-slider .swiper-slide:hover > img {
	scale: 1.1;
}
#top-facility-slider .swiper-slide > p {
	position: absolute;
	display: flex;
	align-items: end;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	color: #fff;
	font-weight: 500;
	font-size: 20px;
	line-height: 1.4;
	text-shadow: 0 0 4px rgb(0 0 0 / 50%);
	background: linear-gradient(to bottom, rgb(0 0 0 / 0), rgb(0 0 0 / 30%));
	padding: 16px 24px;
}
#top-facility-slider .swiper-button-prev,
#top-facility-slider .swiper-button-next {
	display: grid;
	place-content: center;
	width: 40px;
	height: 96px;
	background-color: #fff;
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow-black);
	transform: translateY(-40px);
}
#top-facility-slider .swiper-button-prev {
	left: 16px;
}
#top-facility-slider .swiper-button-next {
	right: 16px;
}
#top-facility-slider .swiper-button-prev::after,
#top-facility-slider .swiper-button-next::after {
	content: "";
	color: var(--color-dark-green);
	font-family: var(--google-icons-family);
	font-weight: var(--google-icons-weight);
	font-size: 40px;
}
#top-facility-slider .swiper-button-prev::after {
	content: "\e314";
}
#top-facility-slider .swiper-button-next::after {
	content: "\e315";
	transform: translateX(1px);
}
#top-facility-slider .swiper-pagination {
	position: static;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: fit-content;
	margin-top: 32px;
	overflow: hidden;
}
#top-facility-slider .swiper-pagination-bullet-active {
	background-color: #fff;
}
@media screen and (max-width: 750px) {
	#top-facility-slider .swiper-slide:hover > img {
		scale: 1;
	}
	#top-facility-slider .swiper-slide > p {
		font-size: 15px;
		padding: 12px 16px;
	}
	#top-facility-slider .swiper-button-prev,
	#top-facility-slider .swiper-button-next {
		display: none;
	}
	#top-facility-slider .swiper-pagination {
		margin-top: 16px;
	}
}

/* TOPページ_採用情報 */
#top-recruit {
	display: block;
	width: var(--content-width);
	margin: 0 auto;
	margin-top: 64px;
	margin-bottom: 80px;
}
@media screen and (max-width: 750px) {
	#top-recruit {
		margin-top: 32px;
		margin-bottom: 32px;
	}
}
/* TOPページ_採用情報_見出し */
.top-recruit-title {
	display: block;
	text-align: center;
	width: 100%;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 40px;
	margin-bottom: 24px;
}
@media screen and (max-width: 750px) {
	.top-recruit-title {
		font-size: 26px;
		margin-bottom: 16px;
	}
}
/* TOPページ_採用情報_説明 */
.top-recruit-text {
	display: block;
	text-align: center;
	width: 100%;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.7;
}
@media screen and (max-width: 750px) {
	.top-recruit-text {
		text-align: left;
		font-size: 14px;
	}
}
/* TOPページ_採用情報_一覧_大 */
.top-recruit-list-big {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	align-items: stretch;
	justify-items: start;
	gap: 24px;
	width: 100%;
	margin-top: 32px;
}
.top-recruit-list-big > a {
	display: grid;
	grid-template-rows: auto 1fr;
	width: 100%;
	height: 100%;
	border-radius: var(--border-radius);
	background-color: #fff;
	box-shadow: var(--box-shadow-green);
	overflow: hidden;
	transition: scale 0.3s;
}
.top-recruit-list-big > a:hover {
	scale: 0.95;
}
.top-recruit-list-big > a > img {
	display: block;
	object-fit: cover;
	width: 100%;
	aspect-ratio: 16 / 9;
}
.top-recruit-list-big > a > p {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 100%;
	color: var(--font-color);
	font-weight: 500;
	font-size: 20px;
	line-height: 1.2;
	padding: 1.2rem;
}
@media screen and (max-width: 750px) {
	.top-recruit-list-big {
		grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
		gap: 12px;
		margin-top: 16px;
	}
	.top-recruit-list-big > a {
		grid-template-columns: 1fr 1.618fr;
		grid-template-rows: none;
		min-height: 80px;
		height: auto;
	}
	.top-recruit-list-big > a:hover {
		scale: 1;
	}
	.top-recruit-list-big > a > img {
		height: 100%;
		aspect-ratio: auto;
	}
	.top-recruit-list-big > a > p {
		justify-content: start;
		text-align: left;
		height: 100%;
		font-size: 16px;
		padding: 0.8rem 1.2rem;
	}
}
/* TOPページ_採用情報_一覧_小 */
.top-recruit-list-small {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	justify-items: start;
	gap: 16px 24px;
	width: 100%;
	margin-top: 32px;
}
.top-recruit-list-small > a {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 72px;
	height: 100%;
	color: var(--font-color);
	font-weight: 500;
	font-size: 18px;
	line-height: 1.2;
	background-color: #fff;
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow-green);
	padding: 0.8rem calc(40px + 20px) 0.8rem 20px;
	transition: scale 0.3s;
}
.top-recruit-list-small > a:hover {
	scale: 0.95;
}
.top-recruit-list-small > a::after {
	content: "\e5c8";
	position: absolute;
	display: grid;
	place-content: center;
	top: 0;
	right: 0;
	width: 40px;
	height: 100%;
	color: #fff;
	font-family: var(--google-icons-family);
	font-weight: var(--google-icons-weight);
	font-size: 20px;
	background-color: var(--color-dark-green);
	border-radius: 0 var(--border-radius) var(--border-radius) 0;
}
@media screen and (max-width: 750px) {
	.top-recruit-list-small {
		grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
		gap: 12px 16px;
		margin-top: 16px;
	}
	.top-recruit-list-small > a {
		min-height: 48px;
		font-size: 15px;
		padding: 0.8rem calc(32px + 0.8rem) 0.8rem 0.8rem;
	}
	.top-recruit-list-small > a:hover {
		scale: 1;
	}
	.top-recruit-list-small > a::after {
		width: 32px;
		font-size: 16px;
	}
}

/* パンくずリスト */
.breadcrumb {
	display: block;
	width: 100%;
	background-color: #f7f7f7;
	padding: 12px 5%;
	overflow-x: auto;
	scroll-behavior: smooth;
}
.breadcrumb > ul {
	display: flex;
	flex-wrap: nowrap;
	width: 100%;
}
.breadcrumb > ul > li {
	white-space: nowrap;
	font-size: 14px;
}
.breadcrumb > ul > li::after {
	content: ">";
	margin-left: 0.4rem;
	margin-right: 0.4rem;
}
.breadcrumb > ul > li:last-child {
	padding-right: 5%;
}
.breadcrumb > ul > li:last-child:after {
	display: none;
}
.breadcrumb > ul > li > a {
	color: var(--font-color);
	text-decoration: underline;
}
@media screen and (max-width: 1440px) {
	.breadcrumb > ul {
		width: var(--content-width);
	}
}
@media screen and (max-width: 750px) {
	.breadcrumb {
		padding: 10px 5%;
	}
	.breadcrumb > ul > li {
		font-size: 12px;
	}
}

/* サイドバー_共通 */
aside {
	display: block;
	width: 100%;
	background-color: #fff;
	padding: 40px 24px;
	border-left: 1px solid var(--color-border-gray);
}
aside > section {
	margin-top: 48px;
}
aside > section:first-child {
	margin-top: 0;
}
@media screen and (max-width: 1440px) {
	aside {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 64px 40px;
		padding: 48px 5%;
		border-top: 1px solid var(--color-border-gray);
		border-left: none;
	}
	aside > section {
		margin-top: 0;
	}
}
@media screen and (max-width: 750px) {
	aside {
		grid-template-columns: 1fr;
		gap: 32px;
		padding: 32px 5%;
	}
}
/* サイドバー_関連ページ */
.sidebar-related {
	display: block;
	width: 100%;
}
.sidebar-related-title {
	display: block;
	width: 100%;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 17px;
	margin-bottom: 1.2rem;
}
.sidebar-related-list,
.sidebar-related-list > ul {
	display: block;
	width: 100%;
}
.sidebar-related-list > ul > li {
	display: block;
	width: 100%;
	border-bottom: 1px solid var(--color-border-gray);
}
.sidebar-related-list > ul > li:first-child {
	border-top: 1px solid var(--color-border-gray);
}
.sidebar-related-list > ul > li > a {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 48px;
	color: var(--font-color);
	font-weight: 500;
	font-size: 15px;
	line-height: 1.2;
	padding: 0.8rem 4px;
}
.sidebar-related-list > ul > li > a:hover {
	background-color: #f7f7f7;
}
.sidebar-related-list > ul > li > ul {
	display: block;
	width: 100%;
}
.sidebar-related-list > ul > li > ul > li {
	display: block;
	width: 100%;
	border-top: 1px dotted var(--color-border-gray);
}
.sidebar-related-list > ul > li > ul > li > a {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 40px;
	color: var(--font-color);
	font-size: 14px;
	line-height: 1.2;
	padding: 0.6rem 4px 0.6rem 12px;
}
.sidebar-related-list > ul > li > ul > li > a:hover {
	background-color: #f7f7f7;
}
@media screen and (max-width: 750px) {
	.sidebar-related-title {
		font-size: 16px;
		margin-bottom: 1rem;
	}
	.sidebar-related-list > ul > li > a {
		min-height: 40px;
		font-size: 14px;
	}
	.sidebar-related-list > ul > li > ul > li > a {
		min-height: 32px;
		font-size: 13px;
	}
}
/* サイドバー_よく見られているページ */
.sidebar-popular {
	display: block;
	width: 100%;
}
.sidebar-popular-title {
	display: block;
	width: 100%;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 17px;
	margin-bottom: 1.2rem;
}
.sidebar-popular-list,
.sidebar-popular-list > ul {
	display: block;
	width: 100%;
}
.sidebar-popular-list > ul > li {
	display: block;
	width: 100%;
	border-bottom: 1px solid var(--color-border-gray);
}
.sidebar-popular-list > ul > li:first-child {
	border-top: 1px solid var(--color-border-gray);
}
.sidebar-popular-list > ul > li > a {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 48px;
	color: var(--font-color);
	font-weight: 500;
	font-size: 15px;
	line-height: 1.2;
	padding: 0.8rem 4px;
}
.sidebar-popular-list > ul > li > a:hover {
	background-color: #f7f7f7;
}
@media screen and (max-width: 750px) {
	.sidebar-popular-title {
		font-size: 16px;
		margin-bottom: 1rem;
	}
	.sidebar-popular-list > ul > li > a {
		min-height: 40px;
		font-size: 14px;
	}
}
/* サイドバー_新着お知らせ */
.sidebar-news {
	display: block;
	width: 100%;
}
.sidebar-news-title {
	display: block;
	width: 100%;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 17px;
	margin-bottom: 1.2rem;
}
.sidebar-news-list {
	display: block;
	width: 100%;
}
.sidebar-news-list > a {
	display: block;
	width: 100%;
	border-bottom: 1px solid var(--color-border-gray);
	padding: 1rem 4px;
}
.sidebar-news-list > a:first-child {
	border-top: 1px solid var(--color-border-gray);
}
.sidebar-news-list > a:hover {
	background-color: #f7f7f7;
}
.sidebar-news-list > a > div {
	display: flex;
	align-items: center;
	color: var(--color-dark-green);
	font-size: 13px;
}
.sidebar-news-list > a > div > time::after {
	content: "|";
	display: inline-block;
	margin-left: 0.2rem;
	margin-right: 0.4rem;
	transform: translateY(-1px);
}
.sidebar-news-list > a > h3 {
	display: block;
	width: 100%;
	color: var(--font-color);
	font-weight: 500;
	font-size: 15px;
	line-height: 1.4;
	margin-top: 0.4rem;
}
@media screen and (max-width: 750px) {
	.sidebar-news-title {
		font-size: 16px;
		margin-bottom: 1rem;
	}
	.sidebar-news-list > a {
		padding: 0.8rem 4px;
	}
	.sidebar-news-list > a > div {
		font-size: 12px;
	}
	.sidebar-news-list > a > h3 {
		font-size: 14px;
	}
}

/* 固定ページ・記事ページ_共通_ページタイトル */
.page-title {
	position: relative;
	display: block;
	width: 100%;
	padding: 64px 0;
	background-color: var(--color-dark-green);
	overflow: hidden;
}
.page-title-bg {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.page-title-bg > img {
	display: block;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.page-title-bg::after {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgb(0 106 60 / 95%);
	z-index: 2;
}
.page-title > h1 {
	position: relative;
	display: block;
	text-align: center;
	width: calc(100% - 5% * 2);
	margin-inline: auto;
	color: #fff;
	font-weight: 500;
	font-size: 36px;
	line-height: 1.2;
	transform: translateY(1px);
	z-index: 3;
}
@media screen and (max-width: 750px) {
	.page-title {
		padding: 32px 0;
	}
	.page-title > h1 {
		font-size: 22px;
	}
}
/* 固定ページ・記事ページ_共通_コンテンツエリア */
.page-layout {
	display: grid;
	grid-template-columns: 1fr 320px;
	width: 100%;
}
@media screen and (max-width: 1440px) {
	.page-layout {
		grid-template-columns: 1fr;
	}
}
/* 固定ページ・記事ページ_共通_本文 */
.article {
	display: block;
	min-width: 0;
	width: 100%;
	padding: 40px 80px 64px 5vw;
	background-color: #fff;
}
@media screen and (max-width: 1440px) {
	.article {
		padding: 40px calc((100% - var(--content-width)) / 2);
	}
}
@media screen and (max-width: 750px) {
	.article {
		padding: 24px calc((100% - var(--content-width)) / 2);
	}
}

/* 記事ページ_ 記事タイトル */
.single-title {
	display: block;
	width: 100%;
	border-bottom: 1px solid var(--color-border-gray);
	padding-top: 16px;
	padding-bottom: 32px;
	margin-bottom: 40px;
}
.single-title > h1 {
	font-size: 32px;
	line-height: 1.4;
}
.single-title > time {
	display: block;
	width: 100%;
	color: var(--color-dark-green);
	margin-top: 16px;
}
@media screen and (max-width: 750px) {
	.single-title {
		padding-top: 0;
		padding-bottom: 1.2rem;
		margin-bottom: 1.2rem;
	}
	.single-title > h1 {
		font-size: 20px;
	}
	.single-title > time {
		margin-top: 0.8rem;
	}
}

/* 一覧ページ_関連ページ一覧 */
.page-intro-list {
	display: block;
	width: 100%;
	padding: 64px 0;
}
.page-intro-list > nav {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	justify-items: start;
	gap: 24px;
	width: var(--content-width);
	margin-inline: auto;
}
.page-intro-list > nav > a {
	display: block;
	width: 100%;
	background-color: #fff;
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow-green);
	overflow: hidden;
	transition: 0.3s;
}
.page-intro-list > nav > a:hover {
	scale: 0.95;
}
.page-intro-list-img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
.page-intro-list-img > img {
	display: block;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.page-intro-list > nav > a > h3 {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	color: var(--font-color);
	font-weight: 500;
	font-size: 18px;
	line-height: 1.2;
	padding: 1.2rem;
}
@media screen and (max-width: 750px) {
	.page-intro-list {
		padding: 24px 0;
	}
	.page-intro-list > nav {
		grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
		gap: 12px;
	}
	.page-intro-list > nav > a:hover {
		scale: 1;
	}
	.page-intro-list > nav > a > h3 {
		font-size: 15px;
		padding: 0.8rem;
	}
}

/* 検索結果ページ_検索キーワード表示 */
.search-keyword {
	display: block;
	width: 100%;
	background-color: #fff;
	padding: 0.9rem 0 0.8rem 0;
}
.search-keyword > p {
	display: block;
	width: var(--content-width);
	margin-inline: auto;
	line-height: 1.2;
}
@media screen and (max-width: 750px) {
	.search-keyword {
		padding: 0.7rem 0 0.6rem 0;
	}
	.search-keyword > p {
		font-size: 13px;
	}
}
/* 検索結果ページ_検索結果一覧 */
.search-list {
	display: block;
	width: 100%;
	padding: 48px 0 64px 0;
}
.search-list > ul {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(560px, 1fr));
	justify-items: start;
	gap: 24px;
	list-style: none;
	width: var(--content-width);
	margin: 0 auto;
}
.search-list > ul > li {
	display: block;
	width: 100%;
	height: 100%;
}
.search-list > ul > li > a {
	position: relative;
	display: block;
	width: 100%;
	min-height: 120px;
	height: 100%;
	background-color: #fff;
	border-radius: var(--border-radius);
	box-shadow: var(--box-shadow-green);
	padding: 24px calc(40px + 32px) 24px 32px;
	overflow: hidden;
	transition: scale 0.3s;
}
.search-list > ul > li > a:hover {
	scale: 0.95;
}
.search-list > ul > li > a::after {
	content: "\e5c8";
	position: absolute;
	display: grid;
	place-content: center;
	top: 0;
	right: 0;
	width: 40px;
	height: 100%;
	color: #fff;
	font-family: var(--google-icons-family);
	font-weight: var(--google-icons-weight);
	font-size: 20px;
	background-color: var(--color-dark-green);
	transition: 0.3s;
}
.search-list > ul > li > a > h2 {
	display: block;
	width: 100%;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 20px;
	line-height: 1.2;
	border-bottom: 1px solid var(--color-border-green);
	padding-bottom: 0.6rem;
}
.search-list > ul > li > a .excerpt {
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
	line-clamp: 2;
    overflow: hidden;
	width: 100%;
	color: var(--font-color);
	font-size: 15px;
	line-height: 1.7;
	margin-top: 0.8rem;
}
.not-applicable {
	display: block;
	width: var(--content-width);
	margin-inline: auto;
	line-height: 1.7;
}
@media screen and (max-width: 750px) {
	.search-list {
		padding: 24px 0;
	}
	.search-list > ul {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.search-list > ul > li > a {
		min-height: 80px;
		padding: 16px calc(24px + 16px) 16px 16px;
	}
	.search-list > ul > li > a::after {
		width: 24px;
		font-size: 14px;
	}
	.search-list > ul > li > a > h2 {
		font-size: 16px;
		padding-bottom: 0.4rem;
	}
	.search-list > ul > li > a .excerpt {
		font-size: 12px;
		line-height: 1.4;
		margin-top: 0.8rem;
	}
}

/* 404ページ */
.layout-404 {
	display: grid;
	place-content: center;
	width: var(--content-width);
	min-height: calc(100svh - var(--header-height));
	padding: 80px 0;
	margin: 0 auto;
}
.layout-404 > h1 {
	display: block;
	text-align: center;
	color: var(--color-dark-green);
	font-weight: 600;
	font-size: 28px;
	line-height: 1.4;
}
.layout-404 > h1 br {
	display: none;
}
.layout-404 > p {
	display: block;
	text-align: center;
	margin: 0 auto;
	line-height: 2;
	margin-top: 24px;
}
.layout-404 > img {
	display: block;
	width: 240px;
	margin: 0 auto;
	margin-top: 48px;
}
.back-top {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	max-width: 100%;
	width: 240px;
	height: 48px;
	margin: 0 auto;
	color: #fff;
	font-weight: 500;
	font-size: 14px;
	background-color: var(--color-dark-green);
	border-radius: 100vh;
	margin-top: 48px;
	transition: 0.3s;
}
@media screen and (max-width: 750px) {
	.layout-404 {
		padding: 64px 0;
	}
	.layout-404 > h1 {
		font-size: 22px;
	}
	.layout-404 > h1 br {
		display: block;
	}
	.layout-404 > p {
		width: 92%;
		font-size: 13px;
		margin-top: 16px;
	}
	.layout-404 > img {
		width: 184px;
		margin-top: 24px;
	}
	.back-top {
		width: 200px;
		height: 40px;
		font-size: 12px;
		margin-top: 32px;
	}
}
