@charset "UTF-8";

/****************************************
	こちらは各サイト独自のcssを記載します
*****************************************/

/* ============================================
   MVブロック（上部バナー）
   ============================================ */
.sec_mv {
	padding: 0;
	margin: 0;
	position: relative;
}

.mv_wrap {
	max-width: 1600px;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
	border-radius: 20px;
	border: 3px solid var(--main-color);
}

@media (max-width: 1650px) {
	.mv_wrap {
		width: 95%;
	}
}

.mv_image {
	width: 100%;
	height: 627px;
	position: relative;
	overflow: hidden;
}

.mv_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mv_text {
	position: absolute;
	right: 15%;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	gap: 0;
	z-index: 2;
}

.mv_text_block {
	background: #fff;
	width: 51px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 0;
}

.mv_text_block.mv_text_left {
	height: 185px;
	margin-right: 7px;
}

.mv_text_block.mv_text_right {
	height: 250px;
}

.mv_text_vertical {
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-family: var(--font-base-family);
	font-size: 32px;
	font-weight: 500;
	line-height: 1.0625; /* 34px / 32px */
	color: var(--font-base-color);
	margin: 0;
	white-space: nowrap;
}

.mv_text_highlight {
	color: #ea5413;
}

@media (max-width: 768px) {
	.mv_wrap {
		margin: 70px auto 0;
	}
	.mv_image {
      height: 550px;
  	}
}

.bn_careplan {
	max-width: 1200px;
	margin: 100px auto -35px;
	padding: 0 20px;
	box-sizing: border-box;
}

.bn_careplan_inner {
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	text-decoration: none;
	transition: all 0.3s ease;
	cursor: pointer;
	position: relative;
	display: block;
	width: 75%;
    margin: 0 auto;
}

.bn_careplan_inner:hover {
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
	transform: translateY(-2px);
	text-decoration: none;
}

.bn_careplan_left {
	padding: 40px 50px 70px;
	background: url(../img/top/bnr_careplan.jpg);
	background-size: cover;
}

.bn_careplan_title {
	font-size: 40px;
	font-weight: 700;
	color: var(--btn-hover-color);
	line-height: 1.3;
	margin: 0 0 20px;
}

.bn_careplan_buttons {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 15px;
	width: 50%;
}

.bn_careplan_button {
	background: var(--main-color);
	color: #fff;
	padding: 13px 25px;
	border-radius: 25px;
	font-weight: 500;
	text-align: center;
	line-height: 1.5;
}

.bn_careplan_support {
	color: var(--btn-hover-color);
	margin: 0 0 15px;
	font-weight: bold;
    font-size: 1.2em;
}

.bn_careplan_bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: var(--main-color);
	color: #fff;
	padding: 15px 25px;
	position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    box-sizing: border-box;
	font-size: 1.25em;
	font-weight: 600;
}

.bn_careplan_bottom i {
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.2);
	border-radius: 50%;
}

@media (max-width: 768px) {
	.bn_careplan {
		margin: 40px auto -20px;
		padding: 0 15px;
	}
	
	.bn_careplan_inner {
		flex-direction: column;
	}
	
	.bn_careplan_left {
		padding: 30px 25px;
	}
	
	.bn_careplan_title {
		font-size: 28px;
		margin-bottom: 25px;
	}
	
	.bn_careplan_button {
		padding: 12px 20px;
		font-size: 14px;
	}
	
	.bn_careplan_support {
		font-size: 13px;
	}
	
	.bn_careplan_bottom {
		padding: 12px 20px;
	}
	
	.bn_careplan_bottom span {
		font-size: 14px;
	}
	
	.bn_careplan_bottom i {
		font-size: 18px;
		width: 26px;
		height: 26px;
	}
	
	.bn_careplan_right {
		height: 250px;
	}
}

/* ============================================
   3つのこだわり＋１セクション
   ============================================ */
.kodawari_section {
	padding: 80px 0 0;
}

.kodawari_title {
	text-align: center;
	margin-bottom: 80px;
}

.kodawari_main_title {
	font-size: 32px;
	font-weight: 600;
	line-height: 1.5;
	color: #222;
}

.kodawari_highlight {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	margin: 0 0 5px;
	position: relative;
	height: 161px;
}

/* 共通設定：太い方の線 */
.kodawari_highlight_line {
    width: 4px; /* 太い線の幅 */
    height: 161px;
    background: var(--main-color);
    position: absolute;
    top: 0;
}

/* 左側の二重線設定 */
.kodawari_highlight_line_left {
    left: calc(50% - 270px);
}
/* 左側の細い線を追加 */
.kodawari_highlight_line_left::before {
    content: "";
    position: absolute;
    top: 0;
    left: -4px; /* 太い線との間隔 */
    width: 1px; /* 細い線の幅 */
    height: 100%;
    background: var(--main-color);
}

/* 右側の二重線設定 */
.kodawari_highlight_line_right {
    right: calc(50% - 270px);
}
/* 右側の細い線を追加 */
.kodawari_highlight_line_right::after {
    content: "";
    position: absolute;
    top: 0;
    right: -4px; /* 太い線との間隔 */
    width: 1px; /* 細い線の幅 */
    height: 100%;
    background: var(--main-color);
}

.kodawari_highlight_content {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 10px;
	position: relative;
	z-index: 1;
}

.kodawari_number {
	font-size: 70px;
	font-weight: 500;
	color: var(--main-color);
	line-height: 1;
}

.kodawari_text {
	font-size: 46px;
	font-weight: 600;
	color: var(--main-color);
	line-height: 1;
	margin-bottom: 0!important;
}

.kodawari_text span {
	font-size: 70px;
}

.kodawari_subtitle {
	font-size: 16px;
	font-weight: 600;
	color: var(--main-color);
	text-align: center;
	margin: 0;
}

.kodawari_cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	margin-bottom: 40px;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 768px) {
    .kodawari_cards {
        display: grid;
        /* 全体を2列にする */
        grid-template-columns: repeat(2, 1fr); 
        gap: 46px;
        max-width: 1046px;
    }

    /* 3つ目のカード（最後の要素）だけ、2列分を占有して中央に配置 */
    .kodawari_card:nth-child(3) {
        grid-column: span 2; /* 2列分の幅を確保 */
        justify-self: center; /* グリッドの中で中央に配置 */
        width: 100%; /* max-width(500px)まで広がるように設定 */
    }
}

.kodawari_card {
	background: #fff9d9;
	border-radius: 15px;
	padding: 33px 30px 20px;
	box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.25);
	text-align: center;
	height: 330px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	width: 100%;
	max-width: 450px;
	margin: 0 auto;
}

@media (min-width: 768px) {
	.kodawari_card {
		width: 450px;
		margin: 0;
	}
}

