/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Oct 14 2025 | 15:17:29 */
/********************************
全体のタグ調整
*********************************/
/* h2調整 */
@media screen and (max-width:480px) {
	h2.wp-block-heading span {
		font-size:22px !important;
	}
	h2.wp-block-heading span span {
		font-size:22px !important;
	}
}
/* h3調整 */
@media screen and (max-width:480px) {
	h3.wp-block-heading span {
		font-size:20px !important;
	}
	h3.wp-block-heading span span {
		font-size:20px !important;
	}
}
/* h4調整 */
@media screen and (max-width:480px) {
	h4.wp-block-heading span {
		font-size:18px !important;
	}
	h4.wp-block-heading span span {
		font-size:18px !important;
	}
}

/* ページのメインコンテンツの上余白調整 */
.l-content {
	padding-top: 0;
}
.l-content .post_content {
	margin-top: 0;
}
.w-pageTop {
	margin: 0;
}

/* FAQ */
.fq { margin-bottom: 5rem; }
/* Q */
.fq .swell-block-accordion__title {
	padding-left: 4rem;
	font-weight: 700;
}
.fq .swell-block-accordion__title::before {
	box-shadow: 0 0 0 1px currentcolor;
	content: "Q";
	position: absolute;
	border-radius: 50%;
	left: 1em;
	top: 50%;
	transform: translateY(-50%); 
	bottom: unset;
	display: block;
	font-family: Arial, sans-serif;
	font-weight: 400;
	line-height: 2;
	text-align: center;
	width: 2em;
}
/* A */
.fq .swell-block-accordion__body p {
	position: relative;
	padding-left: 3rem;
}
.fq .swell-block-accordion__body p::before {
	border-radius: 50%;
	content: "A";
	position: absolute;
	left: 0;
	display: block;
	font-family: Arial, sans-serif;
	line-height: 2;
	text-align: center;
	width: 2em;
	background-color: #6599b7;
	color: #fff;
}

/********************************
各ページ
*********************************/
/* --- TOP ---*/
.top {
	/* あしあと */
	/* あしあと(共通) */
	.foot-print {
		position: absolute;
		z-index: 4;
		opacity: 0;
		transform: scale(0.8);
		transition:
			opacity 0.6s ease-out,
			transform 0.6s ease-out;
		will-change: opacity, transform;
		pointer-events: none;
	}
	.foot-print.is-visible {
		animation: fp-stamp 0.4s ease-out both;
		animation-delay: var(--delay, 0s);
	}
	.foot-print:not(.is-visible) {
		transition-delay: 0s;
	}

	/* 中央のあしあと領域 */
	.foot-print-area {
		position: relative;
		height:150px;
		.foot-print:nth-child(1) { --delay: 0s !important; }
		.foot-print:nth-child(2) { --delay: 0.15s !important; }
		.foot-print:nth-child(3) { --delay: 0.3s !important; }
		.foot-print:nth-child(4) { --delay: 0.45s !important; }
		
		.fp1 { top: -70px; right: 0; }
		.fp2 { bottom: -20px; right: 170px; }
		.fp3 { top: 0; right: 390px; }
		.fp4 { bottom: -80px; right: 610px; }

		@media screen and (max-width:480px) {
			height:100px;
			.foot-print img { width: 80px !important; }
			.fp1 { top: -55px; right: 0; }
			.fp2 { bottom: -20px; right: 65px; }
			.fp3 { top: 0; right: 185px; }
			.fp4 { bottom: -55px; right: 260px; }
		}
	}
	/* 右上：↙︎ */
	.fp01 {
		top: 0;
		right: 0;
	}
	.fp02 {
		top: 100px;
		right: 60px;
	}
	/* 左下：↙︎ */
	.fp03 {
		bottom: 0;
    	left: 40px;
	}
	.fp04 {
		bottom: -100px;
    	left: -20px;
	}
	/* 左上：↘︎ */
	.fp05 {
		top: -80px;
    	left: 20px;
	}
	.fp06 {
		top: 20px;
    	left: 90px;
	}
	/* 右下：↘︎ */
	.fp07 {
		bottom: 80px;
    	right: 90px;
	}
	.fp08 {
		bottom: -20px;
    	right: 20px;
	}
}
@keyframes fp-stamp {
  0% {
    opacity: 0;
    transform: scale(0.8);
  }
  100% {
    opacity: 0.12;
    transform: scale(1);
  }
}

/* --- トリミング ---*/
.page-id-94 {
    /* 料金・メニュー */
	.price figure {
		height: 240px;
		overflow: auto;
	}
	
	/* テーブルのヘッダー */
	.price tr th {
		background-color: #1e3162;
		border: 1px solid #FFFFFF;
		position: sticky;
		vertical-align: middle;
		top: 0;
		left: 0;
		z-index: 1;
	}

	/* セル全体 */
	.price tr td {
		border:none;
		border: 1px solid #FFFFFF;
	}

	/* 最初の列 */
	.price tbody tr td:first-child {
		color: #1e3162;
		background-color: #b7e3ff !important;
		z-index:unset;
	}
	/* 2列目以降 */
	.price tbody tr td:not(:first-child) {
	    background-color: #f3f8fd;
	}

	/* その他犬種はこちら */
	.price .swell-block-accordion__title {
		padding: 0.5rem 1rem;
		background-color:#7989b4;
		text-align: center;
		border: 1px solid #FFFFFF;
	}
	.price .swell-block-accordion__body {
		border: none;
		padding:0;
	}
	.price .swell-block-columns {
		border-bottom: 1px solid #dedede;
	}
}

