@charset "UTF-8";
/* ==========================================================================
   リニューアル改装工事（2026/12/15〜2027/1/5 休診）のお知らせ用
   掲載期間：2026/11/10〜2027/1/19（2027/1/20 に削除）
   ========================================================================== */

/* ---------- 固定予約欄・フッターの休診案内（2行） ---------- */
.rn_closed {
	margin-top: 4px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.5;
	color: #eb1c25;
	font-feature-settings: "palt";
}
.rn_closed a,
.rn_ft_line {
	position: relative;
	z-index: 101; /* 電話リンク（.blok_link／z-index:100）より前に出す */
	color: #eb1c25;
	text-decoration: underline;
}
.rn_closed a:hover,
.rn_ft_line:hover {
	opacity: .7;
}

/* ---------- スマホ下部「休診中のお問い合わせ（LINE）」ボタン ---------- */
.f-n01 .rn_fnav_line {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 12.5vw; /* 既存ボタン画像（160×60）と同じ高さ */
	padding: 0 4px;
	color: #FFF;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.35;
	text-align: center;
	letter-spacing: 0;
	font-feature-settings: "palt";
}
.f-n01 .rn_fnav_line .rn_fnav_ico {
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	margin-right: 5px;
	border-radius: 5px;
	background: #06c755;
	color: #FFF;
	font-size: 7px;
	font-weight: 700;
	line-height: 22px;
	text-align: center;
	letter-spacing: 0;
}

/* ---------- トップページの案内枠 ---------- */
.rn_notice {
	padding: 60px 20px;
	background: #FFF;
}
.rn_notice .rn_card {
	max-width: 1000px;
	margin: 0 auto;
	padding: 50px 6% 44px;
	border: 1px solid #dfe6ec;
	border-top: 5px solid var(--fc_org, #f15a24);
	border-radius: 12px;
	background: #FFF;
	box-shadow: 0 10px 30px rgba(34, 50, 78, .08);
	text-align: center;
	line-height: 1.8;
	color: #22324e;
}
.rn_notice .rn_label {
	font-family: "Times New Roman", "Yu Mincho", serif;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: .3em;
	color: var(--fc_org, #f15a24);
}
.rn_notice .rn_tit {
	margin-top: 8px;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .08em;
	color: #22324e;
}
.rn_notice .rn_lead {
	margin-top: 24px;
	font-size: 16px;
	font-weight: 500;
}
.rn_notice .rn_period {
	display: inline-block;
	margin-top: 28px;
	padding: 14px 32px;
	border: 2px solid #eb1c25;
	border-radius: 8px;
}
.rn_notice .rn_period dt {
	font-size: 14px;
	font-weight: 700;
	color: #eb1c25;
}
.rn_notice .rn_period dd {
	margin: 2px 0 0;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: .04em;
}
.rn_notice .rn_reopen {
	margin-top: 18px;
	font-size: 16px;
	font-weight: 600;
}
.rn_notice .rn_reopen strong {
	font-size: 18px;
	color: var(--fc_org, #f15a24);
}
.rn_notice .rn_sorry {
	margin-top: 6px;
	font-size: 14px;
	color: #555;
}
.rn_notice .rn_line_box {
	max-width: 840px;
	margin: 32px auto 0;
	padding: 26px 24px 30px;
	border: 2px solid #06c755;
	border-radius: 10px;
	background: #f0fbf4;
}
.rn_notice .rn_alert {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
}
.rn_notice .rn_alert strong {
	color: #eb1c25;
	background: linear-gradient(transparent 62%, #ffe3e5 62%);
}
.rn_notice .rn_line_box .rn_txt {
	margin-top: 12px;
	font-size: 15px;
	font-weight: 500;
}
.rn_notice .rn_web_box {
	max-width: 840px;
	margin: 26px auto 0;
	font-size: 14px;
	font-weight: 500;
}
.rn_notice .rn_btn {
	display: inline-block;
	min-width: 240px;
	margin-top: 16px;
	padding: 14px 32px;
	border-radius: 999px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .06em;
	text-decoration: none;
	color: #FFF;
	transition: opacity .2s;
}
.rn_notice .rn_btn:hover {
	opacity: .8;
	color: #FFF;
}
.rn_notice .rn_btn_line {
	background: #06c755;
}
.rn_notice .rn_btn_web {
	background: var(--fc_org, #f15a24);
}
.rn_notice .rn_btn_more {
	margin-top: 32px;
	background: #22324e;
}
.rn_notice .rn_btn_more::after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-left: 12px;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	transform: translateY(-2px) rotate(45deg);
}

@media screen and (max-width:767px){
.rn_notice {
	/* スマホではメイン画像の下に医院ロゴがはみ出すため、その分あける */
	padding: 26vw 4vw 10vw;
}
.rn_notice .rn_card {
	padding: 32px 5% 30px;
	border-radius: 10px;
}
.rn_notice .rn_label {
	font-size: 14px;
}
.rn_notice .rn_tit {
	font-size: 22px;
	letter-spacing: .04em;
}
.rn_notice .rn_lead {
	margin-top: 16px;
	font-size: 14px;
	text-align: left;
}
.rn_notice .rn_period {
	display: block;
	padding: 12px 10px;
}
.rn_notice .rn_period dd {
	font-size: 16px;
}
.rn_notice .rn_reopen {
	font-size: 14px;
}
.rn_notice .rn_reopen strong {
	font-size: 16px;
}
.rn_notice .rn_sorry {
	font-size: 13px;
	text-align: left;
}
.rn_notice .rn_line_box {
	margin-top: 24px;
	padding: 20px 5% 24px;
}
.rn_notice .rn_alert {
	font-size: 17px;
}
.rn_notice .rn_line_box .rn_txt,
.rn_notice .rn_web_box {
	font-size: 13px;
	text-align: left;
}
.rn_notice .rn_btn {
	display: block;
	min-width: 0;
	width: 100%;
	max-width: 320px;
	margin-inline: auto;
	font-size: 15px;
}
.rn_notice .rn_btn_more {
	margin-top: 26px;
}
}
