@charset "UTF-8";


/*=======================================================*/
/*					セクション毎のCSS					  */
/*======================================================*/

/*============ 共通 =========== */

/* 親要素からはみ出して画面いっぱいに */
.full {
	margin: 0 calc(50% - 50vw);
	width: 100vw;
}
@media print {
	.full {
		margin: 0;
		width: 100%;
	}
}
/*パンくず*/
.sec_pankuzu{
	padding: 0 0 15px 0;
	background-color: var(--base-color);
	position: relative;
	z-index: 1;
}

/**/
.common_end {
	padding: clamp(30px, 5vw, 100px) 0;
	background-color: #fff;
	position: relative; /* sectionの位置を相対的にする*/
	z-index: 1; /* 背景画像より上に表示 */
}
/*背景（各ページで変えることも可）*/
.combg-01{
	background-image: url(../img/bg_03.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.common_end p {
	font-size: clamp(15px,1.5vw,16px);
	line-height: 1.5;
	color: #fff;
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.9);
}

.bgfit{
	background-color: #14534bd9;
	max-width: 970px;
	padding: 50px 20px 20px 20px;
	margin: 0 auto;
	border-radius: 13px;
}

/**/
.spot__heading03 {
	position: relative; /* 親要素を相対位置に設定 */
}
.spot__heading03 h3 {
	font-size: clamp(14px,1.5vw,16px);
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.9);
	line-height: 1.5;
	margin-bottom: 15px;
	font-weight: 400;
	text-align: center;
	color: #fff;
	padding-top: 25px;
}
.spot__heading03 span {
	position: absolute;
	font-family: "Corinthia", cursive;
	margin: 0;
	font-size: clamp(50px,5vw,60px);
	text-align: center;
	top: -0.65em; /* 調整が必要かもしれません */
	left: 50%;
	transform: translateX(-50%);
	/*transform-origin: left top;*/
	pointer-events: none;
	/*white-space: nowrap;*/
	/*text-transform: lowercase;*/
	font-weight: normal;
	color: #fff4d1;
	opacity: 0.8;
	z-index: 2;
}
@media only screen and (max-width: 868px) {
	.spot__heading03 h3 {
		text-align: justify;
	}
}
/*印刷用*/
@media print{
	.spot__heading03 h3 {
		font-size: clamp(14px,1.5vw,16px);
		text-shadow: 0 0 10px rgba(0, 0, 0, 0.9);
		line-height: 1.5;
		font-family: 'Noto Serif JP', serif;
		margin-bottom: 15px;
		font-weight: 600;
		text-align: center;
		color: #fff;
		padding-top: 25px;
	}
}

/*フッターバナー：簡素版*/
.footerbnr2 {
	padding: clamp(25px, 3vw, 50px) 0;
	position: relative;
	z-index: 1;
	background-color: #FFF;
}