/* --- ペットホテル・一時預かり ---*/
.page-id-96 {
	.dog-run .wp-block-media-text__content {
    	padding-top:0px;
    	h3 {
			margin-bottom: 1rem;
		}
	}
	/* テーブルを下線のみに */
	.only-under-line td {
		border:none;
		border-bottom: 1px solid #dcdcdc;
		vertical-align: middle;
	}
	
	@media screen and (max-width:480px) {
		.dog-run .wp-block-media-text__content {
			padding:1rem 0 0 0 !important;
		}
	}
}

/* --- お知らせ ---*/
.id_112 {
	.p-homeContent .p-postList li:first-child {
	 	display: none;
	}
}

/* --- 求人情報 ---*/
.page-id-100 {
	.require-trimmer ul {
	 	border-bottom: 1px dashed hsla(0,0%,78%,.5);
    	padding-bottom: 10px;
	}
}

/* --- 会社概要 ---*/
.page-id-98 {
	.about .swell-block-fullWide__inner {
		max-width: 700px;
	}
	.about .swell-block-columns {
		padding-bottom: 1rem;
		border-bottom: 1px solid #dcdcdc;
	}
	.about .swell-block-column {
		padding-left: 1rem;
	}
	
	@media screen and (max-width:480px) {
		.about .swell-block-columns {
			text-align: center;
		}
	}
}

/********************************
アニメーション
*********************************/
/* --- スライドイン・フェードイン ---*/
/* 初期状態 */
.reveal-fade,
.reveal-from-bottom,
.reveal-from-right,
.reveal-from-left,
.reveal-item,
.reveal-seq {
	opacity: 0;
	will-change: opacity, transform;
    transition:
        opacity 2000ms cubic-bezier(.22, .61, .36, 1),
        transform 800ms  cubic-bezier(.22, .61, .36, 1);
}

/* 方向別オフセット：非表示時のみ適用 */
.reveal-from-bottom:not(.is-visible),
.reveal-item.reveal-from-bottom:not(.is-visible),
.reveal-seq.reveal-from-bottom:not(.is-visible) {
    transform: translate3d(0, 30px, 0);
}

.reveal-from-right:not(.is-visible),
.reveal-item.reveal-from-right:not(.is-visible),
.reveal-seq.reveal-from-right:not(.is-visible) {
    transform: translate3d(30px, 0, 0);
}

.reveal-from-left:not(.is-visible),
.reveal-item.reveal-from-left:not(.is-visible),
.reveal-seq.reveal-from-left:not(.is-visible) {
    transform: translate3d(-30px, 0, 0);
}

/* 単純フェード（非表示時も transform は触らない） */
.reveal-fade:not(.is-visible),
.reveal-item.reveal-fade:not(.is-visible),
.reveal-seq.reveal-fade:not(.is-visible) {
    transform: none;
}

/* 表示状態 */
.is-visible {
    opacity: 1;
    transform: none;
}

/* 親に .reveal-stagger-XXX を付けた時の基準幅（ms） */
[class*="reveal-stagger-"] .reveal-item {
    /* data-delay を反映できるよう予備変数も用意 */
    --stagger: 300ms;               /* デフォルト */
    --extra-delay: 0ms;             /* data-delayを加算 */
    transition-delay: calc(var(--i, 0) * var(--stagger) + var(--extra-delay));
}

/* --- リストの要素にマーカー引く ---*/
ul.draw-marker > li {
	position: relative;
	display: inline;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	background-image: linear-gradient(
		transparent 50%,
		#fcf69f 50%
	  );
	background-repeat: no-repeat;
	background-position: left 24px bottom;
	background-size: 0% 100%;
  	transition: background-size 0.8s ease;
	will-change: background-size;
}
/* アニメ開始後は横に伸びる */
ul.draw-marker > li.is-marked {
	background-size: calc(100% - 24px) 100%;
}

/********************************
ユーティリティ
*********************************/
/* さわらびゴシックを適用する */
.font-sawarabi {
  font-family: 'Sawarabi Gothic', sans-serif;
}
/* 余白 */
.pt-0 {
	padding-top: 0 !important;
}
.pt-10 {
	padding-top: 1rem !important;
}
.pt-20 {
	padding-top: 2rem !important;
}
.pt-30 {
	padding-top: 3rem !important;
}
.pt-40 {
	padding-top: 4rem !important;
}
.pt-50 {
	padding-top: 5rem !important;
}

.pb-0 {
	padding-bottom: 0 !important;
}
.pb-10 {
	padding-bottom: 1rem !important;
}
.pb-20 {
	padding-bottom: 2rem !important;
}
.pb-30 {
	padding-bottom: 3rem !important;
}
.pb-40 {
	padding-bottom: 4rem !important;
}
.pb-50 {
	padding-bottom: 5rem !important;
}

.mt-0 {
	margin-top: 0 !important;
}
.mt-10 {
	margin-top: 1rem !important;
}
.mt-20 {
	margin-top: 2rem !important;
}
.mt-30 {
	margin-top: 3rem !important;
}
.mt-40 {
	margin-top: 4rem !important;
}
.mt-50 {
	margin-top: 5rem !important;
}

.mb-0 {
	margin-bottom: 0 !important;
}
.mb-10 {
	margin-bottom: 1rem !important;
}
.mb-20 {
	margin-bottom: 2rem !important;
}
.mb-30 {
	margin-bottom: 3rem !important;
}
.mb-40 {
	margin-bottom: 4rem !important;
}
.mb-50 {
	margin-bottom: 5rem !important;
}
/* ポジション */
.relative {
	position: relative;
}