.kodawari_card_image {
	width: 100%;
	height: 195px;
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.kodawari_card_image img {
	max-width: 182px;
	max-height: 195px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.kodawari_card_title {
	font-family: var(--font-base-family);
	font-size: 28px;
	font-weight: 500;
	color: var(--main-color);
	margin: 0 0 20px;
	line-height: 1.2;
}

.kodawari_card_text {
	font-family: var(--font-base-family);
	font-size: 16px;
	line-height: 1.875; /* 30px / 16px */
	color: var(--font-base-color);
	margin: 0;
}

.kodawari_plus {
	text-align: center;
	margin: 40px 0;
	position: relative;
}

.kodawari_plus_sign {
	font-family: var(--font-base-family);
	font-size: 48px;
	font-weight: 900;
	color: var(--main-color);
	line-height: 1;
	display: inline-block;
}

.kodawari_circle {
	background: #fff9d9;
	border-radius: 257px;
	padding: 60px 40px;
	box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.25);
	text-align: center;
	width: 514px;
	height: 500px;
	margin: 0 auto 60px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

@media (max-width: 767px) {
	.kodawari_circle {
		width: 100%;
		max-width: 514px;
		height: auto;
		min-height: 400px;
	}
}

.kodawari_circle_image {
	width: 100%;
	height: 194px;
	margin-bottom: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.kodawari_circle_image img {
	max-width: 181px;
	max-height: 194px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.kodawari_circle_title {
	font-family: var(--font-base-family);
	font-size: 28px;
	font-weight: 500;
	color: var(--main-color);
	margin: 0 0 20px;
	line-height: 1;
}

.kodawari_circle_text {
	font-family: var(--font-base-family);
	font-size: 16px;
	line-height: 1.875; /* 30px / 16px */
	color: var(--font-base-color);
	margin: 0;
	max-width: 384px;
}

.kodawari_btn_wrap {
	text-align: center;
	margin-top: 40px;
}

/* レスポンシブ対応 */
@media (max-width: 767px) {
	.kodawari_section {
		padding: 30px 0;
	}
	
	.kodawari_main_title {
		font-size: 22px;
		margin-bottom: 0;
	}

	.kodawari_text span {
		font-size: 60px;
	}

	.kodawari_highlight_line {
		height: 190px;
	}

	.kodawari_subtitle {
		line-height: 1;
	}

	.kodawari_highlight_line_left {
		left: calc(50% - 170px);
	}
	
	.kodawari_highlight_line_right {
		right: calc(50% - 170px);
	}
	
	.kodawari_number {
		font-size: 50px;
	}
	
	.kodawari_text {
		font-size: 30px;
	}
	
	.kodawari_card {
		height: auto;
		max-width: 100%;
		min-height: 270px;
		padding: 30px 20px;
		box-sizing: border-box;
	}
	
	.kodawari_card_image {
		height: 150px;
		margin-bottom: 15px;
	}
	
	.kodawari_card_image img {
		max-width: 140px;
		max-height: 150px;
	}
	
	.kodawari_card_title {
		font-size: 24px;
		margin-bottom: 10px;
	}
	
	.kodawari_card_text {
		font-size: 14px;
	}
	
	.kodawari_circle {
		border-radius: 20px;
		padding: 20px 30px;
		min-height: 370px;
		max-width: 100%;
		width: 100%;
		margin-bottom: 30px;
	}
	
	.kodawari_circle_image {
		height: 150px;
		margin-bottom: 20px;
	}
	
	.kodawari_circle_image img {
		max-width: 140px;
		max-height: 150px;
	}
	
	.kodawari_circle_title {
		font-size: 24px;
		margin-bottom: 15px;
	}
	
	.kodawari_circle_text {
		font-size: 14px;
	}
	
	.mv_text_block {
		width: 40px;
	}
	
	.mv_text_vertical {
		font-size: 24px;
	}
	
	.mv_text_block.mv_text_left {
		height: 140px;
	}
	
	.mv_text_block.mv_text_right {
		height: 180px;
	}
}


/* ============================================
   全ての人々に夢と笑顔を与えたいセクション
   ============================================ */
   .mission_title {
	font-family: var(--font-base-family);
	font-size: 32px;
	font-weight: 500;
	color: var(--main-color);
	margin: 0 0 30px;
	line-height: 1.4375; /* 46px / 32px */
	letter-spacing: -0.03em;
}

.mission_text {
	font-family: var(--font-base-family);
	font-size: 16px;
	line-height: 1.875; /* 30px / 16px */
	color: var(--font-base-color);
}

.mission_text p {
	margin: 0 0 20px;
}

.mission_text p:last-child {
	margin-bottom: 0;
}

.mission_image {
	border: 2px solid var(--main-color);
	border-radius: 10px;
	width: 100%;
	max-width: 652px;
	height: auto;
	display: block;
	object-fit: cover;
}

/* レスポンシブ対応 */
@media (max-width: 767px) {
	.mission_title {
		font-size: 24px;
		margin-bottom: 20px;
	}
	
	.mission_text {
		font-size: 14px;
	}
	
	.mission_text p {
		margin-bottom: 15px;
	}
}

/* ============================================
   施設紹介セクション
   ============================================ */
.bg_main_color {
	background: var(--bg-main-color);
}

.facility_section {
	margin-bottom: 60px;
}

#facility .page_ltit h2 {
	margin-bottom: 5rem;
}

.facility_section:last-child {
	margin-bottom: 0;
}

.facility_area_title_wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 30px;
	flex-wrap: wrap;
	gap: 20px;
}

.facility_area_title {
	font-size: 32px;
	font-weight: 500;
	color: #222;
	margin: 0;
}

.facility_area_icons {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}

.facility_area_icon_item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	color: var(--font-base-color);
}

.facility_area_icon_day .facility_icon_circle {
	background: var(--main-color);
	border-radius: 50%;
	padding: 4px;
	box-sizing: border-box;
}

.facility_area_icon_care .facility_icon_circle {
	background: var(--acent-color);
	border-radius: 50%;
	padding: 4px;
	box-sizing: border-box;
}

.facility_icon_circle {
	width: 30px;
	height: 30px;
	display: block;
}

.facility_grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
	margin-bottom: 40px;
}

@media (min-width: 768px) {
	.facility_grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 46px;
	}
}

.facility_card {
	overflow: hidden;
}

.facility_image {
	width: 100%;
	height: 230px;
	overflow: hidden;
	border-radius: 10px;
}

.facility_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.facility_name_wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px 10px 10px;
	gap: 10px;
}

.facility_name {
	font-size: 20px;
	font-weight: 500;
	color: #222;
	margin: 0;
	flex: 1;
}

.facility_icons {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.facility_icons .facility_icon_circle {
	width: 30px;
	height: 30px;
	display: block;
	border-radius: 50%;
	padding: 4px;
	box-sizing: border-box;
}

.facility_icons img[alt="真情デイサービス"] {
	background: var(--main-color);
}

.facility_icons img[alt="真情ケア・プランニング"] {
	background: var(--acent-color);
}

.facility_info {
	border-top: 3px solid #d9d9d9;
	border-bottom: 3px solid #d9d9d9;
	width: 100%;
	box-sizing: border-box;
}

.facility_info_row {
	display: flex;
	align-items: center;
	padding: 12px 0;
	border-bottom: 3px solid #d9d9d9;
	width: 100%;
}

.facility_info_row:last-child {
	border-bottom: none;
}

.facility_label {
	font-size: 16px;
	font-weight: bold;
	color: var(--main-color);
	width: 75px;
	flex-shrink: 0;
	padding-left: 10px;
}

.facility_value {
	font-size: 16px;
	color: #222;
	flex: 1;
}

.facility_times {
	display: flex;
	gap: 0;
	padding: 20px 0 0;
	justify-content: space-between;
}

.facility_time_item {
	background: #fff9d9;
	width: 121px;
	height: 121px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-radius: 5px;
}

.facility_time_item img {
	width: 55px;
	height: 55px;
	object-fit: contain;
}

.facility_time_item span {
	font-size: 12px;
	color: var(--font-base-color);
}

.facility_btn_wrap {
	padding: 0 0 20px;
	text-align: left;
}

.facility_btn_wrap .btn_style {
	margin: 0;
}

/* レスポンシブ対応 */
@media (max-width: 767px) {
	.facility_area_title_wrap {
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 20px;
	}
	
	.facility_area_title {
		font-size: 24px;
	}
	
	.facility_area_icons {
		width: 100%;
	}
	
	.facility_grid {
		margin-bottom: 0;
	}
	
	.facility_image {
		height: 200px;
	}
	
	.facility_name {
		font-size: 18px;
	}
	
	.facility_label {
		width: 100px;
		font-size: 14px;
	}
	
	.facility_value {
		font-size: 14px;
	}
	
	.facility_times {
		flex-wrap: wrap;
		gap: 10px;
		justify-content: center;
	}
	
	.facility_time_item {
		width: calc(33.333% - 7px);
		height: 100px;
	}
	
	.facility_time_item img {
		width: 45px;
		height: 45px;
	}
	
	.facility_btn_wrap .btn_style {
		width: 100%;
		max-width: 184px;
	}

	.facility_area_icons {
		gap: 10px;
	}
}

/* ============================================
   グループリンクセクション
   ============================================ */
.group_link_wrap {
	display: flex;
	gap: 20px;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

.group_link_btn a i.fa-angle-right {
	border: #f39700 1px solid;
    width: 18px;
    height: 18px;
    border-radius: 12px;
    line-height: 18px;
    margin-left: 10px;
    font-size: 14px;
	text-align: center;
}

.group_link_item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 8px 13px;
	border: 3px solid var(--main-color);
	border-radius: 29px;
	background: #fff;
	color: var(--main-color);
	text-decoration: none;
	font-size: 16px;
	font-weight: 500;
	transition: all 0.3s ease;
	height: 55px;
	box-sizing: border-box;
	white-space: nowrap;
}

.group_link_item i {
	font-size: 20px;
	transition: all 0.3s ease;
}

.group_link_item:hover {
	background: var(--main-color);
	color: #fff;
	text-decoration: none;
}

.group_link_item:hover i {
	color: #fff;
}

/* レスポンシブ対応 */
@media (max-width: 767px) {
	.group_link_wrap {
		flex-direction: column;
		align-items: center;
		gap: 15px;
		margin-bottom: 40px;
	}
	
	.group_link_item {
		width: 100%;
		max-width: 300px;
	}

	.sec.sec_group_link {
		padding-top: 0;
	}
}

/* ============================================
   見学・サービス利用までの流れセクション
   ============================================ */
.service_link_wrap {
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
	margin-bottom: 60px;
}

.sec.sec_service {
	padding: 0 0 40px;
}

@media (min-width: 768px) {
	.service_link_wrap {
		grid-template-columns: repeat(2, 1fr);
		gap: 0;
	}
}

.service_link_item {
	position: relative;
	display: block;
	overflow: hidden;
	text-decoration: none;
	aspect-ratio: 1;
	width: 100%;
	height: 548px;
}

@media (max-width: 767px) {
	.service_link_item {
		aspect-ratio: auto;
		height: auto;
		min-height: 300px;
	}
	.service_link_wrap {
		gap: 0;
	}
}

.service_link_image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	transition: transform 0.3s ease;
}

.service_link_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.service_link_item:hover .service_link_image img {
	transform: scale(1.05);
}

.service_link_overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 1;
}

.service_link_content {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 40px;
	box-sizing: border-box;
	z-index: 2;
	text-align: center;
}

.service_link_title {
	font-size: 32px;
	font-weight: 500;
	color: #fff;
	margin: 0 0 20px;
	line-height: 1.4;
}

.service_link_text {
	font-family: var(--font-base-family);
	font-size: 16px;
	line-height: 1.875;
	color: #fff;
	margin: 0 0 30px;
}

.service_link_btn {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.9);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
}

.service_link_btn i {
	font-size: 30px;
	color: var(--main-color);
	transition: all 0.3s ease;
}

.service_link_item:hover .service_link_btn {
	background: var(--main-color);
}

