@charset "UTF-8";

/*
* Theme Name: Happy Tabby 2025*/

html {
	font-size: 62.5%;
}

body {
	font-family: 'Kiwi Maru', serif;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 2;
	color: #8F7E61;
	font-weight: 500;
}

a {
	color: #8F7E61;
}

img {
	width: 100%;
	height: auto;
}

.sp {
	display: block;
}

.pc {
	display: none;
}

#wrap {
	width: 100%;
	overflow: hidden;
}

.section {
	padding: 80px 0;
}

.inner_section {
	width: 90%;
	margin: 0 auto;
}

.c_orange {
	color: #F0B774;
}

.c_red {
	color: #C61A26;
}

.main {
	position: relative;
}

/* パンくず */
.breadcrumbs {
	width: 90%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translatex(-50%);
	display: flex;
	color: #643E2F;
	font-weight: 500;
	overflow-x: auto;
}

.breadcrumbs > span {
	white-space: nowrap;
}

.breadcrumbs >span::after {
	content: ">";
	margin: 0 1em
}

.breadcrumbs >span:last-child::after {
	content: none;
}

.breadcrumbs a {
	color: #F0B774;
}

/*======================================== header ========================================*/
#header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: #fff;
	z-index: 1000;
}

.wrap_header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	height: 80px;
	padding-left: 5%;
	position: relative;
	background: #fff;
	z-index: 1000;
}

.ttl_h1 {
	max-width: 192px;
}

.ttl_h1_clinic {
	max-width: 192px;
}

.ttl_h1_menu {
	max-width: 76px;
}

.wrap_sp_btn {
	display: flex;
}

.btn_tel_sp {
	width: 64px;
	margin-right: 16px;
}

.nav_toggle {
	width: 64px;
	height: 64px;
	background: url(images/icon_menu_close.png) no-repeat;
	background-size: contain;
}

.page_clinic .nav_toggle {
	background-image: url(images/clinic/icon_menu_close.png);
}

/* ハンバーガーメニュー内 */
#g_nav {
	background: #fff;
	width: 100%;
	overflow-y: auto;
	height: calc(100vh - 80px);
	padding: 40px 0;
	position: absolute;
	top: 80px;
	left: 100%;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

#g_nav::before {
	content: "";
	display: inline-block;
	background: url(images/img_scroll.png) no-repeat;
	background-size: contain;
	width: 14px;
	height: 192px;
	position: fixed;
	bottom: 0;
	left: 100%;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

.ul_nav {
	width: 80%;
	margin: 0 auto;
}

/* ボタン */
.ul_nav1 .btn {
	margin-top: 0;
	margin-bottom: 24px;
}

.ul_nav1 .btn:nth-child(2) {
	letter-spacing: -0.1em;
}

.ul_nav1 .btn a {
	height: 36px;
	font-size: 15px;
	font-size: 1.5rem;
}

.ul_nav1 .btn a::after {
	height: 36px;
}

/* メニュー */
.ul_nav2 {
	margin-bottom: 24px;
}

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

.ul_nav2 li a {
	color: #643E2F;
	padding-bottom: 4px;
	margin-bottom: 16px;
	border-bottom: 1px solid #8F7E61;
	display: block;
	line-height: 1.3;
}

.ul_nav2 li.li_lv2 a {
	color: #8F7E61;
	border-bottom: 1px dashed #8F7E61;
	padding-left: 1em;
}

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

/* 開いたとき */
.open #g_nav {
	left: 0;
}

.open #g_nav::before {
	left: 2.5%;
}

.open .nav_toggle img {
	display: none;
}

/* 翻訳ボタン */
.wrap_language {
	margin-bottom: 24px;
	text-align: center;
}

.wrap_language p {
	margin-bottom: 8px;
}

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

/*======================================== main ========================================*/
/* キーイメージ */
.wrap_keyimage {
	margin-top: 80px;
	position: relative;
}

/* 下層キーイメージ */
.ttl_h2_keyimage {
	width: 280px;
	height: 264px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
	background: url(images/keyimage/circle_sp.png) no-repeat;
	background-size: contain;
	font-size: 24px;
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	color: #643E2F;
	text-shadow: 3px 3px 10px #F0B774;
	position: absolute;
	right: 5%;
	bottom: 24px;
}

/* 見出し */
.ttl_h2 {
	margin-bottom: 48px;
}