/*======= TOPページ ======*/
/*ご挨拶*/
.greeting {
	padding: var(--v-space3) 0 clamp(20px, 4vw, 30px) 0;
	background-color: #fff;
	position: relative; /* sectionの位置を相対的にする*/
	z-index: 1; /* 背景画像より上に表示 */
	position: relative;
	overflow: hidden;
}
/* 10個の円をまとめて生成 */
.greeting::before {
	content: "";
	position: absolute;
	inset: 0;

	background:
		radial-gradient(circle 120px at 10% 20%,  #e1fff5cc 0%, #e1fff500 70%),
		radial-gradient(circle 180px at 85% 15%,  #ffe1e1cc 0%, #ffe1e100 70%),
		radial-gradient(circle 150px at 25% 75%,  #e5e7ffcc 0%, #e5e7ff00 70%),
		radial-gradient(circle 200px at 80% 70%,  #f7ffe1cc 0%, #f7ffe100 70%),
		radial-gradient(circle 140px at 50% 45%,  #e1f0ff99 0%, #e1f0ff00 70%),
		radial-gradient(circle 100px at 70% 85%,  #ffe1f599 0%, #ffe1f500 70%);

	background-repeat: no-repeat;
	background-size: auto;
	opacity: 1;
	z-index: -1;
}

.greeting-haba {
	margin: 0 auto;
	max-width: 900px;
	padding: 1% 0 0 0;
}
/*冒頭一文*/
p.grp{
	font-size: clamp(13px, 1.3vw, 14px);
	line-height: 1.3;
	margin: 0 auto 10px auto;
	width: fit-content;
	color: var(--main-color);
}

/*サブキャッチ補足文章*/
.lead-p {
	text-align: center;
	color: #4d847c;
	font-size: clamp(16px, 1.6vw, 18px);
	font-weight: 400;
	margin: 5px auto 10px auto;
	line-height: 1.4;
	/*font-family: "Zen Maru Gothic", sans-serif;*/
}
@media (max-width: 568px) {
	.lead-p {
		text-align: justify;
	}
}

/**/
p.grp2{
	font-size: clamp(15px, 1.4vw, 16px);
	line-height: 1.7;
	font-weight: 400;
	text-align: justify;
}

/*お問い合わせバナー*/
.tel_bnr{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: 1fr;
	grid-column-gap: 20px;
	grid-row-gap: 10px;
}
@media only screen and (max-width: 568px) {
	.tel_bnr{
		grid-template-columns: repeat(1, 1fr);
		grid-row-gap: 10px;
	}
}


/*取扱いペット*/
.top_sec1{
	padding: clamp(20px, 3vw, 40px) 0;
	background-color: #ffffff;
	position: relative; /* sectionの位置を相対的にする*/
	z-index: 1; /* 背景画像より上に表示 */
}
/**/
.strength-section {
	padding: 40px 1rem 75px 1rem;

	/* 複数レイヤー背景：上から順に重ねる */
	background-image: 
	url(../img/bg_01a.png), /* 右画像 */
	url(../img/bg_01b.png), /* 左画像 */
	repeating-linear-gradient(135deg, #cbdfae33, #d8e1d233 14px, #ffffff10 14px, #ffffff10 18px);

	background-repeat: no-repeat, no-repeat, repeat;
	background-position: left bottom, right bottom, top left;
	background-size: 370px, 360px, auto;
	background-color: #f7f9f4; /* 万が一の下地色 */
}
/* レスポンシブ対応 */
@media (max-width: 768px) {
	.strength-section {
		padding: 40px 15px 120px 15px;
		background-size: 300px, 300px, auto;
	}
}
@media (max-width: 568px) {
	.strength-section {
		padding: 40px 15px 120px 15px;
		background-size: 230px, 260px, auto;
	}
}
/*印刷用*/
@media print{
	.strength-section {
		padding: 40px 1rem 75px 1rem;

		/* 複数レイヤー背景：上から順に重ねる */
		background-image: 
		url(../img/bg_01a.png), /* 右画像 */
		url(../img/bg_01b.png), /* 左画像 */
		repeating-linear-gradient(135deg, #cbdfae33, #d8e1d233 14px, #ffffff10 14px, #ffffff10 18px);

		background-repeat: no-repeat, no-repeat, repeat;
		background-position: left bottom, right bottom, top left;
		background-size: 370px, 360px, auto;
		background-color: #f7f9f4; /* 万が一の下地色 */
	}
}
/* グリッド（PC：2列） */
.pet-grid {
	display: grid;
	gap: 30px;
	grid-template-columns: repeat(2, 1fr);
	max-width: 1080px;
	margin: 30px auto 0;
}
/* カード本体 */
.pet-block {
	display: flex;
	background: #ffffffe8;
	border-radius: 16px;
	padding: 18px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
	gap: 18px;
	align-items: flex-start;
}
/* テキスト部分 */
.pet-content h3 {
	font-size: 20px;
	color: #1d7723;
	margin-bottom: 8px;
}
.pet-content p {
	font-size: 15px;
	color: #555;
	line-height: 1.6;
	text-align: justify;
	margin: 0;
}


/* PC時：画像を固定比率のボックスにする */
.pet-img {
	position: relative;
	width: 200px;
	height: 150px; /* 4:3 推奨 */
	flex-shrink: 0;
	overflow: hidden;
	border-radius: 12px;
}

/* 各画像は比率を保って埋める */
.pet-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* -------------------------
   中画面（～968px）：2列だけどカード内縦並び
-------------------------- */
@media (max-width: 968px) {
  .pet-block {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .pet-img {
    width: 100%;
    height: auto;
    max-width: 250px; /* 好きなサイズで制限可能 */
  }
  .pet-content p {
    text-align: left;
  }
}

/* -------------------------
   スマホ（～668px）：1列グリッド・縦並び
-------------------------- */
@media (max-width: 668px) {
  .pet-grid {
    grid-template-columns: 1fr;
  }
  .pet-block {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .pet-img {
    width: 100%;
    height: auto;
    max-width: 100%;
  }
}

/*印刷用*/
@media print{
	.pet-grid {
		display: grid;
		gap: 30px;
		grid-template-columns: repeat(2, 1fr);
		max-width: 1080px;
		margin: 30px auto 0;
	}
	.pet-block {
		display: flex;
		background: #ffffffe8;
		border-radius: 16px;
		padding: 18px;
		box-shadow: 0 4px 12px rgba(0,0,0,0.1);
		gap: 18px;
		align-items: flex-start;
	}
	.pet-img {
		position: relative;
		width: 200px;
		height: 150px; /* 4:3 推奨 */
		flex-shrink: 0;
		overflow: hidden;
		border-radius: 12px;
	}
	.pet-img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

/* アニメーション初期状態 */
.pet-block {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}
/* 出現時（.show が付与された時） */
.pet-block.show {
	animation: fadeSlideUp 0.8s ease-out forwards;
}

/* 順番で遅延を付ける */
.pet-block.show:nth-child(1) { animation-delay: 0.1s; }
.pet-block.show:nth-child(2) { animation-delay: 0.2s; }
.pet-block.show:nth-child(3) { animation-delay: 0.3s; }
.pet-block.show:nth-child(4) { animation-delay: 0.4s; }

/* アニメーション本体（既存のものをそのまま引用） */
@keyframes fadeSlideUp {
	0% {
		opacity: 0;
		transform: translateY(30px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/* 印刷時にアニメ無効（既存仕様合わせ） */
@media print {
	.pet-block {
		opacity: 1 !important;
		transform: none !important;
		animation: none !important;
		transition: none !important;
	}
	.pet-block:not(.show) {
		opacity: 1 !important;
		transform: none !important;
	}
}


/*店舗案内*/
.info_sec1{
	padding: var(--v-space3) 0 var(--v-space2) 0;
	background-color: #fff;
	position: relative; /* sectionの位置を相対的にする*/
	z-index: 1; /* 背景画像より上に表示 */
	background-image: url(../img/bg_02.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
}

/* 全体コンテナ */
.info_haba {
	max-width: 930px;
	margin: 50px auto 0 auto;
	background-color: #ffffffb5;
	padding: 15px 25px;
	/*border: 1px #d8e6e4 solid;*/
	box-shadow: 0 4px 10px rgba(62, 129, 132, 0.1);
}
/**/
@media screen and (max-width: 568px) {
	.info_haba {
		padding: 15px 15px;
	}
}
/* テーブルデザイン */
.info_container {
	display: grid;
	grid-template-columns: 1fr;
}
.info_container .item {
	border-bottom: 1px solid #cad5d3;
	/*background-color: #ffffff85;*/
	padding: 8px 5px;
	display: grid;
	grid-template-columns: 12.5em 1fr;
	align-items: stretch;
	gap: 20px;
}
.info_container .label {
	display: flex;
	align-items: center;
	font-weight: bold;
	color: #353535;
	white-space: nowrap;
	padding: 5px;
	font-size: clamp(15px, 1.6vw, 16px);
}
.info_container .content {
	display: flex;
	align-items: center;
	color: #333;
	padding: 5px;
	font-size: clamp(14px, 1.6vw, 16px);
}

/**/
@media screen and (max-width: 568px) {
	.info_container .item {
		grid-template-columns: 1fr;
		padding: 8px 1px;
		gap: 0;
	}
	.info_container .label {
		line-height: 1.6;
		background-color: #dff0eea8;
	}
	.info_container .content {
		display: block;
		font-size: 15px;
		line-height: 1.4;
		padding: 10px 5px 5px 5px;
		text-align: justify;
	}
}


/*アクセス*/
.access-sec{
	padding: var(--v-space) 0 var(--v-space2) 0;
	background-color: #f4fbfa;
	position: relative; /* sectionの位置を相対的にする*/
	z-index: 1; /* 背景画像より上に表示 */
	background-image: radial-gradient(#fff 15%, transparent 16%), radial-gradient(#cce3f054 15%, transparent 16%);
	background-size: 20px 20px;
	background-position: 0 0, 10px 10px;
}
/*カードレイアウト*/
.access_sec1_subcontainer {
	margin: 30px 0 0 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
}
.access_sec1_card {
	padding: 20px 20px 15px 20px;
	box-shadow: 0 2px 11px rgba(142, 142, 142, 0.1);
	border-radius: 5px;
	background-color: #fffffff0;
}

/**/
.access_sec1_card h3 {
	font-family: "Zen Kaku Gothic New", serif;
	font-size: clamp(18px, 2vw, 22px);
	font-weight: bold;
	margin-top: 5px;
	margin-bottom: 7px;
	color: var(--sub-color1);
	border-bottom: solid 2px #d9d9d9;
	padding-bottom: 0.2em;
	position: relative;
}
.access_sec1_card h3::after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 2px var(--accent-color3);
	padding-bottom: 0.2em;
	width: 25%;
}

.access_sec1_card p {
	margin-top: 5px;
	margin-bottom: 10px;
}




/*======= 鳥・観賞魚・爬虫類・両生類ページ ======*/
.bfr_sec {
	padding: var(--v-space3) 0 clamp(15px, 2vw, 20px) 0;
	background-color: #fff;
	position: relative; /* sectionの位置を相対的にする*/
	z-index: 1; /* 背景画像より上に表示 */
}

/*共通*/
h4.fuz-tit {
	margin: 10px auto;
	padding: 5px 10px 0 10px;
	font-family: "Zen Kaku Gothic New", serif;
	font-size: clamp(18px, 1.7vw, 19px);
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
}
p.price{
	font-size: clamp(15px, 1.5vw, 16px);
	font-weight: 600;
	line-height: 1;
	text-align: right;
	padding: 0 10px;
	color: #d36b00;
	margin: 9px 0 5px 0;
}
p.desc{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: clamp(14px, 1.5vw, 15px);
	font-weight: 400;
	line-height: 1.4;
	text-align: justify;
	padding: 5px 10px;
}
p.price span{
	font-size: clamp(11px, 1.2vw, 13px);
	font-weight: 400;
	color: #444;
	display: inline-block;
	margin-right: 10px;
	line-height: 1.1;
	font-feature-settings: 'palt' 1;
	-webkit-font-smoothing: antialiased;
	font-family: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
}
/*一言枠*/
/*ピンク*/
.bg_b {
	background: #faefed;
	padding: 20px;
	margin: 0;
	outline: 2px dashed white;
	outline-offset: -0.8rem;
}
.bg_b p,
.bg_c p,
.bg_d p {
	font-size: clamp(15px, 1.5vw, 16px);
	line-height: 1.4;
	text-align: justify;
}
/*薄ブルーグリーン*/
.bg_c {
	background: #eaf2f1;
	padding: 20px;
	margin: 5px 0 0 0;
	outline: 2px dashed white;
	outline-offset: -0.8rem;
}
/*カード内なので調整*/
.bg_c2 {
	background: #eaf2f1;
	padding: 15px;
	margin: 5px 0 0 0;
	outline: 2px dashed white;
	outline-offset: -0.8rem;
}

/*くすみ黄*/
.bg_d {
	background: #f9f3e8;
	padding: 20px;
	margin: 5px 0 0 0;
	outline: 2px dashed white;
	outline-offset: -0.8rem;
}


/* タグ */
/*爬虫類*/
.kakomi01{
	padding: 2px 4px 4px 4px;
	margin: 0 5px 0 0;
	background-color: #f2e4b0;
	color:#645226;
	border-radius: 5px;
	text-align: center;
	display: inline-block;
	font-size: clamp(12px, 1.3vw, 12px);
}
/*両生類*/
.kakomi02{
	padding: 2px 4px 4px 4px;
	margin: 0 5px 0 0;
	background-color: #aad0b4;
	color:#1c4427;
	border-radius: 5px;
	text-align: center;
	display: inline-block;
	font-size: clamp(12px, 1.3vw, 12px);
}


/* =========================================================
鳥
========================================================= */
.birds_sec {
	padding: var(--v-space3) 0;
	background-color: #fff;
	position: relative; /* sectionの位置を相対的にする*/
	z-index: 1; /* 背景画像より上に表示 */
	background-image: radial-gradient(rgba(197, 227, 223, 0.33) 15%, transparent 16%), radial-gradient(rgba(234, 200, 200, 0.33) 15%, transparent 16%);
	background-size: 20px 20px;
	background-position: 0px 0px, 10px 10px;
}
/*flexで*/
.bird-card-list-container,
.fish-card-list-container,
.reptile_amphibian-card-list-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	margin: 30px 0;
	box-sizing: border-box;
}
.bird-card,
.fish-card,
.reptile_amphibian-card {
	width: calc((100% - 40px) / 3); /* gap分引いた上で4分割 */
	min-width: 290px; /* スマホで潰れすぎ防止 */
	padding: 15px;
	border-radius: 8px;
	background-color: #fff;
	box-shadow: 0 8px 18px rgba(121, 121, 121, 0.1);
	box-sizing: border-box;
	transition: transform 0.3s ease;
}
.bird-card:hover,
.fish-card:hover,
.reptile_amphibian-card:hover {
	/*transform: translateY(-4px);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);*/
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* タブレット対応：2カラム */
@media only screen and (max-width: 1068px) {
	.bird-card,
	.fish-card,
	.reptile_amphibian-card {
		width: calc((100% - 20px) / 2);
	}
}

/* スマホ対応：1カラム */
@media only screen and (max-width: 668px) {
	.bird-card-list-container,
	.fish-card-list-container
	.reptile_amphibian-card-list-container {
		justify-content: center;
	}
	.bird-card,
	.fish-card,
	.reptile_amphibian-card {
		width: 100%;
	}
}

/* 印刷用 */
@media print {
	.bird-card-list-container,
	.fish-card-list-container,
	.reptile_amphibian-card-list-container {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px;
		margin: 30px 0;
		box-sizing: border-box;
	}
	.bird-card,
	.fish-card,
	.reptile_amphibian-card {
		width: calc((100% - 40px) / 3);
		box-sizing: border-box;
	}
}


/* ▼▼ 料金表用CSS ▼▼ */
/* テーブル基本 */
.priceTable {
	border-collapse: collapse;
	margin: 10px 0;
	box-sizing: border-box;
}
.priceTable tr{
	border-bottom: 1px dashed #ddd;
}
.priceTable td {
	padding: 7px 5px;
	font-size: clamp(14px, 1.4vw, 16px);
}
.priceTable td span.fsmal2 {
	font-size: clamp(12px, 1.3vw, 13px);
}
/*各セル指定*/
.priceTable td:nth-child(1) {
	font-weight: 600;
	word-break: break-word;
	width: 17em;
}
.priceTable td:nth-child(2) {
	font-size: clamp(11px, 1.2vw, 13px);
}
.priceTable td:nth-child(3) {
	text-align: right;
	color: #d36b00;
	font-weight: 600;
	width: 7em;
}

/* 奇数・偶数行のストライプ */
.priceTable tbody tr:nth-child(odd) {
	background-color: #fff9;
}
.priceTable tbody tr:nth-child(even) {
	background-color: #f4f3f18c;
}
/* 行ホバー時のハイライト */
.priceTable tbody tr:hover {
	background-color: #9bc1bc33;
	transition: background-color 0.2s ease-in-out;
}

/* ▼ レスポンシブ対応：2カラムレイアウト ▼ */
@media screen and (max-width: 668px) {
	.priceTable {
		border: none;
	}
	.priceTable,
	.priceTable tbody,
	.priceTable tr,
	.priceTable td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	.priceTable tr {
		margin-bottom: 1em;
		border: 1px solid #ddd;
		border-radius: 6px;
		background-color: #fff;
		padding: 0.5em 0.6em;
	}
 	.priceTable td {
		border-bottom: 1px solid #ccc;
	}
	.priceTable td:nth-child(1) {
		border-bottom: 1px dashed #ddd;
		font-size: 16px;
		width: 100%;
	}
	.priceTable td:nth-child(2) {
		border-bottom: 1px dashed #ddd;
	}
	.priceTable td:nth-child(3) {
		border-bottom: none;
		font-size: 17px;
		width: 100%;
	}

	/* 奇数・偶数行のストライプ 解除*/
	.priceTable tbody tr:nth-child(even) {
		background-color: #ffffff73;
	}
	.priceTable tbody tr:hover {
		background-color: #9bc1bc33;
		transition: background-color 0.2s ease-in-out;
	}
}
/* ▲▲ ここまで ▲▲ */

/*お預かりのご案内*/
.gr-sub1 {
	padding: var(--v-space2) 0;
	background-image: url(../img/bg_grsub1.jpg);
	background-size: cover;
	background-position: center left;
	background-repeat: no-repeat;
}
h3.heading-grsub {
	font-size: clamp(25px, 2.5vw, 31px);
	line-height: 1.3;
	font-weight: normal;
	display: block;
	/*color: #fff;
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);*/
	margin-bottom: 15px;
	-webkit-text-stroke: 3px #fff;
	text-stroke: 3px #fff;
	paint-order: stroke;
}
p.subp {
	font-size: clamp(14px, 1.5vw, 17px);
	/*color: #fff;
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);*/
	-webkit-text-stroke: 3px #fff;
	text-stroke: 3px #fff;
	paint-order: stroke;
	font-feature-settings: 'palt' 1;
	text-shadow:
		0 0 5px #fff,
		0 0 8px rgba(255, 255, 255, 0.9);
}


/* =========================================================
魚
========================================================= */
.fish_sec {
	padding: var(--v-space2) 0 var(--v-space3) 0;
	background-color: #fff;
	position: relative; /* sectionの位置を相対的にする*/
	z-index: 1; /* 背景画像より上に表示 */
	background-image: radial-gradient(#c5e3df54 15%, transparent 16%), radial-gradient(#cce3f054 15%, transparent 16%);
	background-size: 20px 20px;
	background-position: 0 0, 10px 10px;
}


/* ▼▼ カード内料金表用CSS ▼▼ */
/* テーブル基本 */
.priceTable2 {
	border-collapse: collapse;
	margin: 10px 0 7px 0;
	box-sizing: border-box;
}
.priceTable2 tr{
	border-bottom: 1px dashed #ddd;
}
.priceTable2 th {
	padding: 3px 5px;
	font-size: clamp(13px, 1.4vw, 15px);
	background: rgb(232, 226, 219);
}
.priceTable2 td {
	padding: 3px 5px;
	font-size: clamp(13px, 1.4vw, 15px);
	word-break: keep-all;
}
.priceTable2 td.fsmal {
	padding: 3px 5px;
	font-size: clamp(12px, 1.3vw, 13px);
	word-break: keep-all;
}
/*各セル指定*/
.priceTable2 td:nth-child(1) {
	font-weight: 600;
	word-break: break-word;
}
.priceTable2 td.wihaba:nth-child(1) {
	width: 17.5em;
}
.priceTable2 td:nth-child(2) {
	text-align: right;
	color: #d36b00;
	font-weight: 600;
}
/* 行ホバー時のハイライト */
.priceTable2 tbody tr:hover {
	background-color: #9bc1bc33;
	transition: background-color 0.2s ease-in-out;
}

/**/
@media screen and (max-width: 568px) {

}
/* ▲▲ ここまで ▲▲ */


/* =========================================================
   爬虫類・両生類
========================================================= */
.reptile_amphibian_sec {
	padding: var(--v-space2) 0 var(--v-space3) 0;
	background-color: #fff;
	position: relative; /* sectionの位置を相対的にする*/
	z-index: 1; /* 背景画像より上に表示 */
	background-image: radial-gradient(#c5e3df54 15%, transparent 16%), radial-gradient(#ffdf5f54 15%, transparent 16%);
	background-size: 20px 20px;
	background-position: 0 0, 10px 10px;
}




/*======= うさぎ・小動物ページ ======*/
.small-animals_sec {
	padding: var(--v-space3) 0 clamp(15px, 2vw, 20px) 0;
	background-color: #fff;
	position: relative; /* sectionの位置を相対的にする*/
	z-index: 1; /* 背景画像より上に表示 */
}

/*ウサギ（Rabbit）一覧セクション*/
.small-animals_sec1 {
	padding: var(--v-space3) 0 var(--v-space2) 0;
	background-color: #fff;
	position: relative; /* sectionの位置を相対的にする*/
	z-index: 1; /* 背景画像より上に表示 */
	background-image: radial-gradient(#c5e3df54 15%, transparent 16%), radial-gradient(#eac8c854 15%, transparent 16%);
	background-size: 20px 20px;
	background-position: 0 0, 10px 10px;
}

/*flexで*/
.rabbit-list-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	margin: 30px 0;
	box-sizing: border-box;
}

.rabbit-list-container article {
	width: calc((100% - 60px) / 4); /* gap分引いた上で4分割 */
	min-width: 290px; /* スマホで潰れすぎ防止 */
	padding: 15px;
	border-radius: 8px;
	background-color: #fff;
	box-shadow: 0 8px 18px rgba(121, 121, 121, 0.1);
	box-sizing: border-box;
	transition: transform 0.3s ease;
}
.rabbit-list-container article:hover {
	/*transform: translateY(-4px);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);*/
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* タブレット対応：2カラム */
@media only screen and (max-width: 1068px) {
	.rabbit-list-container article {
		width: calc((100% - 20px) / 2);
	}
}

/* スマホ対応：1カラム */
@media only screen and (max-width: 668px) {
	.rabbit-list-container {
		justify-content: center;
	}
	.rabbit-list-container article {
		width: 100%;
	}
}

/* 印刷用 */
@media print {
	.rabbit-list-container {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px;
		margin: 30px 0;
		box-sizing: border-box;
	}
	.rabbit-list-container article {
		width: calc((100% - 60px) / 4);
		box-sizing: border-box;
	}
}

/*小動物（Small Animals）一覧セクション*/
.small-animals_sec2 {
	padding: var(--v-space) 0 var(--v-space2) 0;
	background-color: #fff;
	position: relative; /* sectionの位置を相対的にする*/
	z-index: 1; /* 背景画像より上に表示 */
	background-image: radial-gradient(#c5e3df54 15%, transparent 16%), radial-gradient(#cce3f054 15%, transparent 16%);
	background-size: 20px 20px;
	background-position: 0 0, 10px 10px;
}

/**/
.heading03b {
	/*font-family: 'Noto Serif JP', serif;*/
	text-align: center;
	color: #444;
	font-weight: 400;
	font-size: clamp(26px, 2.5vw, 30px);
	line-height: 1.2;
	margin-bottom: 2px;
	position: relative;
	padding: 1.5rem 1.5rem 0rem 1.5rem;
}
.heading03b::before {
	content: "";
	border: 0;
	position: absolute;
	left: calc(50% - 60px);
	background-image: url(../img/icon02.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
	width: 120px;
	height: 60px;
	top: -45px;
}
.heading03b + p{
	font-size: clamp(15px, 1.6vw, 16px);
	line-height: 1.2;
	color: #92c9d7;
	margin-bottom: 17px;
	text-align: center;
}


/*flexで*/
.smani-list-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	margin: 30px 0;
	box-sizing: border-box;
}

.smani-list-container article {
	width: calc((100% - 60px) / 4); /* gap分引いた上で4分割 */
	min-width: 250px; /* スマホで潰れすぎ防止 */
	padding: 15px;
	border-radius: 8px;
	background-color: #fff;
	box-shadow: 0 8px 18px rgba(121, 121, 121, 0.1);
	box-sizing: border-box;
	transition: transform 0.3s ease;
}
.smani-list-container article:hover {
	/*transform: translateY(-4px);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);*/
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* タブレット対応：2カラム */
@media only screen and (max-width: 1068px) {
	.smani-list-container article {
		width: calc((100% - 20px) / 2);
	}
}

/* スマホ対応：1カラム */
@media only screen and (max-width: 668px) {
	.smani-list-container {
		justify-content: center;
	}
	.smani-list-container article {
		width: 100%;
	}
}

/* 印刷用 */
@media print {
	.smani-list-container {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px;
		margin: 30px 0;
		box-sizing: border-box;
	}
	.smani-list-container article {
		width: calc((100% - 60px) / 4);
		box-sizing: border-box;
	}
}

/*飼育用品・各種サポート案内*/
.small-animals_sec3 {
	padding: var(--v-space) 0 var(--v-space2) 0;
	background-color: #fff;
	position: relative; /* sectionの位置を相対的にする*/
	z-index: 1; /* 背景画像より上に表示 */
	background-image: radial-gradient(#c5e3df54 15%, transparent 16%), radial-gradient(#ffdf5f54 15%, transparent 16%);
	background-size: 20px 20px;
	background-position: 0 0, 10px 10px;
}

/**/
.heading03c {
	text-align: center;
	color: #444;
	font-weight: 400;
	font-size: clamp(26px, 2.5vw, 30px);
	line-height: 1.2;
	margin-bottom: 2px;
	position: relative;
	padding: 1.5rem 1.5rem 0rem 1.5rem;
}
.heading03c::before {
	content: "";
	border: 0;
	position: absolute;
	left: calc(50% - 60px);
	background-image: url(../img/icon03.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
	width: 120px;
	height: 60px;
	top: -45px;
}
.heading03c + p{
	font-size: clamp(15px, 1.6vw, 16px);
	line-height: 1.2;
	color: #b9af78;
	margin-bottom: 17px;
	text-align: center;
}

.support-list {
	list-style: none;
	padding: 0;
	margin: 20px auto 5px auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(13em, 1fr));
	gap: 12px;
}
.support-list li {
	padding: 12px 10px;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	background: #fff;
	font-size: 0.95rem;
	color: #333;
	text-align: center;
}
.support-list li:hover {
	background: #f0e9b445;
}





/*======= よくある質問ページ ======*/
.faq_sec {
	padding: var(--v-space3) 0 clamp(15px, 2vw, 20px) 0;
	background-color: #fff;
	position: relative; /* sectionの位置を相対的にする*/
	z-index: 1; /* 背景画像より上に表示 */
}
/**/
div.faq-in{
	padding: 0;
}
/*枠付きデザイン*/
.onecours{
	background-color: rgba(247, 247, 247, 0.85);
	padding: 15px 25px 15px 20px;
	margin: 0 0 17px 0;
	font-size: clamp(15px, 1.5vw, 16px);
	/*border: 1px #f0efdd solid;*/
}
.faq-item {
	display: grid;
	grid-template-columns: 1.5em 1fr;
	column-gap: 10px;
	row-gap: 10px;
}
.faq-label {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: bold;
	font-size: 100%;
	line-height: 1.5;
	border-radius: 3px;
	width: 1.5em;
	text-align: center;
	align-self: start;	/* lavelを上揃えに */
	padding: 0 1px 3px 1px;
	font-family: "Zen Kaku Gothic New", serif;
}
.faq-label.q {
	background-color: #71a49d;
}
.faq-label.a {
	background-color: var(--accent-color3);
}
.faq-question,
.faq-answer {
	margin: 0;
	line-height: 1.5;
	text-align: justify;
}
.faq-question{
	font-weight: bold;
}
hr.faqHr{
	height: 0px;
	border-bottom: 1px dotted #7b7b7b;
	margin: 10px auto;
}

/**/
div.linkukuri {
	box-sizing: border-box;
	padding: 15px 30px;
	margin: 20px auto;
	width: fit-content;
	text-align: center;
	border: 1px solid #ddd;
	background-color: rgb(255, 255, 255, 0.9);
}
/*ページ内リンク リスト*/
.link-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
ul.link-menu li a {
	display: inline-block;
	/*white-space: nowrap;*/
	font-size: clamp(14px, 1.4vw, 15px);
	word-break: break-all;
}
ul.link-menu li::after {
	content: "　|　";
	color: #aaa;
}
.link-menu li a:hover{
	color: var(--main-color);
}
ul.link-menu li:last-child::after{
	content: none;
}
@media screen and (max-width: 768px) {
	div.linkukuri {
		width: 98%;
	}
	.link-menu li {
		display:inline-block;
		width: 100%;
		border-bottom: 1px dashed #858585;
	}
	.link-menu li a{
		padding: 10px 0px;
	}
	ul.link-menu li::after{
		content: none;
	}
}
/*マウスオーバーアニメション*/
.textlink01 a {
	position: relative;
	text-decoration: none;
}
.textlink01 a::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: var(--main-color);
	transform: scaleX(0);
	transition: transform 0.3s;
}
.textlink01 a:hover::after {
	transform: scaleX(1);
}

/*店舗・サービスについて*/
.faq_sec1 {
	padding: 0 0 clamp(15px, 2vw, 20px) 0;
	background-color: #fff;
	position: relative; /* sectionの位置を相対的にする*/
	z-index: 1; /* 背景画像より上に表示 */
}
/*生体・価格・入荷について*/
.faq_sec2 {
	padding: 0 0 clamp(15px, 2vw, 20px) 0;
	background-color: #fff;
	position: relative; /* sectionの位置を相対的にする*/
	z-index: 1; /* 背景画像より上に表示 */
}
/*飼育方法・お迎え準備について*/
.faq_sec3 {
	padding: 0 0 var(--v-space3) 0;
	background-color: #fff;
	position: relative; /* sectionの位置を相対的にする*/
	z-index: 1; /* 背景画像より上に表示 */
}