.service_link_item:hover .service_link_btn i {
	color: #fff;
}

/* レスポンシブ対応 */
@media (max-width: 767px) {
	.service_link_title {
		font-size: 24px;
		margin-bottom: 15px;
	}
	
	.service_link_text {
		font-size: 14px;
		margin-bottom: 20px;
	}
	
	.service_link_btn {
		width: 60px;
		height: 60px;
	}
	
	.service_link_btn i {
		font-size: 24px;
	}
}

/* ============================================
   採用情報セクション
   ============================================ */
.recruit_image_wrap {
	width: 100%;
	position: relative;
	overflow: visible;
	margin-bottom: 30px;
}

@media (min-width: 768px) {
	.recruit_image_wrap {
		width: 43%;
		margin: 0 5% 0 0;
	}
}

.recruit_image {
	width: 100%;
	height: auto;
	border: 3px solid var(--main-color);
	border-radius: 10px;
	display: block;
	object-fit: cover;
}

.recruit_text {
	margin-bottom: 20px;
}


/* レスポンシブ対応 */
@media (max-width: 767px) {
	.recruit_image_wrap {
		order: 1;
		margin-bottom: 30px;
		width: 100%;
	}
	
	.recruit_image_wrap + .page_blk_clm {
		order: 2;
		width: 100%;
	}
	
	.recruit_text {
		font-size: 14px;
	}
	
	.recruit_btn_wrap .btn_style {
		width: 100%;
		max-width: 184px;
	}
}



/*****************************************
	Elements Page1
*****************************************/
/* ギャラリー
   elements---0002
-----------------------------------*/
.gallery01 li, .gallery01 li:first-of-type, .gallery02 li, .gallery02 li:last-of-type {
  width: 100%;
  margin: 0 0 3%;
}

.gallery03 {
  columns: 1;
}
.gallery03 li {
  padding-bottom: 3%;	
}
.gallery03 img {
	width:100%;
	height:auto;
	vertical-align: bottom;	
}

@media (min-width:768px) {
  .gallery01 li {
  	float: left;
    margin: 0 0 2% 0;
    width: 32%;
  }
  .gallery01 li:first-of-type {
    margin: 0 2% 2% 0;
    width: 65.7%;
  }
  .gallery02 li {
    float: left;
    margin: 0 2% 2% 0;
    width: 32%;
  }
  .gallery02 li:nth-of-type(3) {
    margin: 0 0 2% 0;
  }
  .gallery02 li:last-of-type {
    width: 66%;
    margin: 0 0 2% 0;
  }
  .gallery03 {
    columns: 3;
  }
  .gallery03 li {
    padding-bottom: 5%;
  }
}


/* control_list
   elements---0003
-----------------------------------*/
.item_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}
.item_list .item_list_blk {
	width: 47%;
	margin-bottom: 0;
}
.item_list .item_list_blk p {
    margin: .6rem 0 1rem;
}

@media (min-width:768px) {
	.item_list .item_list_blk {
		width: 30%;
		margin-bottom: 1.5em;
		text-align: center;
	}
}



/* control_list
   elements---0004
-----------------------------------*/
.control_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.control_list .blk {
	width: 100%;
	margin-bottom: 35px;
	position: relative;
}

.control_list .blk:first-of-type:before,
.control_list .blk:nth-of-type(2):before,
.control_list .blk:first-of-type:after,
.control_list .blk:nth-of-type(2):after {
    content: "";
    position: absolute;
    bottom: -13px;
    left: calc(50% - 2px);
    width: 4px;
    height: 30px;
    border-radius: 9999px;
    background-color: var(--acent-color);
    transform-origin: 50% 1px;
}
.control_list .blk:first-of-type:before,
.control_list .blk:nth-of-type(2):before {
	transform: rotate(45deg);
}
.control_list .blk:first-of-type:after,
.control_list .blk:nth-of-type(2):after {
	transform: rotate(-45deg);
}

.control_list .blk dl {
	border: var(--main-color) 2px solid;
	border-radius: 10px;
	padding: 1em;
	text-align: center;
	margin-bottom: 1em;
}
.control_list .blk dl dt {
	font-size: 1.5em;
}
.control_list .blk dl dd {
	font-size: 1.125em;
}

@media (min-width: 768px) {
	.control_list .blk {
		width: 28%;
		margin-bottom: 0;
	}
	.control_list .blk:first-of-type:after, .control_list .blk:nth-of-type(2):after {
		top: 20px;
		right: -60px;
		bottom: 0;
		transform: rotate(0);
	}
}


/* control_list
   elements---0006
-----------------------------------*/
blockquote {
    position: relative;
    padding: 45px 15px 5px;
	margin-bottom: 1.5em;
    box-sizing: border-box;
    background: var(--main-color);
}
blockquote:before{
    display: inline-block;
    position: absolute;
    top: 13px;
    left: 15px;
    content: "\f10d";
    font-family: "Font Awesome 6 Free";
	color: #aaa;
    font-size: 26px;
    line-height: 1;
    font-weight: 900;
}

/* control_list
   elements---img-4
-----------------------------------*/
.clm_wrap {
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 15px 0;
}
.clm_wrap .clm_blk {
	width: 100%;
	margin: 0 0 5%;
}
.clm_wrap .clm_blk_ttl {
	background: var(--btn-color);
    padding: 1rem;
	position: relative;
	text-align: center;
	color: #fff;
	line-height: 1.3;
    font-size: 1.4em;
	border-radius: 5px;
}
.display_none {
	display: none;
}
.clm_wrap .clm_blk_ttl.open {
	border-radius: 5px 5px 0 0;
}
	.acc_label {
		cursor: pointer;
	}
	.acc_label i {
		display: block;
		width: 18px;
		height: 18px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		transform-origin: center center;
		transition-duration: 0.2s;
		top: 50%;
		position: absolute;
		right: 4%;
		transform: translateY(-50%);
	}
	.acc_label i:before, .acc_label i:after {
		display: flex;
		content: '';
		background-color: #fff;
		border-radius: 10px;
		width: 18px;
		height: 4px;
		position: absolute;
		top: 7px;
		left: 0;
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
		transform-origin: center center;
	}
	.acc_label i:before {
		width: 4px;
		height: 18px;
		top: 0;
		left: 7px;
	}
	/* .acc_label.open i:before {
		-webkit-transform: rotate(-90deg);
		transform: rotate(-90deg);
	} */
.clm_wrap .clm_blk_inner {
	padding: 1em;
	border: var(--btn-color) 1px solid;
    border-radius: 0 0 5px 5px;
}

.clm_wrap .blk .txt_blue {
	font-size: 1.2em;
    margin-bottom: 0.5em;
}
.clm_blk .blk2_area .blk:nth-of-type(1) {
	width: 32%;
}
.clm_blk .blk2_area .blk:nth-of-type(2) {
	width: 63%;
}
.clm_wrap .blk2_area .blk:first-of-type p:last-of-type {
	text-align: center;
}
	
@media (min-width:768px) {
	.clm_wrap .clm_blk {
		width: 46%;
	}
	.clm_wrap .clm_blk_inner {
    	padding: 1em 2em;
	}
}



/*****************************************
	Elements Page2
*****************************************/
/* フロー表パターン１
   elements---0006
-----------------------------------*/

.flow_blk {
	display: flex;
	flex-wrap: wrap;
} 
.flow_ttl {
	background: var(--bg-sub-color);
	text-align: center;
	font-size: 1.4em;
	color: var(--acent-color);
	width: 100%;
	box-sizing: border-box;
	position: relative;
	padding: 1.2em .8em .8em;
	display: flex;
    justify-content: center;
    align-items: center;
	font-weight: bold;
}
.flow_column {
	background: var(--bg-sub-color);
	padding: 0 2em 2em;
	box-sizing: border-box;
	width: 100%;
}

.arrow_down {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 30px;
  margin: 5px 0;
}

.arrow_down::before,
.arrow_down::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 2px);
  width: 4px;
  height: 30px;
  border-radius: 9999px;
  background-color: var(--acent-color);
  transform-origin: 50% calc(100% - 1px);
}

.arrow_down::before {
  transform: rotate(45deg);
}

.arrow_down::after {
  transform: rotate(-45deg);
}

@media (min-width:678px) {
	.flow_column {
		width: 80%;
		padding: 2em;
	}
	.flow_ttl {
		width: 20%;
		font-size: 1.625em;
		padding: .8em;
	}
}



/*****************************************
	Elements Page3
*****************************************/