/* 背景 */
.bg_green {
	background: #F9FCF1;
}

.bg_yellow {
	background: #FDFBF8;
}

.bg_yellow2 {
	background: #F9FCF1;
}

.wrap_green_contents {
	border: 1px solid #8F7E61;
	padding: 3px;
	position: relative;
}

.wrap_green_contents::before, .wrap_green_contents::after {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background: transparent;
	position: absolute;
}

.wrap_green_contents::before {
	top: -1px;
	left: -1px;
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
}

.wrap_green_contents::after {
	top: -1px;
	right: -1px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}

.inner_green_contents {
	background: rgba(194, 219, 121, 0.1);
	padding: 48px 0;
	text-align: center;
}

.inner_green_contents::before, .inner_green_contents::after {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background: transparent;
	position: absolute;
}

.inner_green_contents::before {
	bottom: -1px;
	left: -1px;
	border-bottom: 1px solid #fff;
	border-left: 1px solid #fff;
}

.inner_green_contents::after {
	bottom: -1px;
	right: -1px;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
}

.ttl_green_contents {
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.5;
	color: #643E2F;
	margin-bottom: 40px;
}

.ttl_green_contents span {
	position: relative;
	display: inline-block;
}

.ttl_green_contents span::before, .ttl_green_contents span::after {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 50%;
}

.ttl_green_contents span::before {
	background: url(images/icon_leaf01.png) no-repeat;
	background-size: contain;
	left: -16px;
	-webkit-transform: translate(-100%, -50%);
	transform: translate(-100%, -50%);
}

.ttl_green_contents span::after {
	background: url(images/icon_leaf02.png) no-repeat;
	background-size: contain;
	right: -16px;
	-webkit-transform: translate(100%, -50%);
	transform: translate(100%, -50%);
}

.line_pad {
	background: url(images/top/activities_after_sp.png) repeat-x bottom;
	background-size: contain;
}

/* テキスト */
.wrap_text1 {
	font-size: 18px;
	font-size: 1.8rem;
	letter-spacing: 0.1em;
}

/* ボタン */
.btn {
	margin-top: 48px;
}

.btn.btn2 a {
	font-size: 16px;
	font-size: 1.6rem;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	height: 60px;
}

.btn.btn2 a::after {
	height: 60px;
}

.btn.btn2 a span::after {
	content: "\f2d2";
	display: inline-block;
	font-family: "Font Awesome 5 Free";
}

.btn a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	text-align: center;
	height: 50px;
	border-radius: 40px;
	font-size: 18px;
	font-size: 1.8rem;
	background: #fff;
	border: 2px solid #C2DB79;
	color: #643E2F;
	position: relative;
	z-index: 1;
	line-height: 1.5;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

.btn a::after {
	content: "";
	display: block;
	background: rgba(194, 219, 121, 0.4);
	width: 100%;
	height: 50px;
	position: absolute;
	top: 4px;
	left: 4px;
	border-radius: 40px;
	z-index: -1;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}

.btn a:hover {
	-webkit-transform: translate(2px, 2px);
	transform: translate(2px, 2px);
}

.btn a:hover::after {
	-webkit-transform: translate(-4px, -5px);
	transform: translate(-4px, -5px);
}

.btn.btn_brown a {
	border-color: #D5B378;
}

.btn.btn_brown a::after {
	background: rgba(213, 179, 120, 0.4);
}

.btn.btn_orange a {
	border-color: #F0B774;
}

.btn.btn_orange a::after {
	background: rgba(240, 183, 116, 0.4);
}

.btn.btn_red a {
	border-color: #FBD8CF;
}

.btn.btn_red a::after {
	background: rgba(251, 216, 207, 0.4);
}

.btn.btn_yellow a {
	border-color: #F9F177;
}

.btn.btn_yellow a::after {
	background: rgba(249, 241, 119, 0.4);
}

.btn.btn_blue a {
	border-color: #C1E5F2;
}

.btn.btn_blue a::after {
	background: rgba(193, 229, 242, 0.4);
}

/* 迷い猫 */
.stray_cat_contents {
	width: 80%;
	margin: 0 auto;
	text-align: center;
	padding-bottom: 8px;
	border-bottom: 1px dashed #707070;
	margin-bottom: 48px;
}

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

.thumbnail_cat {
	max-width: 200px;
	margin: 0 auto;
	border-radius: 10px;
	overflow: hidden;
}

