/*
 *
 * TOPページ
 * LAST UPDATE : 2024/
 *
 */

/* ----------------------------------------------

 * header_slider

---------------------------------------------- */
#header_slider {
	width: 100%;
}

#header_slider p {
	position: relative !important;
	top: 50% !important;
	left: 50% !important;

	transform: translateY(-50%) translateX(-50%) !important;

	color: #fff !important;

	font-weight: 500 !important;
	line-height: 1.6 !important;
	text-shadow: 2px 2px 8px #595959 !important;
	writing-mode: vertical-rl !important;
}

#header_slider .swiper-slide p {
	opacity: 0 !important;
	transition: opacity 0.3s ease-in-out !important;
}

#header_slider .swiper-slide-active p {
	opacity: 1 !important;
}

.swiper-slide img {
	width: 100%;
	display: block;
}

.swiper-button-next,
.swiper-button-prev {
	height: 50px !important;
	width: 50px !important;	
}

.swiper-button-prev::after,
.swiper-button-next::after {
	content: "" !important;
	height: 50px;
	width: 50px;
	margin: auto;
	background-image: url(../img/slide_arrow.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.swiper-button-next::after {
	transform: scale(-1, 1);
}

/* モバイル */
@media not screen and (min-width: 1280px) {
	#header_slider {
		height: 80vh;
	}

	#header_slider p {
		font-size: 1.25em !important;
	}
}

/* パソコン */
@media print,
screen and (min-width : 1280px) {
	#header_slider {
		height: 100vh;
	}

	#header_slider p {
		font-size: 2.188em !important;
	}
}



/* ----------------------------------------------

 * NEWS

---------------------------------------------- */

#news {
	position: relative;

	background-color: #fff;

	z-index: 100;
}

#news h2 {
	position: relative;

	left: 50%;
	display: inline-block;

	color: #ffffff;
	font-weight: bold;
	text-align: center;

	background: #80bdc0;

	transform: translateX(-50%);
}

#news h2::before,
#news h2::after {
	position: absolute;
	top: 0;
	width: 0px;
	height: 0px;
	border-color: #80bdc0 transparent;
	border-style: solid;
	content: '';
}

#news h2::before {
	left: -14px;
	border-width: 30px 0px 30px 15px;
}

#news h2::after {
	right: -14px;
	border-width: 30px 15px 30px 0px;
}

#news div {
	display: flex;
	justify-content: center;
	flex-direction: column;

	height: 100%;
}

#news h2 .en {
	display: block;
	font-size: 1.563em;
}

#news h2 .ja {
	font-size: 1.063em;
	font-weight: normal;
}

#news h2 .ja::before {
	content: "-";
	padding-right: 0.5em;
}

#news h2 .ja::after {
	content: "-";
	padding-left: 0.5em;
}

#news ul li time {
	color: var(--main_color);
	font-weight: bold;
}

#news ul li a {
	color: #000;
}

#news ul li a:hover {
	color: var(--link_color_base);
}


/* モバイル */
@media not screen and (min-width: 1280px) {
	#news {
		top: -16px;

		margin-bottom: 5em;
	}

	#news h2 {
		top: -30px;
		height: 60px;
		padding: 0 2em;
	}

	#news ul {
		width: 95%;
		margin: auto;
		border-top: 1px solid #edeeef;
	}

	#news ul li {
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		gap: 0.5em;

		padding: 1em 0;

		font-size: 1.125em;
		border-bottom: 1px solid #edeeef;
	}

	#news ul li time {}
}

/* パソコン */
@media print,
screen and (min-width : 1280px) {
	#news {
		top: -35px;

		margin-bottom: 5em;

		border-radius: 20px;
	}

	#news h2 {
		top: -10px;
		height: 60px;
		padding: 0 9rem;
	}


	#news ul li {
		display: grid;
		grid-template-columns: 1fr 4fr;

		padding: 0.75em 0;

		font-size: 1.125em;
		border-bottom: 1px solid #edeeef;
	}

	#news ul li time {
		padding: 0 30%;

	}

}


/* ----------------------------------------------

 * ドナー募集中バナー

---------------------------------------------- */
/* .banner_space li:first-child img {
  width: 100%;
}
.banner_space li:last-child img {
  width: 80%;
} */

/* モバイル */
@media not screen and (min-width: 1280px) {
	.banner_space li {
		margin-bottom: 0.5em;
	}
}

/* パソコン */
@media print,
screen and (min-width : 1280px) {}

/* ----------------------------------------------

 * 当院の診療の特徴

---------------------------------------------- */
#introduction {
	margin-top: 5em;
	margin-bottom: 5em;
}

#introduction h2 {
	color: var(--main_color);
	font-weight: 500;
	text-align: center;
}

#introduction p {
	line-height: 2;
}

#menus {
	margin-top: 5em;
	margin-bottom: 5em;
}

/* モバイル */
@media not screen and (min-width: 1280px) {
	#introduction h2 {
		font-size: 1.8em;
		line-height: 1.6;
	}

	#menus ul {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		grid-template-rows: repeat(2, 1fr);

		gap: 0.5em;
	}

}

/* パソコン */
@media print,
screen and (min-width : 1280px) {
	#introduction h2 {
		font-size: 2.5em;
		line-height: 1.6;
	}

	#menus ul {
		display: flex;
		justify-content: center;
		gap: 1em;
	}
}