/* スタッフ紹介
   elements---0002
-----------------------------------*/
.box_shadow {
	box-shadow: #ccc 0 0 5px;
	padding: 3%;
	box-sizing: border-box;
}
.staff_blk {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.staff_photo {
	width: 55%;
	margin: 0!important;
}
.staff_name {
	font-size: 1.6rem;
    font-weight: bold;
}
.staff_name .degree,
.staff_name .en_name{
	font-size: .95rem;
	display: block;
	line-height: 1.3;
}

.staff_blk .staff_name {
	margin: 0!important;
	width: 40%;
}



/*****************************************
	Elements Page4
*****************************************/
/* 比較表 */
.price-box01 {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.price-box01>div {
	width: 100%;
	margin-bottom: 20px;
    padding: 20px 0 0;
    display: flex;
    flex-direction: column;
}
	.price-box01 .box-left {
		border: 2px solid #ccc;
	}
	.price-box01 .box-right {
		border: 2px solid var(--main-color);
	}
.price-box01 .ttl {
    margin: 0 20px 15px;
    padding: 3px 15px;
    text-align: center;
    background: var(--main-color);
    color: #fff;
    font-weight: bold;
    border-radius: 5px;
	font-size: 1.15em;
}
	.price-box01 .box-left .ttl {
		background: #ccc;
		color: #333;
	}
.price-box01 .staff-date {
    padding: 0 40px;
    margin-bottom: 20px;
}
	.price-box01 .box-left .staff-date {
		padding: 0 20px;
	}
.staff-date li {
    display: flex;
}
.price-box01 .staff-date .date {
    font-weight: bold;
    width: 30px;
}
.price-box01 .staff-date .detail {
    width: calc(100% - 30px);
}
.price-box01 .child-box {
    margin: 0 20px 20px;
}
.price-box01 .child-box dt {
    padding: 3px 15px;
    text-align: center;
    background: #cfdee8;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
.price-box01 .child-box dd {
    background: var(--bg-sub-color);
    padding: 15px 20px;
}
.price-box01 .child-box .staff-date {
    padding: 0;
    margin-bottom: 0;
}
.price-box01 .price {
    margin: auto 0 0;
    text-align: right;
    padding: 7px 20px;
    border-top: 2px solid var(--main-color);
    font-weight: bold;
    color: var(--main-color);
}
.price-box01 .price .num {
    font-size: 150%;
    position: relative;
    top: 2px;
}
.price-box01 .box-left .price {
	border-top: 2px solid #ccc;
	color: #333;
}

@media (min-width: 768px) {

	.price-box01 {
		margin-bottom: 15px;
	}
	.price-box01 > div {
		    width: 32%;
			margin-bottom: 0;
	}
}


/* 料金表 */
.tbl_price th {
	border: #ccc 1px solid;
	background: #e6eef3;
	text-align: left;
	padding: 2%;
}
.tbl_price td {
	border: #ccc 1px solid;
	background: #fff;
	text-align: right;
	padding: 2%;
}
.tbl_price tr:first-of-type th, .tbl_price tr:first-of-type td {
	border-top: #ccc 1px solid;
}


/* スタッフ紹介
   elements---FAQ
-----------------------------------*/
.faq-blk {
  position: relative;
}

.faq-blk-content-area .faq-content {
  display: none;
}
.faq-blk-content-area .faq-content.show {
  display: block;
}

.faq-blk-box {
  border-bottom: solid 2px #fff;
  margin-bottom: 2px;
  padding: 32px;
  background: var(--bg-sub-color);
}
.faq-blk-q {
  font-size: 16px;
  font-weight: bold;
  position: relative;
  padding-left: 32px;
  margin-bottom: 20px;
  text-shadow: 4px 6px 68px #bacad4;
}
.faq-blk-q:before {
  content: "Q";
  color: var(--acent-color);
  font-size: 24px;
  font-weight: bold;
  font-family: "Montserrat", sans-serif;
  position: absolute;
  left: 0;
  top: -6px;
}
.faq-blk-a {
  font-size: 13px;
  position: relative;
  padding-left: 32px;
}
.faq-blk-a:before {
  content: "A";
  color: #c9d0d2;
  font-size: 20px;
  font-weight: bold;
  font-family: "Montserrat", sans-serif;
  position: absolute;
  left: 2px;
  top: -7px;
}

@media (min-width: 768px) {
  .faq-blk-q {
    font-size: 20px;
  }
  .faq-blk-q:before {
    top: -3px;
  }
  .faq-blk-box {
    padding: 44px;
  }
  .faq-blk-a {
    font-size: 14px;
  }
  .faq-blk-a:before {
    top: -5px;
  }
}

/*****************************************
	Elements Page5
*****************************************/

.aces_txt {
	font-size: 1.25em;
}


/* ============================================
   施設紹介ページ（下層ページ）
   ============================================ */
.facility_page_header {
	position: relative;
	width: 100%;
	min-height: 258px;
	overflow: hidden;
}

.facility_header_bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.facility_header_bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.facility_header_overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(70, 129, 68, 0.75); /* 緑の透過75% */
	z-index: 1;
}

.facility_page_header .wrap {
	position: relative;
	z-index: 2;
	padding: 80px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 258px;
}

.facility_header_content {
	text-align: center;
	color: #fff;
	text-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);
}

.facility_header_content h1 {
	margin: 0 0 10px;
	line-height: 1.4;
}

.facility_header_content h1 span {
	display: block;
	font-size: 1.7rem;
	margin-bottom: 0.5em;
}

.facility_main_image {
	border: 2px solid var(--main-color);
	border-radius: 10px;
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.facility_intro_text {
	font-family: var(--font-base-family);
	font-size: 16px;
	line-height: 1.875;
	color: var(--font-base-color);
	margin-bottom: 30px;
}

.facility_intro_text p {
	margin: 0 0 15px;
}

.facility_intro_text p:last-child {
	margin-bottom: 0;
}

.facility_intro_text strong {
	font-weight: bold;
	color: var(--main-color);
}

.facility_director {
	text-align: right;
	margin-top: 30px;
}

.facility_director_label {
	font-family: var(--font-base-family);
	font-size: 16px;
	color: var(--font-base-color);
	margin: 0 0 5px;
}

.facility_director_name {
	font-family: var(--font-base-family);
	font-size: 16px;
	color: var(--font-base-color);
	margin: 0;
	letter-spacing: 1.6px;
}

.blk3_photo {
	margin-bottom: 20px;
}

.blk3_photo img {
	width: 100%;
	height: auto;
	border-radius: 10px;
	display: block;
	object-fit: cover;
}

.blk3_title {
	font-size: 28px;
	font-weight: 500;
	color: var(--main-color);
	text-align: center;
	margin: 0;
}

.facility_brochure_btn_wrap {
	margin-top: 40px;
}

.facility_brochure_btn_wrap .btn_style {
	min-width: auto;
	width: 255px;
	margin: 0 auto;
}

/* アンカーリンクのスタイル調整 */
.anchor_lnk .f_minc {
	max-width: 1008px;
	gap: 12px;
}

.anchor_lnk .f_minc li {
	flex-basis: calc(25% - 9px);
	margin: 0;
}

.anchor_lnk .f_minc li a {
	background: var(--main-color);
	border-radius: 3px;
	box-shadow: 0px 0px 3px 1px rgba(0, 0, 0, 0.25);
	min-height: 39px;
}

.anchor_lnk .f_minc li a span {
	background: transparent;
	padding: 10px 0;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	line-height: 1.2;
}

.anchor_lnk .f_minc li a::before {
	content: '→';
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	width: auto;
	height: auto;
	font-family: var(--font-base-family);
	font-size: 16px;
	color: #fff;
}

/* レスポンシブ対応 */
@media (max-width: 767px) {
	.facility_page_header {
		min-height: 185px;
	}
	
	.facility_page_header .wrap {
		padding: 20px;
		min-height: 185px;
	}
	
	.facility_header_content h1 {
		font-size: 1.7em;
	}
	
	.facility_header_content h1 span {
		font-size: 1em;
		margin-bottom: 0.3em;
	}
	
	.facility_header_en {
		font-size: 14px;
	}
	
	.facility_intro_text {
		font-size: 14px;
	}
	
	.facility_director_label,
	.facility_director_name {
		font-size: 14px;
	}
	
	.blk3_title {
		font-size: 24px;
	}
	
	.facility_brochure_btn_wrap .btn_style {
		width: 100%;
		max-width: 255px;
	}
	
	.anchor_lnk .f_minc {
		flex-direction: column;
		gap: 10px;
	}
	
	.anchor_lnk .f_minc li {
		flex-basis: 100%;
		width: 100%;
	}
}

/* ============================================
   利用料金セクション
   ============================================ */
.facility_price_section {
	background: var(--bg-sub-color);
	padding: 60px 0;
}

/* 見出しスタイルは汎用的な .page_ltit を使用 */

.facility_price_content {
	max-width: 1008px;
	margin: 3em auto 0;
}

.facility_price_example {
	font-size: 32px;
	font-weight: 500;
	margin: 0 0 30px;
	line-height: 30px;
}

.facility_price_total {
	font-size: 32px;
	font-weight: 500;
	margin: 0 0 30px;
	line-height: 1;
}

.facility_price_total span:first-child {
	font-weight: 500;
}

.facility_price_amount {
	font-weight: bold;
	color: var(--main-color);
}

.facility_price_note {
	font-size: 16px;
	font-weight: 500;
	margin: 0 0 40px;
	line-height: 30px;
}


/* ============================================
   サービス・料金セクション（テーブル）
   ============================================ */
/* 見出しスタイルは汎用的な .page_ltit を使用 */

/* ============================================
   汎用的なテーブル背景色クラス
   ============================================ */
.table_bg_orange table {
	border: 1px solid #d9d9d9;
	border-collapse: collapse;
}

.table_bg_orange th {
	background: rgba(234, 84, 19, 0.35);
	border: 1px solid #d9d9d9;
	border-right: 1px solid #d9d9d9;
	padding: 0 22px;
	font-size: 16px;
	color: var(--font-base-color);
	line-height: 30px;
	text-align: left;
	vertical-align: middle;
}

.table_bg_orange td {
	padding: 20px 30px;
	font-size: 16px;
	color: var(--font-base-color);
	line-height: 30px;
	border-left: none;
	vertical-align: middle;
}

.table_bg_orange tr:last-child th,
.table_bg_orange tr:last-child td {
	border-bottom: 1px solid #d9d9d9;
}

.table_bg_orange tr td:first-child {
	background: rgba(234, 84, 19, 0.35);
}

.table_bg_green table {
	border: 1px solid #d9d9d9;
	border-collapse: collapse;
}

.table_bg_green th {
	background: rgba(70, 129, 68, 0.4);
	border: 1px solid #d9d9d9;
	padding: 15px 10px;
	font-size: 16px;
	color: var(--font-base-color);
	line-height: 30px;
	text-align: center;
	vertical-align: middle;
}

.table_bg_green td {
	background: #fff;
	border: 1px solid #d9d9d9;
	padding: 15px 10px;
	font-size: 16px;
	color: var(--font-base-color);
	line-height: 24px;
	text-align: center;
	vertical-align: middle;
}

.table_bg_green tr:first-child th:first-child {
	background: rgba(70, 129, 68, 0.4);
}

.table_bg_green tr:first-child th:not(:first-child) {
	background: rgba(70, 129, 68, 0.4);
}

.table_bg_green tr td:first-child {
	background: rgba(70, 129, 68, 0.4);
}

.table_bg_green tr:last-child th,
.table_bg_green tr:last-child td {
	background: rgba(70, 129, 68, 0.4);
}

.table_bg_orange td .fa-file-pdf {
	font-size: 1.5em;
	color: #dc3545;
	margin-right: 10px;
	vertical-align: middle;
}

.table_bg_orange td a {
	color: var(--font-base-color);
	text-decoration: none;
}

.table_bg_orange td a:hover {
	color: var(--main-color);
	text-decoration: underline;
}

/* テーブル横スクロール用ラッパー */
.table_scroll_wrap {
	max-width: 1008px;
	margin: 0 auto 30px;
}

/* 施設情報テーブル用の追加スタイル */
.table_info_style {
	margin-bottom: 30px;
}

.table_info_style th {
	width: 216px;
	padding: 20px 22px;
}

.table_info_style td {
	padding: 20px 40px;
}

/* 営業日テーブル用の追加スタイル */
.table_schedule_style {
	margin-bottom: 30px;
}

.table_schedule_style th {
	text-align: center;
	padding: 15px 10px;
}

.table_schedule_style td {
	text-align: center;
	padding: 15px 10px;
}
.facility_service_note {
	font-size: 14px;
	display: block;
	margin-top: 10px;
	line-height: 30px;
}

/* レスポンシブ対応 */
@media (max-width: 767px) {
	.facility_price_section {
		padding: 40px 20px;
	}
	
	.page_ltit h2 {
		font-size: 36px!important;
	}
	
	.page_ltit h2 span {
		font-size: 14px;
	}
	
	#facility .page_ltit h2 {
		margin-bottom: 3rem;
	}

	.facility_price_example {
		font-size: 24px;
		line-height: 30px;
		margin-bottom: 20px;
	}
	
	.facility_price_total {
		font-size: 24px;
		margin-bottom: 20px;
	}
	
	.facility_price_note {
		font-size: 14px;
		line-height: 30px;
		margin-bottom: 30px;
	}
	
	
	/* 2カラム（th/td）のシンプルなテーブル：縦1列に */
	.table_bg_orange:not(.table_schedule_style) {
		border: none;
	}
	
	.table_bg_orange:not(.table_schedule_style) th {
		width: 100%;
		display: block;
		border-right: 1px solid #d9d9d9;
		border-bottom: 1px solid #d9d9d9;
		border-left: 1px solid #d9d9d9;
		padding: 15px 20px;
	}
	
	.table_bg_orange:not(.table_schedule_style) td {
		display: block;
		padding: 15px 20px;
		font-size: 14px;
		line-height: 30px;
		border-left: 1px solid #d9d9d9;
		border-right: 1px solid #d9d9d9;
	}
	
	.table_bg_orange:not(.table_schedule_style) tr {
		display: block;
		border-bottom: 1px solid #d9d9d9;
	}
	
	.table_bg_orange:not(.table_schedule_style) tr:first-child th,
	.table_bg_orange:not(.table_schedule_style) tr:first-child td {
		border-top: 1px solid #d9d9d9;
	}
	
	.table_bg_orange:not(.table_schedule_style) tr:last-child {
		border-bottom: 1px solid #d9d9d9;
	}
	
	.table_bg_orange:not(.table_schedule_style) tr:last-child th,
	.table_bg_orange:not(.table_schedule_style) tr:last-child td {
		border-bottom: 1px solid #d9d9d9;
	}
	
	/* 複数カラムのテーブル（料金体系、営業日）：横スクロール可能に */
	.table_scroll_wrap {
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	
	.table_scroll_wrap {
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		margin-left: 0;
		margin-right: 0;
	}
	
	.table_scroll_wrap .table_bg_green {
		min-width: 600px;
		margin-bottom: 0;
	}
	
	.table_scroll_wrap .table_schedule_style {
		min-width: 700px;
		margin-bottom: 0;
	}
	
	.facility_service_note {
		font-size: 12px;
		line-height: 30px;
	}
}

/* ============================================
   料金体系セクション
   ============================================ */
.facility_price_subtitle {
	font-size: 16px;
	color: var(--font-base-color);
	margin: 0 0 10px;
	line-height: 30px;
}

.facility_price_unit {
	font-size: 14px;
	color: var(--font-base-color);
	margin: 0 0 30px;
	line-height: 30px;
	text-align: right;
}

/* 料金体系テーブルは .table_bg_green を使用 */

.facility_price_notes {
	max-width: 1008px;
	margin: 0 auto;
	font-size: 14px;
	color: var(--font-base-color);
	line-height: 24px;
}

.facility_price_notes p {
	margin: 0 0 10px;
}

.facility_price_notes p:last-child {
	margin-bottom: 0;
}

/* ============================================
   営業日セクション
   ============================================ */
.facility_business_subtitle {
	font-size: 16px;
	color: var(--font-base-color);
	margin: 0 0 10px;
	line-height: 30px;
}

.facility_business_note {
	font-size: 16px;
	color: var(--font-base-color);
	margin: 0 0 20px;
	line-height: 30px;
	text-align: right;
}

/* 営業日テーブルは .table_bg_orange を使用 */

.facility_business_hours {
	max-width: 1008px;
	margin: 0 auto 30px;
	font-size: 14px;
	color: var(--font-base-color);
	line-height: 24px;
}

.facility_business_hours p {
	margin: 0 0 5px;
}

.facility_business_hours p:last-child {
	margin-bottom: 0;
}

.facility_business_newyear_title {
	font-size: 16px;
	color: var(--font-base-color);
	margin: 0 0 20px;
	line-height: 30px;
}

/* 施設情報テーブルは .table_bg_orange を使用 */

.facility_sns_icons {
	max-width: 1008px;
	margin: 1em auto;
	text-align: center;
	display: flex;
	justify-content: center;
	gap: 2em;
    font-size: 3em;
}

.facility_sns_icons a {
	display: inline-block;
}

.facility_sns_icons a {
	color: var(--main-color);
	text-decoration: none;
	transition: opacity 0.3s;
}

.facility_sns_icons a:hover {
	opacity: 0.7;
}

/* レスポンシブ対応 */
@media (max-width: 767px) {
	.facility_price_subtitle,
	.facility_price_unit {
		font-size: 14px;
	}
	
	
	.facility_business_subtitle,
	.facility_business_note,
	.facility_business_newyear_title {
		font-size: 14px;
	}
	
	.facility_business_hours {
		font-size: 12px;
	}
	
	
	.facility_sns_icons {
		flex-wrap: wrap;
		gap: 15px;
	}
	
	.facility_sns_icons {
		font-size: 2em;
	}
}

/* ============================================
   FAQページスタイル
   ============================================ */
.faq_intro {
	margin-bottom: 3em;
}

.faq_intro p {
	margin: 0;
}

.faq_item {
	margin-bottom: 20px;
	background: #fff;
	border: 1px solid #d9d9d9;
	border-radius: 5px;
	overflow: hidden;
}

.faq_label {
	position: relative;
	padding: 20px 60px 20px 30px;
	background: var(--bg-sub-color);
	cursor: pointer;
	transition: background-color 0.3s;
}

.faq_label:hover {
	background: rgba(245, 239, 207, 0.8);
}

.faq_label span {
	font-size: 20px;
	display: block;
	font-weight: bold;
}

/* ＋/ーアイコン */
.faq_label i {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	background: var(--main-color);
	border-radius: 50%;
	transition: background-color 0.3s;
}

.faq_label i::before,
.faq_label i::after {
	content: '';
	position: absolute;
	background: #fff;
	border-radius: 2px;
	transition: transform 0.3s, opacity 0.3s;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* 閉じているとき：＋アイコン */
.faq_label i::before {
	width: 12px;
	height: 2px;
}

.faq_label i::after {
	width: 2px;
	height: 12px;
	opacity: 1;
}

/* 開いているとき：ーアイコン */
.faq_label.open i::after {
	transform: translate(-50%, -50%) rotate(90deg);
	opacity: 0;
}

.faq_answer.acc_blk {
	padding: 20px 30px;
	background: #fff;
}

.faq_answer p {
	margin: 0;
}

.faq_answer {
	display: none;
}

.faq_answer.open {
	display: block;
}

/* レスポンシブ対応 */
@media (max-width: 767px) {
	.faq_intro {
		margin-bottom: 2em;
	}
	
	.faq_item {
		margin-bottom: 15px;
	}
	
	.faq_label {
		padding: 15px 50px 15px 20px;
	}
	
	.faq_label span {
		line-height: 1.6;
	}
	
	.faq_label i {
		right: 15px;
		width: 20px;
		height: 20px;
	}
	
	.faq_label i::before {
		width: 10px;
		height: 2px;
	}
	
	.faq_label i::after {
		width: 2px;
		height: 10px;
	}
	
	.faq_answer {
		padding: 15px 20px;
	}
}

/* ============================================
   こだわり・取り組みページスタイル
   ============================================ */

/* プログラム紹介セクション */
.service_program_banner {
	background: var(--main-color);
	padding: 20px 30px;
	border-radius: 5px;
	margin-bottom: 30px;
	text-align: center;
}

.service_program_banner p {
	margin: 0;
	font-weight: 500;
}

.service_program_title_wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
	flex-wrap: wrap;
}

.service_program_title {
	flex: 1;
	min-width: 300px;
}

.service_program_label {
	margin: 0 0 10px;
}

.service_program_name {
	font-size: 48px;
	font-weight: 500;
	margin: 0;
	line-height: 1.2;
}
.service_program_intro {
	position: relative;
}
.service_program_circle {
	width: 200px;
	height: 200px;
	border: 2px solid var(--font-base-color);
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 20px;
	box-sizing: border-box;
	position: absolute;
	top: 0;
	right: 0;
}

.wrap.service_program_age {
	font-size: 18px;
	margin: 0;
}

.wrap .service_program_purpose {
	font-size: 24px;
	font-weight: 500;
	margin: 0;
}

.service_program_subtitle {
	text-align: center;
	margin: 0;
}

/* 動画セクション */
.service_video_wrap {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
}

.service_video_item {
	flex: 1;
	min-width: 300px;
}

.service_video_embed {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	margin-bottom: 15px;
	border-radius: 5px;
	overflow: hidden;
}

.service_video_embed iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.service_video_label {
	color: var(--main-color);
	text-align: center;
	margin: 0;
	font-weight: 500;
}

/* 3ReSプログラムとはセクション */
.service_program_about_content {
	text-align: center;
}

.service_program_about_title {
	color: #dc3545;
	font-size: 20px;
	font-weight: bold;
	margin: 0 0 20px;
}

.service_program_about_content p {
	margin: 0 0 10px;
}

.service_program_about_content p strong {
	font-weight: bold;
}

/* 3ReSプログラム図解セクション */
.service_program_diagram {
	display: flex;
	gap: 40px;
	align-items: flex-start;
	flex-wrap: wrap;
}

.service_program_diagram_visual {
	flex: 1;
	min-width: 300px;
}

.service_diagram_circle {
	width: 100%;
	max-width: 500px;
	aspect-ratio: 1;
	position: relative;
	margin: 0 auto;
}

.service_diagram_segment {
	position: absolute;
	text-align: center;
	padding: 20px;
	box-sizing: border-box;
}

.service_diagram_segment h3 {
	font-size: 24px;
	font-weight: 500;
	margin: 0 0 5px;
}

.service_diagram_segment .service_diagram_en {
	font-size: 14px;
	margin: 0 0 10px;
}

.service_diagram_segment ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.service_diagram_segment li {
	font-size: 14px;
	margin: 5px 0;
}

.service_diagram_regeneration {
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	background: rgba(70, 129, 68, 0.1);
	border-radius: 10px;
	width: 45%;
}

.service_diagram_reactivation {
	bottom: 10%;
	right: 5%;
	background: rgba(243, 151, 0, 0.1);
	border-radius: 10px;
	width: 45%;
}

.service_diagram_rest {
	bottom: 10%;
	left: 5%;
	background: rgba(0, 123, 255, 0.1);
	border-radius: 10px;
	width: 45%;
}

.service_program_diagram_explanation {
	flex: 1;
	min-width: 300px;
}

.service_diagram_item {
	margin-bottom: 20px;
}

.service_diagram_number {
	font-size: 24px;
	font-weight: bold;
	color: var(--main-color);
	margin: 0 0 5px;
}

.service_diagram_title {
	font-size: 18px;
	font-weight: 500;
	margin: 0 0 5px;
}

.service_diagram_desc {
	margin: 0;
}

/* 食事セクション */
.service_meal_intro {
	margin-bottom: 40px;
}

.service_meal_intro_box {
	background: var(--bg-sub-color);
	padding: 30px;
	border-radius: 5px;
}

.service_meal_intro_box p {
	margin: 0 0 10px;
}

.service_doctor_section,
.service_nutrition_section {
	margin-bottom: 40px;
}

.service_doctor_header,
.service_nutrition_header {
	background: var(--bg-sub-color);
	padding: 15px 20px;
	border-radius: 5px 5px 0 0;
	display: flex;
	align-items: center;
	gap: 10px;
}

.service_doctor_icon,
.service_nutrition_icon {
	width: 20px;
	height: 20px;
	background: var(--main-color);
	border-radius: 50%;
}

.service_doctor_header h3,
.service_nutrition_header h3 {
	font-size: 18px;
	font-weight: 500;
	margin: 0;
}

.service_doctor_content {
	background: #fff;
	padding: 30px;
	border: 1px solid #d9d9d9;
	border-top: none;
	border-radius: 0 0 5px 5px;
	display: flex;
	gap: 30px;
	align-items: flex-start;
}

.service_doctor_photo {
	flex-shrink: 0;
	width: 200px;
}

.service_doctor_photo img {
	width: 100%;
	height: auto;
	border-radius: 50%;
	object-fit: cover;
	aspect-ratio: 1;
}

.service_doctor_text {
	flex: 1;
}

.service_doctor_text p {
	margin: 0 0 15px;
}

.service_nutrition_content {
	background: #fff;
	padding: 30px;
	border: 1px solid #d9d9d9;
	border-top: none;
	border-radius: 0 0 5px 5px;
}

.service_nutrition_content p {
	margin: 0 0 15px;
}

.service_nutrition_note {
	font-size: 14px;
	margin-top: 20px;
}

.service_meal_examples {
	background: var(--bg-sub-color);
	padding: 30px;
	border-radius: 5px;
}

.service_meal_grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.service_meal_item {
	text-align: center;
}

.service_meal_image {
	width: 100%;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: 5px;
	margin-bottom: 10px;
}

.service_meal_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.service_meal_name {
	margin: 0;
	font-weight: 500;
}

.service_meal_text {
	grid-column: span 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: left;
}

.service_meal_text p {
	margin: 0 0 10px;
}

/* 運動・冥想・役割・貢献セクション */
.service_activity_banner {
	background: var(--bg-sub-color);
	padding: 20px 30px;
	border-radius: 5px;
	margin-bottom: 40px;
	text-align: center;
}

.service_activity_banner_title {
	font-size: 20px;
	font-weight: bold;
	margin: 0 0 10px;
	display: block;
}

.service_activity_banner p {
	margin: 0;
}

.service_activity_content {
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
}

.service_activity_column {
	flex: 1;
	min-width: 300px;
}

.service_activity_column h3 {
	font-size: 20px;
	font-weight: 500;
	margin: 0 0 20px;
}

.service_activity_images {
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-bottom: 20px;
}

.service_activity_image {
	width: 100%;
	aspect-ratio: 4/3;
	overflow: hidden;
	border-radius: 5px;
}

.service_activity_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.service_activity_quote {
	font-size: 18px;
	font-weight: bold;
	color: var(--main-color);
	margin: 0 0 15px;
}

.service_activity_text p {
	margin: 0 0 15px;
}

/* タイムスケジュールセクション */
.service_schedule {
	background: var(--bg-sub-color);
	padding: 40px;
	border-radius: 5px;
}

.service_schedule_list {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.service_schedule_item {
	display: flex;
	align-items: center;
	gap: 15px;
}

.service_schedule_dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	flex-shrink: 0;
}

.service_schedule_dot_blue {
	background: #007bff;
}

.service_schedule_dot_green {
	background: var(--acent-color);
}

.service_schedule_dot_orange {
	background: var(--main-color);
}

.service_schedule_time {
	font-size: 18px;
	font-weight: 500;
	margin: 0;
	min-width: 80px;
}

.service_schedule_activity {
	margin: 0;
}

/* レスポンシブ対応 */
@media (max-width: 767px) {
	.service_program_title_wrap {
		flex-direction: column;
		align-items: center;
	}
	
	.service_program_circle {
		width: 150px;
		height: 150px;
		margin-top: 20px;
	}
	
	.service_program_name {
		font-size: 36px;
	}
	
	.service_video_wrap {
		flex-direction: column;
	}
	
	.service_program_diagram {
		flex-direction: column;
	}
	
	.service_doctor_content {
		flex-direction: column;
	}
	
	.service_doctor_photo {
		width: 150px;
		margin: 0 auto;
	}
	
	.service_meal_grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.service_activity_content {
		flex-direction: column;
	}
	
	.service_schedule {
		padding: 20px;
	}
	
	.service_schedule_time {
		font-size: 16px;
		min-width: 60px;
	}
}

/* ============================================
   プライバシーポリシーページスタイル
   ============================================ */
.privacy_intro {
	margin-bottom: 40px;
}

.privacy_list h2 {
	font-size: 1.8rem;
	font-weight: 600;
	padding-bottom: 10px;
}

.privacy_list li {
	margin-bottom: 50px;
}

.privacy_list > li p {
	margin: 0 0 10px;
}

.privacy_list > li ul li {
	margin: 2px 0;
}

.privacy_footer {
	margin-top: 50px;
}

/* レスポンシブ対応 */
@media (max-width: 767px) {
	.privacy_list h2 {
		font-size: 1.5rem;
	}
	.privacy_list li {
		margin-bottom: 45px;
	}
}

/* ============================================
   お問い合わせページスタイル
   ============================================ */

.contact_form_wrap {
	border: 2px solid var(--main-color);
	border-radius: 5px;
	padding: 40px;
	margin-top: 40px;
}

.contact_form_wrap tr th {
	vertical-align: top;
	text-align: left;
}

.contact_btn input {
	background: var(--btn-color);
    margin: 1.5em 0;
	cursor: pointer;
    display: inline-block;
    color: #fff;
    box-sizing: border-box;
    transition: all 200ms 0s ease;
    text-align: center;
    min-width: 250px;
    border-radius: 30px;
	border: none;
    padding: 17px 2em;
    font-size: 16px;
}
/* MW WP Form用のスタイル */

.mw_wp_form .mwform-label {
	display: block;
	font-weight: 500;
	margin-bottom: 8px;
}

.mw_wp_form .mwform-label .mwform-required {
	color: #dc3545;
	font-weight: bold;
	margin-left: 3px;
}

.mw_wp_form input[type="text"],
.mw_wp_form input[type="email"],
.mw_wp_form input[type="tel"],
.mw_wp_form select,
.mw_wp_form textarea {
	width: 100%;
	padding: 12px 15px;
	background: #fff;
	border: 1px solid #d9d9d9;
	border-radius: 3px;
	box-sizing: border-box;
	line-height: 1.5;
	transition: border-color 0.3s;
}

.mw_wp_form input[type="text"]:focus,
.mw_wp_form input[type="email"]:focus,
.mw_wp_form input[type="tel"]:focus,
.mw_wp_form select:focus,
.mw_wp_form textarea:focus {
	outline: none;
	border-color: var(--main-color);
}

.mw_wp_form select {
	width: 50%;
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 15px center;
	padding-right: 40px;
}

.mw_wp_form textarea {
	resize: vertical;
	min-height: 150px;
}

.mw_wp_form .mwform-form-group {
	margin-bottom: 25px;
}

.mw_wp_form .mwform-button {
	background: var(--btn-color);
	color: #fff;
	border: none;
	padding: 13px 2.5em;
	border-radius: 5px;
	font-weight: 500;
	cursor: pointer;
	transition: background-color 0.3s;
	min-width: 200px;
}

.mw_wp_form .mwform-button:hover {
	background: var(--btn-hover-color);
}

.mw_wp_form .mwform-button-submit {
	text-align: center;
	margin-top: 40px;
}

.mw_wp_form .error {
    font-size: 100%;
    color: #B70000;
    display: block;
    font-weight: 600;
}

/* レスポンシブ対応 */
@media (max-width: 767px) {
	.contact_form_wrap {
		padding: 20px;
	}
	
	.contact_form_row {
		margin-bottom: 20px;
	}
	
	.contact_label {
		margin-bottom: 5px;
	}
	
	.contact_input,
	.contact_select,
	.contact_textarea {
		padding: 10px 12px;
	}
	
	.contact_textarea {
		min-height: 120px;
	}
	
	.contact_form_submit {
		margin-top: 30px;
	}
	
	.contact_submit_btn {
		width: 100%;
		max-width: 100%;
	}

	.contact_form_wrap tr {
		width: 100%;
		display: inline-block;
        padding-bottom: 20px;
	}
	
	.mw_wp_form .mwform-label {
		margin-bottom: 5px;
	}
	
	.mw_wp_form input[type="text"],
	.mw_wp_form input[type="email"],
	.mw_wp_form input[type="tel"],
	.mw_wp_form select,
	.mw_wp_form textarea {
		padding: 10px 12px;
	}
	
	.mw_wp_form textarea {
		min-height: 120px;
	}
	
	.mw_wp_form .mwform-button {
		width: 100%;
		max-width: 100%;
	}
	.mw_wp_form select {
		width: 100%;
	}
}

/*説明文用*/
pre code {
    display: block;
    line-height: 1.75em;
    padding: 1em 1.5em;
    overflow-x: auto;
}
code {
    background: rgb(200 205 227 / 45%);
    border-radius: 4px;
    font-size: 1.1em;
    margin: 0 0.25em;
    padding: 0.25em 0.65em;
}

/* ============================================
   お知らせセクション
   ============================================ */
.news_section {
	padding: 80px 0;
}

.news_inner {
	display: flex;
	justify-content: space-between;
}

.news_header {
	margin-bottom: 30px;
}

.news_description {
	margin-top: 20px;
	line-height: 1.875;
}

.news_filter_wrap {
	display: flex;
	gap: 10px;
	margin-bottom: 40px;
	flex-wrap: wrap;
	margin-top: auto;
}

.news_filter_btn {
	padding: 8px 15px 6px;
	border: 2px solid var(--main-color);
	border-radius: 30px;
	background: #fff;
	color: var(--main-color);
	cursor: pointer;
	transition: all 0.3s;
	font-size: 16px;
	line-height: 1.875;
	display: flex;
	align-items: center;
	height: 35px;
}

.news_filter_btn:hover {
	background: var(--main-color);
	color: #fff;
}

.news_filter_btn.active {
	display: flex;
	align-items: center;
	height: 35px;
	background: var(--main-color);
	color: #fff;
	border-color: var(--main-color);
}

.news_content_wrap {
	background: #fff;
	border-radius: 10px;
	padding: 40px;
	box-shadow: 1px 1px 15px 0px rgba(34, 34, 34, 0.08);
	margin-bottom: 40px;
	width: 85%;
    margin-left: auto;
}

.news_list {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.news_item {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 30px 0;
	border-bottom: 1px solid #d9d9d9;
}

.news_item:last-child {
	border-bottom: none;
}

.news_tags {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 86px;
}

.news_tag {
    display: flex;
    align-items: center;
    padding: 4px 12px;
    border-radius: 15px;
    font-size: 12px;
    line-height: 1.875;
    text-align: center;
    white-space: nowrap;
    justify-content: center;
}

.news_tag_category {
	background: var(--main-color);
	color: #fff;
}

.news_tag_facility {
	border: 2px solid var(--main-color);
	color: var(--main-color);
	background: #fff;
}

.news_image {
	width: 158px;
	height: 111px;
	flex-shrink: 0;
	overflow: hidden;
	border-radius: 5px;
	background: #d9d9d9;
}

.news_image a {
	display: block;
	width: 100%;
	height: 100%;
}

.news_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 0.3s;
}

.news_image a:hover img {
	opacity: 0.8;
}

.news_tag_list {
	display: flex;
}

.news_tag_list .news_tag_category {
	background: none;
}

.news_tag_list .news_tag_category a {
	padding: 2px 15px 3px;
	border: 2px solid var(--main-color);
    color: var(--main-color);
    background: #fff;
	border-radius: 30px;
}

.news_tag_list .news_tag_category:first-of-type {
	margin-right: 10px;
}

.news_info {
	flex: 1;
}

.news_date {
	display: block;
	font-size: 14px;
	color: var(--font-base-color);
	margin-bottom: 10px;
}

.news_tit h1 span {
	display: inline;
	font-size: 100%;
}

.news_title {
	font-size: 16px;
	font-weight: 500;
	margin: 0;
	line-height: 1.875;
}

.news_title a {
	color: var(--font-base-color);
	text-decoration: none;
}

.news_title a:hover {
	color: var(--main-color);
}

.news_view_all_wrap {
	text-align: right;
}

.news_view_all_wrap .btn_style {
	margin: 0;
}

.news_pagination {
	margin-top: 40px;
	text-align: center;
}

.news_pagination ul {
	display: inline-flex;
	gap: 10px;
	list-style: none;
	padding: 0;
	margin: 0;
	flex-wrap: wrap;
	justify-content: center;
}

.news_pagination ul li {
	display: inline-block;
}

.news_pagination ul li a,
.news_pagination ul li span {
	display: inline-block;
	padding: 7px 12px;
	border: 1px solid var(--main-color);
	color: var(--font-base-color);
	font-weight: 700;
	font-size: 16px;
	text-decoration: none;
	transition: all 0.3s;
}

.news_pagination ul li a:hover {
	background: var(--bg-sub-color);
	color: var(--main-color);
}

.news_pagination ul li span.current {
	background: var(--main-color);
	color: #fff;
	border-color: var(--main-color);
}

.news_pagination ul li a.prev,
.news_pagination ul li a.next {
	background: var(--main-color);
	color: #fff;
	border-color: var(--main-color);
}

.news_pagination ul li a.prev:hover,
.news_pagination ul li a.next:hover {
	background: var(--btn-hover-color);
	border-color: var(--btn-hover-color);
}

.news_no_posts {
	text-align: center;
	padding: 60px 20px;
}

.news_no_posts p {
	font-size: 16px;
	color: var(--font-base-color);
}

.singles_side {
	width: 20%;
}

.singles_side h2 {
	font-size: 20px;
    font-weight: 600;
    padding-bottom: 15px;
    border-bottom: solid 1px #333;
    margin-bottom: 15px;
}

.singles_side ul {
	margin-bottom: 40px;
}

.singles_side ul li {
	margin-bottom: 10px;
}

/* =========================
   前後記事ナビ
   ========================= */

.news-pager {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-top: 64px;
  padding-top: 32px;
  border-top: 1px solid #ddd;
}

.news-pager a {
  display: block;
  width: 100%;
  padding: 15px 0;
  text-decoration: none;
  transition: background 0.3s, border-color 0.3s;
  box-sizing: border-box;
}

.pager-prev,
.pager-next {
  width: 50%;
}

.pager-prev {
  text-align: left;
}

.pager-label {
  display: block;
  font-size: 14px;
  color: #777;
  margin-bottom: 6px;
}

.pager-title {
  display: block;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #000;
}

/* SP対応 */
@media (max-width: 768px) {
  .news-pager {
    flex-direction: column;
  }
  .pager-prev,
  .pager-next {
    width: 100%;
    text-align: left;
  }
}

.news_contain {
	width: 70%;
}

.news_contain h2 {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.4;
  margin: 56px 0 24px;
  padding-bottom: 8px;
  border-bottom: 2px solid #f39700;
}

/* h3 */
.news_contain h3 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  margin: 40px 0 20px;
  padding: 0.15em 0.4em;
  color: #494949;
  background: transparent;
  border-left: solid 5px #f39700;
}

/* h4 */
.news_contain h4 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
  margin: 32px 0 16px;
  color: #f39700;
}