.thumbnail_cat img {
	object-fit: cover;
	height: 200px;
}

.time_cat {
	margin: 8px 0;
}

.ttl_cat {
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1;
}

/*================= 活動実績 =================*/
.dl_achievement div {
	margin-bottom: 24px;
}

.dl_achievement div:nth-child(2) dd div::after {
	content: "";
	display: inline-block;
	background: url(images/achivement/icon_cat_sp.png) no-repeat;
	background-size: contain;
	width: 24px;
	height: 42px;
	position: absolute;
	bottom: 0;
	left: 0;
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
}

.dl_achievement div:last-child {
	margin-bottom: 0;
}

.dl_achievement dt {
	border-bottom: 1px solid #8F7E61;
	padding-bottom: 20px;
	color: #643E2F;
}

.dl_achievement dd {
	width: 95%;
	margin: 0 0 0 auto;
	border-left: 1px dashed #643E2F;
	position: relative;
}

.dl_achievement dd::before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 1px solid #C2DB79;
	background: #fff;
	position: absolute;
	top: -2px;
	left: -2px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.dl_achievement dd::after {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: rgba(194, 219, 121, 0.3);
	position: absolute;
	top: 2px;
	left: 2px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.dl_achievement dd ul {
	background: rgba(194, 219, 121, 0.1);
	width: 95%;
	margin: 0 0 0 auto;
	padding: 24px 8px;
}

.dl_achievement dd ul li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.dl_achievement dd ul li::before {
	content: "◇";
	margin-right: 8px;
}

/*================= ブログ一覧 =================*/
.ul_blog li {
	padding: 16px 0;
	border-bottom: 1px dashed #643E2F;
	color: #643E2F;
}

.ul_blog li:first-child {
	padding-top: 0;
}

.ul_blog .blog_time {
	margin-bottom: 16px;
	display: inline-block;
}

.ul_blog a {
	line-height: 1.5;
	display: block;
	color: #643E2F;
	text-decoration: underline;
}

/*================= アーカイブ共通 =================*/
.wrap_archive_contents {
	width: 89%;
	margin: 0 auto;
}

.archive_contents {
	margin-bottom: 64px;
}

.archive_thumbnail {
	border: 1px solid #643E2F;
	width: calc(256 / 375 * 100vw);
	height: calc(256 / 375 * 100vw);
	margin: 0 auto;
}

.archive_thumbnail_no_image {
	border: none;
}

.campaign_archive .archive_thumbnail {
	border: none;
	border-radius: 20px;
}

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

.archive_time {
	text-align: center;
	margin: 32px 0 16px;
}

.ttl_h3_archive {
	line-height: 1.5;
	text-decoration: underline;
}

/* ページナビゲーション */
.wp-pagenavi {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin-top: 40px;
}

.wp-pagenavi span,
.wp-pagenavi a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 35px;
	height: 35px;
	border: 1px solid #8F7E61;
	margin: 0 5px;
	background: #fff;
	color: #8F7E61;
	border-radius: 5px;
	font-weight: bold;
}

.wp-pagenavi span {
	background: #8F7E61;
	color: #fff;
}

.wp-pagenavi span.extend {
	background: none;
	color: #8F7E61;
	border: none;
	width: 1px;
}

/*================= シングルページ共通 =================*/
.ttl_h2_single {
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.5;
	color: #643E2F;
	border-bottom: 2px solid #643E2F;
	padding-bottom: 16px;
	margin-bottom: 48px;
	position: relative;
}

.ttl_h2_single::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: #C2DB79;
	position: absolute;
	bottom: 8px;
	left: 0;
}

.img_thumbnail_single {
	margin-bottom: 48px;
	border: 1px solid #643E2F;
}

.img_thumbnail_single.img_thumbnail_single_no_image {
	border: none;
}

.single_campaign .img_thumbnail_single {
	border: none;
}

.single_time {
	margin-bottom: 16px;
}

.single_contents img {
	width: auto;
	max-width: 100%;
	height: auto;
}

/*================= プライバシーポリシー =================*/
.keyimage_policy .ttl_h2_keyimage {
	white-space: nowrap;
}

.wrap_policy_contents {
	letter-spacing: 0.1em;
}

.dl_policy {
	margin-top: 40px;
}

.dl_policy dt {
	letter-spacing: 0;
	color: #643E2F;
	margin-bottom: 8px;
}

.dl_policy dd {
	margin-bottom: 24px;
}