/* h5 */
.news_contain h5 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  margin: 24px 0 12px;
}

/* p */
.news_contain p {
  font-size: 16px;
  line-height: 1.9;
  margin: 0 0 20px;
}

/* strong */
.news_contain strong {
  font-weight: 700;
  color: #000;
}

/* ul */
.news_contain ul {
  margin: 0 0 24px 1.5em;
  padding: 0;
}

/* li */
.news_contain ul li {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 8px;
  list-style: disc;
}

/* レスポンシブ対応 */
@media (max-width: 767px) {
	.news_section {
		padding: 60px 0;
	}
	.news_inner {
    	display: block;
	}
	.news_filter_wrap {
		margin-bottom: 30px;
	}
	.news_filter_btn {
		font-size: 14px;
		padding: 6px 12px;
	}
    .news_content_wrap {
        box-sizing: border-box;
        padding: 20px;
        width: 100%;
    }
	.news_item {
        flex-direction: column;
        align-items: flex-start;
        padding: 10px 0 40px;
        margin-bottom: 30px;
	}
	.news_tags {
		flex-direction: row;
		min-width: auto;
	}
	.news_image {
		width: 100%;
		height: auto;
		aspect-ratio: 158 / 111;
	}
	.news_view_all_wrap {
		text-align: center;
	}
	.news_view_all_wrap .btn_style {
		width: 100%;
		max-width: 255px;
	}
	.news_contain {
		width: 100%;
	}
	.singles_side {
		width: 100%;
		margin-top: 80px;
	}
}



/* ============================================
   ケアプランページ
   ============================================ */
.careplan_intro {
	margin: 30px 0 40px;
	text-align: center;
}

.careplan_intro p {
	line-height: 1.875;
}

.careplan_main_image {
	width: 100%;
	height: auto;
	border-radius: 10px;
	border: 2px solid var(--main-color);
}

.careplan_concern_section {
	margin: 40px 0 30px;
    text-align: center;
}

.careplan_concern_title {
	font-size: 24px;
	font-weight: 500;
	margin-bottom: 20px;
	line-height: 1.6;
}

.careplan_concern_text {
	line-height: 1.875;
}

.careplan_worries_box {
	background: #fff;
	border: 1px solid var(--bg-gray);
	border-radius: 5px;
	padding: 30px;
	box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
    width: 500px;
    margin: 0 auto;
}

.careplan_worries_list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.careplan_worries_list li {
	position: relative;
	padding-left: 30px;
	margin-bottom: 15px;
	line-height: 1.875;
}

.careplan_worries_list li:last-child {
	margin-bottom: 0;
}

.careplan_worries_list li::before {
	content: "☑";
	position: absolute;
	left: 0;
	color: var(--main-color);
	font-size: 18px;
}

.careplan_about_text {
	margin-top: 20px;
}

.careplan_about_text p {
	line-height: 1.875;
}