.dl_policy dd:last-of-type {
	margin-bottom: 0;
}

/*======================================== cta ========================================*/
.cta {
	border-top: 1px dashed rgba(100, 62, 47, 0.5);
}

.cta .wrap_text1 {
	text-align: center;
}

.wrap_cta_tel {
	margin-top: 48px;
	text-align: center;
	line-height: 1.5;
	color: #643E2F;
}

.cta_contents {
	margin-bottom: 40px;
}

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

.ttl_btn_cta span {
	display: none;
}

.ttl_btn_cta.ttl_btn_cta1 {
	text-shadow: 1px 1px 0 #C2DB79;
}

.btn_cta {
	margin: 8px 0;
}

.btn_cta a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	height: 64px;
	border: 2px solid #C2DB79;
	border-radius: 40px;
	font-size: 24px;
	font-size: 2.4rem;
	letter-spacing: 0.2em;
	color: #643E2F;
}

.btn_cta a::before {
	content: "\f87b";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	color: #C2DB79;
	margin-right: 16px;
}

.cta_contents2 .ttl_btn_cta.ttl_btn_cta1 {
	text-shadow: 1px 1px 0 #F0B774;
}

.cta_contents2 .btn_cta a {
	border: 2px solid #F0B774;
}

.cta_contents2 .btn_cta a::before {
	color: #F0B774;
}

.ul_cta_btn .btn a {
	height: 64px;
	text-align: center;
}

.ul_cta_btn .btn a::after {
	height: 64px;
}

/*======================================== footer ========================================*/
#footer {
	background: rgba(194, 219, 121, 0.5);
	padding-top: 40px;
}

#footer .google_map {
	margin-top: 0;
}

#footer .google_map iframe {
	width: 100%;
	display: block;
	border: 1px solid #643E2F;
	height: 33vh;
}

.img_google_map {
	margin-top: 40px;
}

.footer_address {
	margin: 16px 0 0;
	padding-bottom: 80px;
	letter-spacing: 0.1em;
	color: #643E2F;
	line-height: 1.5;
	text-align: center;
}

.footer_address address {
	margin-top: 16px;
}

.copyright {
	background: #643E2F;
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
	text-align: center;
	position: relative;
	padding: 16px 0;
}

.copyright::before {
	content: "";
	display: block;
	background: url(images/icon_footer_sp.png) no-repeat;
	background-size: contain;
	width: 70px;
	height: 142px;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}

.copyright a {
	color: #fff;
}

/* coming soon */
.coming_soon {
	text-align: center;
	font-size: 18px;font-size: 1.8rem;
	letter-spacing: 0.3em;
}

.img_coming_soon {
	margin-top: 48px;
}

/* カレンダー */
.wrap_footer_calendar {
	width: min(calc(352 / 375 * 100vw), 960px);
	margin: 0 auto 40px;
}

.wrap_footer_calendar p {
	color: #643E2F;
	line-height: 1.5;
	letter-spacing: -0.05em;
	font-size: 14px;font-size: 1.4rem;
}

.wrap_footer_calendar p a {
	color: #643E2F;
	text-decoration: underline;
}

.calendar_text {
	margin-top: -24px;
}


@media print, screen and (min-width: 769px) {
	body {
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 2;
	}
	.sp {
		display: none;
	}
	.pc {
		display: block;
	}
	.inner_section {
		width: 95%;
		max-width: 960px;
	}
	/*======================================== header ========================================*/
	#header {
		width: 120px;
		border-right: 1px dashed #8F7E61;
	}
	.wrap_header {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		height: 100vh;
		padding-left: 0;
	}
	.ttl_h1 {
		max-width: 88px;
		margin-top: 16px;
	}
	.ttl_h1_clinic {
		max-width: 85px;
	}
	.ttl_h1_menu {
		max-width: 88px;
	}
	.header_tel_pc {
		text-align: center;
		line-height: 1.5;
	}
	.ul_sns {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	.ul_sns li {
		margin-right: 16px;
	}
	.ul_sns li:last-child {
		margin-right: 0;
	}
	.ul_sns li a {
		font-size: 28px;
		font-size: 2.8rem;
	}
	.header_copyright {
		font-size: 12px;
		font-size: 1.2rem;
		text-align: center;
		line-height: 1.4;
		margin-top: 8px;
	}
	/* ハンバーガーメニュー内 */
	#g_nav {
		width: calc(100% - 120px);
		height: 100vh;
		min-height: 560px;
		padding: 32px 0;
		position: fixed;
		top: 0;
		left: auto;
		right: 100%;
		overflow-x: hidden;
		z-index: 500;
		-webkit-transition: 0.4s;
		transition: 0.4s;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}
	#g_nav::before {
		content: none;
	}
	.nav_toggle {
		cursor: pointer;
		width: 80px;
		height: 80px;
	}
	.ul_nav {
		width: 100%;
		max-width: 960px;
		margin: 0 auto;
	}
	.ul_nav a:hover {
		color: #F0B774 !important;
	}
	/* ボタン */
	.ul_nav1 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	.ul_nav1 li:nth-child(2) a {
		font-size: 14px;
		font-size: 1.4rem;
	}
	.ul_nav1 .btn {
		width: 30%;
		max-width: 288px;
		margin-bottom: 32px;
	}
	/* メニュー */
	.wrap_menu {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		max-width: 960px;
		margin: 0 auto;
		position: relative;
	}
	.wrap_menu::before {
		content: "";
		display: inline-block;
		background: url(images/icon_cat_menu.png) no-repeat;
		background-size: contain;
		width: 100px;
		height: 32px;
		position: absolute;
		left: 0;
		top: 38%;
		-webkit-transform: translate(-100%, -50%);
		transform: translate(-100%, -50%);
	}
	.ul_nav2 {
		width: 30%;
		max-width: 288px;
		margin-bottom: 56px;
	}
	.ul_nav2:nth-child(2), .ul_nav2:nth-child(3) {
		margin-bottom: 0;
	}
	.ul_nav2 li a {
		color: #643E2F;
		padding-bottom: 4px;
		margin-bottom: 16px;
		border-bottom: 1px solid #8F7E61;
		display: block;
		line-height: 1.3;
	}
	.ul_nav2 li.li_lv2 a {
		color: #8F7E61;
		border-bottom: 1px dashed #8F7E61;
		padding-left: 1em;
	}
	.ul_nav2 li:last-child a {
		margin-bottom: 0;
	}
	/* 開いたとき */
	.open #g_nav {
		left: auto;
		right: 0;
	}
	.open .nav_toggle img {
		display: none;
	}
	/*======================================== main ========================================*/
	/* 翻訳ボタン */
	.wrap_language a:hover {
		color: #F0B774;
	}
	#g_nav .wrap_language {
		display: none;
	}
	/* -------------------------共通設定 ここから------------------------- */
	/* キーイメージ */
	.wrap_keyimage {
		margin-left: 120px;
		margin-top: 0;
	}
	/* 下層キーイメージ */
	.ttl_h2_keyimage {
		width: calc(410 / 1280 * 100vw);
		height: calc(268 / 1280 * 100vw);
		background: url(images/keyimage/circle_pc.png) no-repeat;
		background-size: contain;
		font-size: calc(32 / 1280 * 100vw);
		letter-spacing: 0.4em;
		right: 60px;
		bottom: auto;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	/* 見出し */
	.ttl_h2 {
		max-width: 840px;
		margin: 0 auto 48px;
	}
	/* 背景 */
	.line_pad {
		background: url(images/top/activities_after_pc.png) repeat-x bottom;
		background-size: contain;
	}
	.ttl_green_contents {
		letter-spacing: 0.2em;
	}
	/* ボタン */
	.btn a {
		max-width: 356px;
		margin: 0 auto;
	}
	.reserve .btn a,
	.reserve02 .btn a{
		max-width: 556px;
	}
	/* -------------------------共通設定 ここまで------------------------- */
	.main {
		display: block;
		margin-left: 120px;
	}
	.wrap_text1 {
		text-align: center;
	}
	/* 迷い猫 */
	.wrap_stray_cat_contents {
		max-width: 880px;
		margin: 0 auto;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.stray_cat_contents {
		width: calc(100% / 3 - 100px / 3);
		margin: 0 50px 0 0;
		text-align: center;
		padding-bottom: 8px;
		border-bottom: 1px dashed #707070;
		margin-bottom: 0;
	}
	.stray_cat_contents:nth-child(3n) {
		margin-right: 0;
	}
	.thumbnail_cat img {
		transition: 0.2s;
	}

	.stray_cat_contents a:hover img {
		transform: scale(1.2);
	}
	/*================= 活動実績 =================*/
	.dl_achievement div {
		margin-bottom: 0;
	}
	.dl_achievement div:nth-child(2) dd div::after {
		background: url(images/achivement/icon_cat_pc.png) no-repeat;
		background-size: contain;
		width: 38px;
		height: 66px;
		bottom: 24px;
	}
	.dl_achievement dt {
		border-bottom: none;
		padding-bottom: 0;
		position: relative;
	}
	.dl_achievement dt::after {
		content: "";
		display: inline-block;
		width: calc(100% - 4.5em);
		height: 1px;
		background: #8F7E61;
		position: absolute;
		top: 50%;
		right: 0;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	.dl_achievement dd {
		width: 90%;
	}
	.dl_achievement dd div {
		padding-bottom: 24px;
	}
	.dl_achievement dd::before {
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	.dl_achievement dd::after {
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	.dl_achievement dd ul {
		background: rgba(194, 219, 121, 0.1);
		width: 96%;
		margin: -15px 0 0 auto;
		padding: 24px 48px;
	}
	.dl_achievement dd ul li {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	.dl_achievement dd ul li::before {
		margin-right: 0;
	}
	/*================= ブログ一覧 =================*/
	.ul_blog li {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		align-items: center;
	}
	.ul_blog .blog_time {
		margin-bottom: 0;
		margin-right: 40px;
	}
	.archive_blog .wp-pagenavi {
		margin-top: 48px;
	}
	/*================= アーカイブ共通 =================*/
	.wrap_archive_contents {
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.archive_contents {
		width: calc(100% / 3 - 96px / 3);
		margin-right: 48px;
		margin-bottom: 48px;
	}
	.archive_contents:nth-child(3n) {
		margin-right: 0;
	}
	.archive_thumbnail {
		width: 100%;
		height: auto;
		max-width: 256px;
		position: relative;
		overflow: hidden;
	}
	.archive_thumbnail::before {
		content: "";
		display: block;
		padding-top: 100%;
	}
	.archive_thumbnail img {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		-webkit-transition: 0.2s;
		transition: 0.2s;
	}
	.archive_contents a:hover .archive_thumbnail img {
		-webkit-transform: scale(1.2);
		transform: scale(1.2);
	}
	.ttl_h3_archive {
		max-width: 256px;
		margin: 0 auto;
	}
	/* ページナビゲーション */
	.wp-pagenavi {
		margin-top: 0;
	}
	.wp-pagenavi a:hover {
		background: #8F7E61;
		color: #fff;
	}
	/*================= シングルページ共通 =================*/
	.ttl_h2_single {
		font-size: 32px;
		font-size: 3.2rem;
		text-align: center;
	}
	.ttl_h2_single::after {
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		background: #C2DB79;
		position: absolute;
		bottom: 8px;
		left: 0;
	}
	.img_thumbnail_single {
		max-width: 400px;
		margin: 0 auto 48px;
	}
	.img_thumbnail_single img {
		object-fit: cover;
		height: 400px;
	}
	.single_time {
		margin-bottom: 16px;
	}
	.single_contents {
		letter-spacing: 0.1em;
	}
	.single_contents img {
		width: auto;
		max-width: 100%;
		height: auto;
	}
	/*======================================== cta ========================================*/
	.cta .inner_section {
		max-width: 1128px;
	}
	.wrap_cta_tel {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		max-width: 960px;
		margin: 48px auto 0;
	}
	.cta_contents {
		width: 49%;
		max-width: 460px;
		margin-bottom: 0;
	}
	.ttl_btn_cta {
		font-size: 18px;
		font-size: 1.8rem;
	}
	.ttl_btn_cta span {
		display: inline;
	}
	.btn_cta a:hover {
		background: #C2DB79;
		color: #fff;
	}
	.btn_cta a:hover::before {
		color: #fff;
	}
	.cta_contents2 .btn_cta a:hover {
		background: #F0B774;
	}
	.ul_cta_btn {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	.ul_cta_btn .btn {
		width: 33%;
		max-width: 360px;
	}
	.ul_cta_btn .btn:first-child {
		min-width: 300px;
	}
	.ul_cta_btn .btn a {
		height: 64px;
		text-align: center;
	}
	.ul_cta_btn .btn a::after {
		height: 64px;
	}
	/*======================================== footer ========================================*/
	#footer {
		margin-left: 120px;
	}
	.wrap_footer_contents {
		display: flex;
		justify-content: space-between;
	}
	#footer .google_map {
		width: 48%;
		max-width: 460px;
	}
	#footer .google_map iframe {
		height: 240px;
	}
	.img_google_map {
		width: 48%;
		max-width: 460px;
		margin-top: 0;
	}
	.footer_address {
		padding-bottom: 40px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	.footer_address address {
		margin-top: 0;
		margin-left: 16px;
	}
	.copyright::before {
		background: url(images/icon_footer_pc.png) no-repeat;
		background-size: contain;
		width: 100px;
		height: 202px;
	}
	.copyright a:hover {
		text-decoration: underline;
	}

	/* カレンダー */
	.wrap_footer_calendar {
		width: min(95%, 960px);
		padding: 24px 17px;
		border: 1px solid #643E2F;
	}

	.wrap_footer_calendar p a:hover {
		color: #F0B774;
	}

	.calendar_text {
		margin-top: -28px;
	}

	/* パンくず */
	.breadcrumbs {
		width: 100%;
		left:24px;
		transform: translatex(0);
		font-size: 14px;font-size: 1.4rem;
	}
}

/* ========== 20251017 追加 ========== */
.text_link {
	text-decoration: underline;
}

.text_link:hover {
	color: #F0B774;
}

/* ========== クリニック関係 ========== */
/* フォント関係 */
.page_clinic {
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #232323;
}

/* ボタン */
.page_clinic .btn a {
	background: #3F2A2C;
	color: #fff;
	border: none;
}

.page_clinic .btn a::after {
	content: none;
}

/* キーイメージ */
.page_clinic .ttl_h2_keyimage {
	color: #232323;
	background-image: url(images/clinic/circle_sp.png);
	text-shadow: none;
	font-weight: 900;
}

/* 共通CTA */
.page_clinic .wrap_cta_tel {
	color: #232323;
}

.page_clinic .ttl_btn_cta.ttl_btn_cta1 {
	text-shadow: none;
}

.page_clinic .btn_cta a {
	border-color: #C61A26;
	color: #232323;
}

.page_clinic .btn_cta a::before {
	color: #C61A26;
}

/* footer */
.page_clinic #footer {
	background: none;
}
/* footerカレンダー */
.page_clinic .wrap_footer_calendar p,
.page_clinic .footer_address {
	color: #232323;
}

.page_clinic .wrap_footer_calendar p a {
	color: #C61A26;
}

/* コピーライト */
.page_clinic .copyright {
	background: #232323;
}

.page_clinic .copyright::before {
	background-image: url(images/clinic/icon_footer_sp.png);
}

/* 言語・ナビ */
.page_clinic .ul_nav2 li a,
.page_clinic .wrap_language a,
.page_clinic .ul_sns li a {
	color: #232323;
}

.page_clinic .wrap_language a,
.page_clinic .header_tel_pc,
.page_clinic .header_copyright {
	font-weight: 900;
}

.page_clinic #g_nav::before {
	background-image: url(images/clinic/img_scroll.png);
}

/* パンくず */
.page_clinic .breadcrumbs a {
	color: #C61A26;
}

/* テキストリンク */
.page_clinic .text_link {
	color: #C61A26;
}
@media (min-width: 769px) {
	/* ボタン */
	.page_clinic .btn_cta a {
		transition: 0.2s;
	}
	
	.page_clinic .btn_cta a:hover,
	.page_clinic .btn a:hover {
		background: #C42C33;
		transform: translate(0, 0);
		color: #fff!important;
	}
	
	/* 共通CTA */
	.page_clinic .btn_cta a:hover,
	.page_clinic .btn_cta a:hover::before {
		color: #fff;
	}

	/* footerカレンダー */
	.page_clinic .wrap_footer_calendar {
		padding: 0;
		border: none;
	}

	.page_clinic .calendar_text {
		max-width: 912px;
		margin-left: auto;
		margin-right: auto;
	}

	/* コピーライト */
	.page_clinic .copyright::before {
		background-image: url(images/clinic/icon_footer_pc.png);
	}
	
	/* 言語・ナビ */
	.page_clinic .ul_nav2 li a:hover,
	.page_clinic .wrap_language a:hover,
	.page_clinic .ul_sns li a:hover {
		color: #C61A26!important;
	}
	
	.page_clinic .wrap_menu::before {
		background-image: url(images/clinic/icon_cat_menu.png);
	}
}