.careplan_about_image {
	width: 100%;
	height: auto;
	border-radius: 10px;
	border: 2px solid var(--main-color);
}

.careplan_whatis_text {
	margin-top: 20px;
}

.careplan_whatis_text p {
	line-height: 1.875;
	margin-bottom: 15px;
}

.careplan_whatis_text p:last-child {
	margin-bottom: 0;
}

.careplan_brochure_btn_wrap {
	margin-top: 30px;
}

.careplan_features_list {
	margin-top: 40px;
}

.careplan_feature_item {
	margin-bottom: 40px;
	padding-bottom: 40px;
	border-bottom: 1px solid var(--bg-gray);
}

.careplan_feature_item:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.careplan_feature_title {
	font-size: 20px;
	font-weight: 500;
	margin-bottom: 15px;
	color: var(--main-color);
}

.careplan_feature_item p {
	line-height: 1.875;
}

.careplan_reason_text {
	margin-top: 20px;
}

.careplan_reason_text p {
	line-height: 1.875;
	margin-bottom: 20px;
}

.careplan_reason_text p:last-child {
	margin-bottom: 0;
}

.careplan_reason_text strong {
	color: var(--main-color);
	font-weight: 500;
}

/*
.flow_blk {
	display: flex;
	flex-wrap: wrap;
} 
.flow_ttl {
	background: var(--bg-sub-color);
	text-align: center;
	font-size: 1.4em;
	color: var(--acent-color);
	width: 100%;
	box-sizing: border-box;
	position: relative;
	padding: .8em;
	display: flex;
    justify-content: center;
    align-items: center;
}
.flow_column {
	background: var(--bg-sub-color);
	padding: 2em;
	box-sizing: border-box;
	width: 100%;
}

.arrow_down {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 30px;
  margin: 5px 0;
}

.arrow_down::before,
.arrow_down::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 2px);
  width: 4px;
  height: 30px;
  border-radius: 9999px;
  background-color: var(--acent-color);
  transform-origin: 50% calc(100% - 1px);
}

.arrow_down::before {
  transform: rotate(45deg);
}

.arrow_down::after {
  transform: rotate(-45deg);
}

@media (min-width:678px) {
	.flow_column {
		width: 80%;
	}
	.flow_ttl {
		width: 20%;
		font-size: 1.625em;
	}
}*/

.careplan_faq_list {
	margin-top: 40px;
}

.careplan_faq_item {
	margin-bottom: 40px;
	padding-bottom: 30px;
	border-bottom: 1px solid var(--bg-gray);
}

.careplan_faq_item:first-child {
	border-top: 1px solid var(--bg-gray);
	padding-top: 40px;
}

.careplan_faq_q {
	margin-bottom: 15px;
	line-height: 1.875;
}

.careplan_faq_q strong {
	color: var(--main-color);
}

.careplan_faq_a {
	line-height: 1.875;
}

.careplan_faq_a strong {
	color: var(--main-color);
}

.careplan_office_info {
	margin-top: 20px;
}
.careplan_office_info h3 {
	text-align: left;
	margin-bottom: 1rem;
}

.careplan_office_btn_wrap {
	margin-top: 20px;
}

/* レスポンシブ対応 */
@media (max-width: 767px) {
	.careplan_intro {
		margin: 20px 0 30px;
	}
	
	.careplan_concern_title {
		font-size: 20px;
	}
	
	.careplan_worries_box {
		padding: 20px;
	}
	
	.careplan_worries_list li {
		padding-left: 25px;
		font-size: 14px;
	}
	
	.careplan_feature_title {
		font-size: 18px;
	}
	
	.careplan_flow_item {
		flex-direction: column;
		padding: 20px;
	}
	
	.careplan_flow_icon {
		width: 50px;
		height: 50px;
	}
	
	.careplan_flow_icon i {
		font-size: 20px;
	}
	
	.careplan_flow_title {
		font-size: 20px;
	}
	
	.careplan_office_info {
		margin-top: 15px;
	}
	
	.careplan_office_tel {
		font-size: 16px;
	}
}

/* ============================================
   フローティングバナー
   ============================================ */

.floating_banner {
	position: fixed;
	z-index: 9998;
}

.floating_banner_link {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--main-color);
	color: #fff;
	text-decoration: none;
	box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
	transition: all 0.3s ease;
}

.floating_banner_link:hover {
	background: var(--btn-hover-color);
	box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.3);
	text-decoration: none;
	color: #fff;
}

.floating_banner_text {
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.1em;
	padding: 20px 12px;
	white-space: nowrap;
}

/* PC時 */
@media (min-width: 768px) {
	.floating_banner {
		right: 0;
		top: 170px; /* グローバルメニューから50px下（ヘッダー高さ約70px + 50px） */
	}
	
	.floating_banner_link {
		border-radius: 8px 0 0 8px;
	}
}

/* スマホ時 */
@media (max-width: 767px) {
	.floating_banner {
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
	}
	
	.floating_banner_link {
		border-radius: 0;
		width: 100%;
	}
	
	.floating_banner_text {
		writing-mode: horizontal-tb;
		text-orientation: initial;
		padding: 15px 20px;
		font-size: 14px;
	}
}