@charset "UTF-8";

:root {
	--blk: 51, 51, 51;
	--wht: 255, 255, 255;
	--body: 221, 238, 242;
	--blu: 100, 184, 224;
	--yel: 248, 201, 94;
}

/* ----------------------------------------------------
	ipd
---------------------------------------------------- */
body {
	background-color: rgb(var(--body));
}

@media screen and (max-width: 1196px) {
	body {
		padding-top: 140px;
	}
}

@media screen and (max-width: 768px) {
	body {
		padding-top: 60px;
	}
}

.ipd {
	color: rgb(var(--blk));
}

.pc-only {
	display: block;
}

.sp-only {
	display: none;
}

.link-button {
	background-image: url(../images/arrow-link.svg);
	background-position: center right 24px;
	background-repeat: no-repeat;
	background-size: 12px auto;
	width: 100%;
	height: 58px;
	color: rgb(var(--blu));
	font-size: 16px;
	border: solid 1px rgb(var(--blu));
	border-radius: 58px;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (max-width: 1440px) {
	.link-button {
		background-position: center right 1.667vw;
		background-size: 0.833vw auto;
		height: 4.028vw;
		font-size: 1.111vw;
		border-radius: 4.028vw;
	}
}

@media screen and (max-width: 768px) {
	.pc-only {
		display: none;
	}

	.sp-only {
		display: block;
	}

	.link-button {
		background-position: center right 6.4vw;
		background-size: 3.2vw auto;
		height: 14.933vw;
		font-size: 4.267vw;
		border-radius: 14.933vw;
	}
}

/* ---------------------------------------------------
  object
--------------------------------------------------- */
.object {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
}

/* ----------------------------------------------------
	ipd__head
---------------------------------------------------- */
.ipd__head {
	position: relative;
}

.ipd__head--title,
.ipd__head--logo {
	position: absolute;
}

.ipd__head--title {
	width: 35.208vw;
	top: 5vw;
	left: 50%;
	transform: translateX(-50%);
}

.ipd__head--logo {
	width: 6.944vw;
	top: 2.083vw;
	left: 2.5vw;
}

@media screen and (max-width: 768px) {
	.ipd__head--title {
		width: 83.467vw;
		top: 24vw;
	}

	.ipd__head--logo {
		width: 21.867vw;
		top: 6.4vw;
		left: 6.4vw;
	}
}

/* ----------------------------------------------------
	ipd__nav
---------------------------------------------------- */
.ipd__nav {
	background: rgba(var(--wht), 1);
	padding: 16px;
	border-radius: 12px;
	position: fixed;
	top: 135px;
	right: 37px;
	z-index: 999;
}

.ipd__nav--item {
	margin-bottom: 12px;
}

.ipd__nav--item a {
	line-height: normal;
	font-size: 16px;
	font-weight: bold;
	text-decoration: none;
	display: flex;
	align-items: center;
}

.ipd__nav--item a::before {
	margin-right: 12px;
	color: rgb(var(--blu));
	font-size: 0.75em;
	content: "●";
}

.ipd__nav .instagram {
	background-color: rgb(var(--blu));
	width: 100%;
	height: 42px;
	color: rgb(var(--wht));
	border-radius: 8px 8px 0 8px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.ipd__nav .instagram::before {
	background-color: rgb(var(--blu));
	background-image: url(../images/icon-instagram.svg);
	background-position: center left;
	background-repeat: no-repeat;
	background-size: cover;
	margin-right: 8px;
	width: 20px;
	height: 20px;
	content: "";
}

@media screen and (max-width: 1440px) {
	.ipd__nav {
		padding: 1.111vw;
		border-radius: 0.833vw;
		top: 9.375vw;
		right: 2.569vw;
	}

	.ipd__nav--item {
		margin-bottom: 0.833vw;
	}

	.ipd__nav--item a {
		font-size: 1.111vw;
	}

	.ipd__nav--item a::before {
		margin-right: 0.833vw;
	}

	.ipd__nav .instagram {
		height: 2.917vw;
		font-size: 1.111vw;
		border-radius: 0.556vw 0.556vw 0 0.556vw;
	}

	.ipd__nav .instagram::before {
		margin-right: 0.556vw;
		width: 1.389vw;
		height: 1.389vw;
	}
}

@media screen and (max-width: 1196px) {
	.ipd__nav {
		top: 170px;
	}
}

@media screen and (max-width: 768px) {
	.ipd__nav--sp-toggle {
		background-color: rgb(var(--body));
		padding-top: 21.333vw;
		max-width: 88.8vw;
		width: 100%;
		height: 100%;
		overflow: auto;
		border-radius: 8.533vw 0 0 8.533vw;
		position: fixed;
		top: 0;
		right: 0;
		left: auto;
		transform: translateX(100%);
		visibility: hidden;
		transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0s 1s;
	}

	.ipd__nav--inner {
		background-color: rgb(var(--wht));
		margin: 0 auto;
		padding: 4.267vw;
		width: 76vw;
		border-radius: 3.2vw;
	}

	.ipd__nav--item {
		margin-bottom: 0;
	}

	.ipd__nav--item:not(:last-of-type) {
		margin-bottom: 4.267vw;
	}

	.ipd__nav--item a {
		font-size: 4vw;
	}

	.ipd__nav .instagram {
		margin-top: 6.4vw;
		height: 11.2vw;
		font-size: 4.267vw;
		border-radius: 2.133vw 2.133vw 0 2.133vw;
	}

	.ipd__nav .instagram::before {
		margin-right: 2.133vw;
		width: 5.333vw;
		height: 5.333vw;
	}

	.ipd__nav-overlay {
		background: rgba(var(--blk), 0.4);
		width: 100vw;
		height: 100vh;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.4s, visibility 0.4s;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 998;
	}

	body.is-ipd__nav-open {
		overflow: hidden;
	}

	.is-ipd__nav-open .ipd__nav--sp-toggle {
		transform: translateX(0);
		visibility: visible;
		transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1), visibility 0s;
	}

	.is-ipd__nav-open .ipd__nav-overlay {
		opacity: 1;
		visibility: visible;
		cursor: pointer;
	}
}

/* 
	toggle
------------------------------ */
.ipd__nav-toggle {
	display: none;
}

@media screen and (max-width: 768px) {
	.ipd__nav-toggle {
		width: 8.533vw;
		height: 4.8vw;
		display: block;
		position: fixed;
		top: 100px;
		right: 6.4vw;
		z-index: 1000;
	}

	.ipd__nav-toggle-inner {
		width: 100%;
		height: 100%;
		display: block;
		position: relative;
		cursor: pointer;
	}

	.ipd__nav-toggle-line {
		background: rgb(var(--blu));
		width: 100%;
		height: 2px;
		border-radius: 2px;
		display: block;
		position: absolute;
		left: 50%;
		transition: all 0.6s;
		transform: translateX(-50%);
		transform-origin: center;
	}

	.ipd__nav-toggle-line:nth-child(1) {
		top: 0;
	}

	.ipd__nav-toggle-line:nth-child(2) {
		top: 50%;
		transform: translate(-50%, -50%);
	}

	.ipd__nav-toggle-line:nth-child(3) {
		bottom: 0;
	}

	.is-ipd__nav-open .ipd__nav-toggle {
		top: 6.4vw;
	}

	.is-ipd__nav-open .ipd__nav-toggle-line {
		transform-origin: 0 0;
	}

	.is-ipd__nav-open .ipd__nav-toggle-line:nth-child(1) {
		top: 50%;
		transform: rotate(45deg) translate(-50%, -50%);
	}

	.is-ipd__nav-open .ipd__nav-toggle-line:nth-child(2) {
		opacity: 0;
	}

	.is-ipd__nav-open .ipd__nav-toggle-line:nth-child(3) {
		top: 50%;
		bottom: auto;
		transform: rotate(-45deg) translate(-50%, -50%);
	}
}

/* ----------------------------------------------------
	ipd__body
---------------------------------------------------- */
.ipd__body--sec {
	position: relative;
}

.ipd__body--inner {
	margin: 0 auto;
	width: 1100px;
	position: relative;
}

.ipd__body--sec-title {
	margin-bottom: 40px;
	line-height: 1;
	position: relative;
	z-index: 2;
}

.ipd__body--sec-title img {
	width: auto;
	height: 75px;
}

.ipd__body--sec-title .jp {
	margin-top: 35px;
	color: rgb(var(--blu));
	font-size: 18px;
	display: block;
}

@media screen and (max-width: 1440px) {
	.ipd__body--inner {
		width: 76.389vw;
	}

	.ipd__body--sec-title {
		margin-bottom: 2.778vw;
	}

	.ipd__body--sec-title img {
		height: 5.208vw;
	}

	.ipd__body--sec-title .jp {
		margin-top: 2.431vw;
		font-size: 1.25vw;
	}
}

@media screen and (max-width: 768px) {
	.ipd__body--sec {
		padding: 26.667vw 0;
	}

	.ipd__body--inner {
		width: 87.2vw;
	}

	.ipd__body--sec-title {
		margin-bottom: 10.667vw;
	}

	.ipd__body--sec-title img {
		height: 10.667vw;
	}

	.ipd__body--sec-title .jp {
		margin-top: 6.4vw;
		font-size: 4.267vw;
	}
}

/* 
	topics
------------------------------ */
.topics {
	padding: 144px 0 210px;
}

.topics .ipd__body--inner {
	display: flex;
	justify-content: space-between;
}

.topics__list {
	width: 666px;
	position: relative;
	z-index: 2;
}

.topics__list--item {
	display: flex;
	flex-direction: column;
}

.topics__list--item:not(:last-of-type) {
	margin-bottom: 16px;
}

.topics__list--item a {
	background-color: rgb(var(--wht));
	background-image: url(../images/arrow-topics.svg);
	background-position: center right 24px;
	background-repeat: no-repeat;
	background-size: 12px auto;
	padding: 24px;
	border: solid 1px #eee;
	border-radius: 16px;
	display: block;
}

.topics__list--item a.no-link {
	pointer-events: none;
}

.topics__info {
	margin-bottom: 10px;
	display: flex;
	align-items: center;
}

.topics__info .date {
	margin-right: 8px;
	color: #666;
	font-size: 14px;
}

.topics__info .category {
	background-color: rgb(var(--blu));
	width: 96px;
	height: 25px;
	color: rgb(var(--wht));
	font-size: 12px;
	border-radius: 25px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.topics__detail {
	width: 580px;
	line-height: 1.6;
	font-size: 16px;
}

.topics .cloud01 {
	background-image: url(../images/topics-cloud01.webp);
	width: 262px;
	height: 182px;
	top: -120px;
	right: -130px;
	z-index: 1;
}

.topics .cloud02 {
	background-image: url(../images/topics-cloud02.webp);
	width: 327px;
	height: 210px;
	bottom: -24px;
	left: -118px;
}

@media screen and (max-width: 1440px) {
	.topics {
		padding: 10vw 0 14.583vw;
	}

	.topics__list {
		width: 46.250vw;
	}

	.topics__list--item:not(:last-of-type) {
		margin-bottom: 1.111vw;
	}

	.topics__list--item a {
		background-position: center right 1.667vw;
		background-size: 0.833vw auto;
		padding: 1.667vw;
		border-radius: 1.111vw;
	}

	.topics__info {
		margin-bottom: 0.694vw;
	}

	.topics__info .date {
		margin-right: 0.556vw;
		font-size: 0.972vw;
	}

	.topics__info .category {
		width: 6.667vw;
		height: 1.736vw;
		font-size: 0.833vw;
		border-radius: 1.736vw;
	}

	.topics__detail {
		width: 40.278vw;
		font-size: 1.111vw;
	}

	.topics .cloud01 {
		width: 18.194vw;
		height: 12.639vw;
		top: -8.333vw;
		right: -9.028vw;
	}

	.topics .cloud02 {
		width: 22.708vw;
		height: 14.583vw;
		bottom: -1.667vw;
		left: -8.194vw;
	}
}

@media screen and (max-width: 768px) {
	.topics {
		padding: 21.333vw 0 56vw;
	}

	.topics .ipd__body--inner {
		display: block;
	}

	.topics__list {
		width: 87.2vw;
	}

	.topics__list--item:not(:last-of-type) {
		margin-bottom: 4.267vw;
	}

	.topics__list--item a {
		background-position: center right 6.4vw;
		background-size: 2.667vw auto;
		padding: 5.333vw;
		border-radius: 4.267vw;
	}

	.topics__info {
		margin-bottom: 2.667vw;
	}

	.topics__info .date {
		margin-right: 2.133vw;
		font-size: 3.733vw;
	}

	.topics__info .category {
		width: 25.6vw;
		height: 6.667vw;
		font-size: 3.2vw;
		border-radius: 6.667vw;
	}

	.topics__detail {
		width: 68vw;
		font-size: 3.733vw;
	}

	.topics .cloud01 {
		background-image: url(../images/topics-cloud01_sp.webp);
		width: 29.6vw;
		height: 32.267vw;
		top: -11.733vw;
		right: -6.4vw;
	}

	.topics .cloud02 {
		background-image: url(../images/topics-cloud02_sp.webp);
		width: 48vw;
		height: 48vw;
		bottom: -29.333vw;
		left: -6.4vw;
		z-index: 1;
	}
}

/* 
	about
------------------------------ */
.about {
	background-color: rgb(var(--blu));
	padding: 105px 0;
}

.about::before,
.about::after {
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 3.472vw;
	position: absolute;
	left: 0;
	content: "";
}

.about::before {
	background-image: url(../images/about-bg-wave-top.webp);
	background-position: top center;
	top: -2.778vw;
}

.about::after {
	background-image: url(../images/about-bg-wave-bottom.webp);
	background-position: bottom center;
	bottom: -2.778vw;
}

.about .ipd__body--inner {
	margin-bottom: 3.472vw;
	display: flex;
	justify-content: space-between;
}

.about__content {
	background: rgb(var(--wht));
	padding: 40px;
	width: 666px;
	border-radius: 32px;
	position: relative;
}

.about__content::after {
	background-image: url(../images/arrow-about.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: auto 100%;
	width: 58px;
	height: 28px;
	position: absolute;
	bottom: -18px;
	left: 76px;
	content: "";
}

.about__content--title {
	margin-bottom: 20px;
	font-size: 40px;
}

.about__content--title span {
	color: rgb(var(--blu));
}

.about__content--lead {
	line-height: 2;
	font-size: 15px;
}

.about .ipd__body--sec-title .jp {
	color: rgb(var(--wht));
}

.about .cloud {
	background-image: url(../images/about-cloud01.webp);
	width: 256px;
	height: 158px;
	top: -250px;
	right: -140px;
}

.about .dog {
	background-image: url(../images/about-dog.webp);
	width: 327px;
	height: 318px;
	top: -382px;
	left: -88px;
}

.about .cat {
	background-image: url(../images/about-cat.webp);
	width: 253px;
	height: 343px;
	right: 80px;
	/* bottom: -764px; */
	bottom: -900px;
	z-index: 3;
}

.about .footprints {
	background-image: url(../images/about-footprints.webp);
	width: 666px;
	height: 618px;
	right: -168px;
	bottom: -491px;
	z-index: 1;
}

@media screen and (max-width: 1440px) {
	.about {
		padding: 7.292vw 0;
	}

	.about__content {
		padding: 2.778vw;
		width: 46.25vw;
		border-radius: 2.222vw;
	}

	.about__content::after {
		width: 3.472vw;
		height: 1.944vw;
		bottom: -1.25vw;
		left: 5.278vw;
	}

	.about__content--title {
		margin-bottom: 1.389vw;
		font-size: 2.778vw;
	}

	.about__content--lead {
		font-size: 1.042vw;
	}

	.about .cloud {
		width: 17.778vw;
		height: 10.972vw;
		top: -17.361vw;
		right: -9.722vw;
	}

	.about .dog {
		width: 22.708vw;
		height: 22.083vw;
		top: -26.528vw;
		left: -6.111vw;
	}

	.about .cat {
		width: 17.569vw;
		height: 23.819vw;
		right: 5.556vw;
		/* bottom: -53.056vw; */
		bottom: -62.5vw;
	}

	.about .footprints {
		width: 46.25vw;
		height: 42.917vw;
		right: -11.667vw;
		bottom: -34.097vw;
	}
}

@media screen and (max-width: 768px) {
	.about {
		background-color: rgb(var(--blu));
		padding: 46.4vw 0 43.733vw;
	}

	.about::before,
	.about::after {
		height: 13.333vw;
	}

	.about::before {
		background-image: url(../images/about-bg-wave-top_sp.webp);
		top: -10.667vw;
	}

	.about::after {
		background-image: url(../images/about-bg-wave-bottom_sp.webp);
		bottom: -10.667vw;
	}

	.about .ipd__body--inner {
		margin-bottom: 10.667vw;
		display: block;
	}

	.about__content {
		padding: 8vw 6.4vw;
		width: 87.2vw;
		border-radius: 8.533vw;
	}

	.about__content::after {
		width: 15.467vw;
		height: 7.467vw;
		bottom: -4.8vw;
		left: 13.333vw;
	}

	.about__content--title {
		margin-bottom: 5.333vw;
		line-height: normal;
		font-size: 7.467vw;
	}

	.about__content--title span {
		display: block;
	}

	.about__content--lead {
		font-size: 3.733vw;
	}

	.about .cloud {
		background-image: url(../images/about-cloud01_sp.webp);
		width: 34.667vw;
		height: 33.867vw;
		top: -29.333vw;
		right: -6.4vw;
	}

	.about .dog {
		background-image: url(../images/about-dog_sp.webp);
		width: 54.933vw;
		height: 60.8vw;
		top: -102.133vw;
		left: -6.4vw;
		z-index: 1;
	}

	.about .cat {
		background-image: url(../images/about-cat_sp.webp);
		width: 49.867vw;
		height: 72.267vw;
		right: -6.4vw;
		/* bottom: -133.333vw; */
		bottom: -170.667vw;
		z-index: 3;
	}

	.about .footprints {
		background-image: url(../images/about-footprints_sp.webp);
		width: 86.667vw;
		height: 97.6vw;
		right: -6.133vw;
		bottom: -105.333vw;
		z-index: 1;
	}
}

/* marquee */
.img-marquee {
	margin-bottom: 20px;
	overflow: hidden;
	/* 1枚あたりの横幅 */
	--kv_scroll-item-width: 2248px;
	/* 画像同士の隙間 */
	--kv_scroll-gap: 40px;
	/* 1ループでスクロールする画像枚数 */
	--kv_scroll-set-size: 1;
	/* 1周するまでの時間 */
	--kv_scroll-speed: 40s;
	position: relative;
	z-index: 2;
}

.img-marquee__track {
	list-style: none;
	margin: 0;
	padding: 0;
	width: max-content;
	display: flex;
	gap: var(--kv_scroll-gap);
	animation: kvScroll var(--kv_scroll-speed) linear infinite;
}

.img-marquee__item {
	width: var(--kv_scroll-item-width);
	flex: 0 0 auto;
}

.img-marquee__item picture,
.img-marquee__item img {
	display: block;
	width: 100%;
}

@keyframes kvScroll {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(calc((var(--kv_scroll-item-width) + var(--kv_scroll-gap)) * var(--kv_scroll-set-size) * -1));
	}
}

@media screen and (max-width: 1440px) {
	.img-marquee {
		margin-bottom: 1.389vw;
		/* 
			1枚あたりの横幅
			計算式：2248px（デザイン内の画像の横幅） / 1440（デザインの横幅） * 100 = 156.111vw
		*/
		--kv_scroll-item-width: 156.111vw;
		/*
			画像同士の隙間
			計算式：40px（デザイン内の画像同士の隙間） / 1440（デザインの横幅） * 100 = 2.778vw
		*/
		--kv_scroll-gap: 2.778vw;
	}
}

@media screen and (max-width: 768px) {
	.img-marquee {
		/* 
			1枚あたりの横幅
			計算式：1370px（SPデザイン内の画像の横幅） / 375（SPデザインの横幅） * 100 = 365.333vw
		*/
		--kv_scroll-item-width: 365.333vw;
		/*
			画像同士の隙間
			計算式：24px（SPデザイン内の画像同士の隙間） / 375（SPデザインの横幅） * 100 = 6.4vw
		*/
		--kv_scroll-gap: 6.4vw;
		--kv_scroll-speed: 30s;
	}
}

/* 
	pickup
------------------------------ */
.pickup {
	padding-top: 190px;
}

.pickup__slide {
	margin-bottom: 20px;
	position: relative;
	z-index: 2;
}

.pickup__slide.is-static {
	display: flex;
}

.pickup__slide.is-center {
	justify-content: center;
}

.pickup__slide.is-static .pickup__slide--item:last-child {
	margin-right: 0;
}

.pickup__slide .slick-track {
	display: flex;
	align-items: stretch;
}

.pickup__slide--item {
	background-color: rgb(var(--wht));
	margin-right: 24px;
	padding: 32px 32px 122px;
	width: 350px;
	height: auto;
	border: solid 1px #eee;
	border-radius: 16px;
	position: relative;
}

.pickup__slide--item::before,
.pickup__slide--item::after {
	background-color: #eee;
	width: 16px;
	height: 16px;
	border-radius: 100%;
	position: absolute;
	top: 12px;
	content: "";
}

.pickup__slide--item::before {
	left: 12px;
}

.pickup__slide--item::after {
	right: 12px;
}

.pickup__image {
	margin-bottom: 20px;
}

.pickup__content {
	line-height: 1.6;
}

.pickup__content--title {
	margin-bottom: 20px;
	font-size: 18px;
}

.pickup__content--category {
	margin-bottom: 20px;
	display: flex;
}

.pickup__content--category li {
	background-position: center left 16px;
	background-repeat: no-repeat;
	background-size: 19px auto;
	padding: 0 16px 0 45px;
	height: 36px;
	display: flex;
	align-items: center;
	border-style: solid;
	border-width: 1px;
	border-radius: 36px;
}

.pickup__content--category li:not(:last-of-type) {
	margin-right: 8px;
}

.pickup__content--category .dog {
	background-color: rgb(var(--body));
	background-image: url(../images/icon-dog.svg);
	border-color: rgb(var(--blu));
}

.pickup__content--category .cat {
	background-color: #FBF7D3;
	background-image: url(../images/icon-cat.svg);
	border-color: rgb(var(--yel));
}

.pickup__content--text {
	background-image: url(../images/line.webp);
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	margin-bottom: 20px;
	padding-bottom: 20px;
	color: #555;
	font-size: 16px;
}

.pickup__content--facility {
	font-size: 14px;
}

.pickup .facility-name {
	margin-bottom: 5px;
}

.pickup .facility-area span {
	background-image: url(../images/icon-area.svg);
	background-position: center left;
	background-repeat: no-repeat;
	background-size: 16px auto;
	padding-left: 24px;
	display: inline-flex;
}

.pickup__slide--item .link-button {
	width: calc(100% - 64px);
	position: absolute;
	right: 32px;
	bottom: 32px;
	left: 32px;
}

.pickup__slide+.note {
	color: #888;
}

.pickup__slide+.note li {
	margin-left: 1em;
	text-indent: -1em;
}

.pickup__slide+.note li::before {
	content: "※";
}

.pickup .cloud01 {
	background-image: url(../images/pickup-cloud01.webp);
	width: 331px;
	height: 205px;
	top: 46px;
	right: -57px;
	z-index: 1;
}

.pickup .cloud02 {
	background-image: url(../images/pickup-cloud02.webp);
	width: 331px;
	height: 205px;
	bottom: 74px;
	left: -118px;
}

.pickup .cloud03 {
	background-image: url(../images/pickup-cloud03.webp);
	width: 310px;
	height: 183px;
	right: -97px;
	bottom: -247px;
}

/* slick */
.pickup__slide .slick-arrow {
	background: url(../images/arrow-slide.svg) center / contain no-repeat;
	width: 56px;
	height: 56px;
	z-index: 2;
}

.pickup__slide .slick-prev {
	left: -80px;
}

.pickup__slide .slick-next {
	right: -80px;
	transform: translateY(-50%) rotate(180deg);
}

.pickup__slide .slick-arrow::before {
	content: "";
}

.pickup__slide .slick-arrow:hover,
.pickup__slide .slick-arrow:focus {
	background: url(../images/arrow-slide.svg) center / contain no-repeat;
}

.pickup__slide .slick-next:hover,
.pickup__slide .slick-next:focus {
	transform: translateY(-50%) rotate(180deg);
}

@media screen and (max-width: 1440px) {
	.pickup {
		padding-top: 13.194vw;
	}

	.pickup__slide {
		margin-bottom: 1.389vw;
	}

	.pickup__slide--item {
		margin-right: 1.667vw;
		padding: 2.222vw 2.222vw 8.472vw;
		width: 24.306vw;
		border-radius: 1.111vw;
	}

	.pickup__slide--item::before,
	.pickup__slide--item::after {
		width: 1.111vw;
		height: 1.111vw;
		top: 0.833vw;
	}

	.pickup__slide--item::before {
		left: 0.833vw;
	}

	.pickup__slide--item::after {
		right: 0.833vw;
	}

	.pickup__image {
		margin-bottom: 1.389vw;
	}

	.pickup__content--title {
		margin-bottom: 1.389vw;
		font-size: 1.25vw;
	}

	.pickup__content--category {
		margin-bottom: 1.389vw;
		font-size: 1.111vw;
	}

	.pickup__content--category li {
		background-position: center left 1.111vw;
		background-size: 1.319vw auto;
		padding: 0 1.111vw 0 3.125vw;
		height: 2.5vw;
		border-radius: 2.5vw;
	}

	.pickup__content--category li:not(:last-of-type) {
		margin-right: 0.556vw;
	}

	.pickup__content--text {
		margin-bottom: 1.389vw;
		padding-bottom: 1.389vw;
		font-size: 1.111vw;
	}

	.pickup__content--facility {
		font-size: 0.972vw;
	}

	.pickup .facility-name {
		margin-bottom: 0.347vw;
	}

	.pickup .facility-area span {
		background-size: 1.111vw auto;
		padding-left: 1.667vw;
		letter-spacing: -0.005em;
	}

	.pickup__slide--item .link-button {
		width: calc(100% - 4.444vw);
		right: 2.222vw;
		bottom: 2.222vw;
		left: 2.222vw;
	}

	.pickup__slide+.note {
		font-size: 1.111vw;
	}

	.pickup .cloud01 {
		width: 22.986vw;
		height: 14.236vw;
		top: 3.194vw;
		right: -3.958vw;
	}

	.pickup .cloud02 {
		width: 22.986vw;
		height: 14.236vw;
		bottom: 5.139vw;
		left: -8.194vw;
	}

	.pickup .cloud03 {
		width: 21.528vw;
		height: 12.708vw;
		right: -6.736vw;
		bottom: -17.153vw;
	}

	/* slick */
	.pickup__slide .slick-arrow {
		width: 3.889vw;
		height: 3.889vw;
	}

	.pickup__slide .slick-prev {
		left: -5.556vw;
	}

	.pickup__slide .slick-next {
		right: -5.556vw;
	}
}

@media screen and (max-width: 768px) {
	.pickup {
		padding: 48vw 0 0;
	}

	.pickup .ipd__body--inner {
		width: 100%;
	}

	.pickup .ipd__body--sec-title {
		padding-left: 6.4vw;
	}

	.pickup__slide {
		margin-bottom: 8vw;
	}

	.pickup__slide--item {
		margin-right: 5.333vw;
		padding: 8.533vw 8.533vw 32.533vw;
		width: 78.667vw;
		border-radius: 4.267vw;
	}

	.pickup__slide--item::before,
	.pickup__slide--item::after {
		width: 4.267vw;
		height: 4.267vw;
		top: 3.2vw;
	}

	.pickup__slide--item::before {
		left: 3.2vw;
	}

	.pickup__slide--item::after {
		right: 3.2vw;
	}

	.pickup__image {
		margin-bottom: 5.333vw;
	}

	.pickup__content--title {
		margin-bottom: 5.333vw;
		font-size: 4.267vw;
	}

	.pickup__content--category {
		margin-bottom: 5.333vw;
		font-size: 3.733vw;
	}

	.pickup__content--category li {
		background-position: center left 4.267vw;
		background-size: 4vw auto;
		padding: 0 4.267vw 0 10.933vw;
		height: 8.533vw;
		border-radius: 8.533vw;
	}

	.pickup__content--category li:not(:last-of-type) {
		margin-right: 2.133vw;
	}

	.pickup__content--text {
		margin-bottom: 5.333vw;
		padding-bottom: 5.333vw;
		font-size: 3.733vw;
	}

	.pickup__content--facility {
		font-size: 3.733vw;
	}

	.pickup .facility-name {
		margin-bottom: 1.333vw;
	}

	.pickup .facility-area span {
		background-size: 4.267vw auto;
		padding-left: 6.4vw;
	}

	.pickup__slide--item .link-button {
		width: calc(100% - 17.067vw);
		right: 8.533vw;
		bottom: 8.533vw;
		left: 8.533vw;
	}

	.pickup__slide+.note {
		padding: 0 8.533vw;
		line-height: 1.6;
		font-size: 4.267vw;
	}

	.pickup .cloud01 {
		background-image: url(../images/pickup-cloud01_sp.webp);
		width: 25.333vw;
		height: 30.667vw;
		top: -8vw;
		right: 0;
	}

	.pickup .cloud02 {
		background-image: url(../images/pickup-cloud02_sp.webp);
		width: 43.467vw;
		height: 38.133vw;
		bottom: 29.333vw;
		left: 0;
	}

	.pickup .cloud03 {
		background-image: url(../images/pickup-cloud03_sp.webp);
		width: 37.067vw;
		height: 31.2vw;
		right: 0;
		bottom: -58.667vw;
		z-index: 2;
	}

	/* slick */
	.pickup__slide .slick-arrow {
		width: 12.8vw;
		height: 12.8vw;
	}

	.pickup__slide .slick-prev {
		left: 4.8vw;
	}

	.pickup__slide .slick-next {
		right: 4.8vw;
	}
}

/* 
	service
------------------------------ */
.service {
	padding: 170px 0 200px;
}

.service .ipd__body--sec-title {
	position: relative;
	z-index: 2;
}

.service__content .note {
	margin-bottom: 16px;
	line-height: 1.6;
	color: #888;
	font-size: 16px;
}

.service__content .note li {
	margin-left: 1em;
	text-indent: -1em;
}

.service__content .note li::before {
	content: "※";
}

.service .cloud01 {
	background-image: url(../images/service-cloud01.webp);
	background-position: center right;
	width: 359px;
	height: 230px;
	top: 490px;
	left: 0;
}

.service .cloud02 {
	background-image: url(../images/service-cloud02.webp);
	width: 322px;
	height: 183px;
	top: 295px;
	right: -130px;
}

.service .cloud03 {
	background-image: url(../images/service-cloud03.webp);
	width: 343px;
	height: 196px;
	top: 900px;
	left: -134px;
}

.service .cloud04 {
	background-image: url(../images/service-cloud04.webp);
	width: 428px;
	height: 256px;
	bottom: 500px;
	right: 0;
}

.service .footprints01 {
	background-image: url(../images/service-footprints01.webp);
	width: 649px;
	height: 551px;
	top: -40px;
	left: 294px;
	z-index: 1;
}

.service .footprints02 {
	background-image: url(../images/service-footprints02.webp);
	width: 664px;
	height: 615px;
	bottom: -120px;
	left: 124px;
	z-index: 1;
}

.service .dog-obj {
	background-image: url(../images/service-dog.webp);
	width: 367px;
	height: 219px;
	right: -115px;
	bottom: -220px;
	z-index: 2;
}

@media screen and (max-width: 1440px) {
	.service {
		padding: 11.806vw 0 13.889vw;
	}

	.service__content .note {
		margin-bottom: 1.111vw;
		font-size: 1.111vw;
	}

	.service .cloud01 {
		width: 24.931vw;
		height: 15.972vw;
		top: 34.028vw;
	}

	.service .cloud02 {
		width: 22.361vw;
		height: 12.708vw;
		top: 20.486vw;
		right: -9.028vw;
	}

	.service .cloud03 {
		width: 23.819vw;
		height: 13.611vw;
		top: 62.5vw;
		left: -9.306vw;
	}

	.service .cloud04 {
		width: 29.722vw;
		height: 17.778vw;
		bottom: 34.722vw;
	}

	.service .footprints01 {
		width: 45.069vw;
		height: 38.264vw;
		top: -2.778vw;
		left: 20.417vw;
	}

	.service .footprints02 {
		width: 46.111vw;
		height: 42.708vw;
		bottom: -8.333vw;
		left: 8.611vw;
	}

	.service .dog-obj {
		width: 25.486vw;
		height: 15.208vw;
		right: -7.986vw;
		bottom: -15.278vw;
	}
}

@media screen and (max-width: 768px) {
	.service {
		padding: 35.467vw 0 40vw;
	}

	.service__content .note {
		margin-bottom: 4.267vw;
		font-size: 4.267vw;
	}

	.service .cloud01 {
		background-image: url(../images/service-cloud01_sp.webp);
		width: 36.8vw;
		height: 44vw;
		top: 174.667vw;
		left: 0;
	}

	.service .cloud02 {
		background-image: url(../images/service-cloud02_sp.webp);
		width: 40.533vw;
		height: 49.067vw;
		top: 396vw;
		right: -6.4vw;
	}

	.service .cloud03 {
		background-image: url(../images/service-cloud03_sp.webp);
		width: 57.6vw;
		height: 52.533vw;
		top: 611.2vw;
		left: -6.4vw;
	}

	.service .cloud04 {
		background-image: url(../images/service-cloud04_sp.webp);
		width: 51.467vw;
		height: 68.533vw;
		top: 882.133vw;
		right: 0;
		bottom: auto;
	}

	.service .footprints01 {
		background-image: url(../images/service-footprints01_sp.webp);
		width: 58.4vw;
		height: 64.533vw;
		top: -22.667vw;
		right: -6.4vw;
		left: auto;
	}

	.service .footprints02 {
		background-image: url(../images/service-footprints02_sp.webp);
		background-position: top center;
		background-size: 100% auto;
		width: 42.133vw;
		height: 26.667vw;
		bottom: -32vw;
		left: -6.4vw;
	}

	.service .dog-obj {
		background-image: url(../images/service-dog_sp.webp);
		width: 61.067vw;
		height: 51.733vw;
		right: -6.4vw;
		bottom: -32vw;
	}
}

/* tab */
.service__content.tab {
	position: relative;
	z-index: 2;
}

.tab__list {
	background-color: rgb(var(--wht));
	margin-bottom: 32px;
	padding: 8px;
	width: 420px;
	height: 60px;
	border-radius: 60px;
	display: flex;
	justify-content: space-between;
}

.tab__button {
	background: rgb(var(--wht));
	width: 128px;
	height: 44px;
	color: inherit;
	font-size: 16px;
	border: solid 1px #ddd;
	border-radius: 44px;
	transition: all 0.5s ease 0s;
	cursor: pointer;
}

.tab__button:hover,
.tab__button:active,
.tab__button:focus,
.tab__button.is-active {
	background: rgba(var(--blu));
	color: rgb(var(--wht));
	border-color: rgb(var(--blu));
}

.tab__panel {
	display: none;
}

.tab__panel.is-active {
	display: block;
}

.service__slide.slick-dotted {
	margin-bottom: 0;
}

.service__slide .slick-dots {
	bottom: 12px;
	display: flex;
	justify-content: center;
	gap: 12px;
}

.service__slide .slick-dots li,
.service__slide .slick-dots li button {
	margin: 0;
	padding: 0;
	width: 12px;
	height: 12px;
}

.service__slide .slick-dots li button::before {
	background-color: #d9d9d9;
	width: 12px;
	height: 12px;
	font-size: 0;
	border-radius: 50%;
	opacity: 1;
	content: "";
}

.service__slide .slick-dots li.slick-active button::before {
	background-color: #a4a4a4;
	opacity: 1;
}

@media screen and (max-width: 1440px) {
	.tab__list {
		margin-bottom: 2.222vw;
		padding: 0.556vw;
		width: 29.167vw;
		height: 4.167vw;
		border-radius: 4.167vw;
	}

	.tab__button {
		width: 8.889vw;
		height: 3.056vw;
		font-size: 1.111vw;
		border-radius: 3.056vw;
	}

	.service__slide .slick-dots {
		bottom: 0.833vw;
		gap: 0.833vw;
	}

	.service__slide .slick-dots li,
	.service__slide .slick-dots li button,
	.service__slide .slick-dots li button::before {
		width: 0.833vw;
		height: 0.833vw;
	}
}

@media screen and (max-width: 768px) {
	.tab__list {
		margin-bottom: 10.667vw;
		padding: 2.133vw;
		width: 87.2vw;
		height: 16vw;
		border-radius: 16vw;
	}

	.tab__button {
		width: 25.333vw;
		height: 11.733vw;
		font-size: 4.267vw;
		border-radius: 11.733vw;
	}

	.service__slide .slick-dots {
		bottom: 3.2vw;
		gap: 3.2vw;
	}

	.service__slide .slick-dots li,
	.service__slide .slick-dots li button,
	.service__slide .slick-dots li button::before {
		width: 3.2vw;
		height: 3.2vw;
	}
}

/* service__list */
.service__list {
	display: flex;
	flex-wrap: wrap;
}

.service__list--item {
	background-color: rgb(var(--wht));
	margin-bottom: 24px;
	padding: 32px;
	width: 350px;
	border: solid 1px #eee;
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	position: relative;
}

.service__list--item:not(:nth-child(3n)) {
	margin-right: 24px;
}

.service__list--item::before,
.service__list--item::after {
	background-color: #eee;
	width: 16px;
	height: 16px;
	border-radius: 100%;
	position: absolute;
	top: 12px;
	content: "";
}

.service__list--item::before {
	left: 12px;
}

.service__list--item::after {
	right: 12px;
}

.service__image {
	margin-bottom: 10px;
}

.service__detail {
	margin-bottom: 20px;
}

.service__facility {
	margin-bottom: 16px;
	line-height: 1.6;
}

.service .facility-name {
	margin-bottom: 5px;
	font-size: 18px;
}

.service .facility-area span {
	background-image: url(../images/icon-area-blue.svg);
	background-position: center left;
	background-repeat: no-repeat;
	background-size: 16px auto;
	padding-left: 24px;
	color: rgb(var(--blu));
	font-size: 14px;
	display: inline-flex;
}

.service__category {
	margin-bottom: 20px;
	display: flex;
}

.service__category li {
	background-color: #eee;
	background-position: center left 16px;
	background-repeat: no-repeat;
	background-size: 19px auto;
	padding: 0 16px 0 45px;
	height: 36px;
	display: flex;
	align-items: center;
	border-radius: 36px;
}

.service__category li:not(:last-of-type) {
	margin-right: 8px;
}

.service__category .dog {
	background-image: url(../images/icon-dog.svg);
}

.service__category .cat {
	background-image: url(../images/icon-cat.svg);
}

.service__category .note {
	background: none;
	padding: 0;
	color: #000;
	font-size: 14px;
	border: none;
}

.service__list--item .link-button {
	margin-top: auto;
}

@media screen and (max-width: 1440px) {
	.service__list--item {
		margin-bottom: 1.667vw;
		padding: 2.222vw;
		width: 24.306vw;
		border-radius: 1.111vw;
	}

	.service__list--item:not(:nth-child(3n)) {
		margin-right: 1.667vw;
	}

	.service__list--item::before,
	.service__list--item::after {
		width: 1.111vw;
		height: 1.111vw;
		top: 0.833vw;
	}

	.service__list--item::before {
		left: 0.833vw;
	}

	.service__list--item::after {
		right: 0.833vw;
	}

	.service__image {
		margin-bottom: 0.694vw;
	}

	.service__detail {
		margin-bottom: 1.389vw;
	}

	.service__facility {
		margin-bottom: 1.111vw;
	}

	.service .facility-name {
		margin-bottom: 0.347vw;
		font-size: 1.25vw;
	}

	.service .facility-area span {
		background-size: 1.111vw auto;
		padding-left: 1.667vw;
		font-size: 0.972vw;
	}

	.service__category {
		margin-bottom: 1.389vw;
		font-size: 1.111vw
	}

	.service__category li {
		background-position: center left 1.111vw;
		background-size: 1.319vw auto;
		padding: 0 1.111vw 0 3.125vw;
		height: 2.5vw;
		border-radius: 2.5vw;
	}

	.service__category li:not(:last-of-type) {
		margin-right: 0.556vw;
	}

	.service__category .note {
		font-size: 0.972vw;
	}
}

@media screen and (max-width: 768px) {
	.service__list {
		flex-direction: column;
	}

	.service__list--item {
		margin-bottom: 6.4vw;
		padding: 8.533vw;
		width: 100%;
		border-radius: 4.267vw;
	}

	.service__list--item:not(:nth-child(3n)) {
		margin-right: 0;
	}

	.service__list--item::before,
	.service__list--item::after {
		width: 4.267vw;
		height: 4.267vw;
		top: 3.2vw;
	}

	.service__list--item::before {
		left: 3.2vw;
	}

	.service__list--item::after {
		right: 3.2vw;
	}

	.service__image {
		margin-bottom: 2.667vw;
	}

	.service__detail {
		margin-bottom: 5.333vw;
	}

	.service__facility {
		margin-bottom: 4.267vw;
		font-size: 4.267vw;
	}

	.service .facility-name {
		margin-bottom: 1.333vw;
		font-size: 4.8vw;
	}

	.service .facility-area span {
		background-size: 4.267vw auto;
		padding-left: 6.4vw;
		font-size: 3.733vw;
	}

	.service__category {
		margin-bottom: 20px;
		display: flex;
	}

	.service__category li {
		background-position: center left 4.267vw;
		background-size: 5.067vw auto;
		padding: 0 4.267vw 0 12vw;
		height: 8.533vw;
		font-size: 4.267vw;
		border-radius: 8.533vw;
	}

	.service__category li:not(:last-of-type) {
		margin-right: 2.133vw;
	}
}

/* 
	notice
------------------------------ */
.notice {
	background-color: rgb(var(--yel));
	background-image: url(../images/notice-bg-image.svg);
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	padding: 6.597vw 0 10vw;
}

.notice::before {
	background-image: url(../images/notice-bg-wave.webp);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 3.472vw;
	position: absolute;
	top: -2.778vw;
	left: 0;
	content: "";
}

.notice .ipd__body--inner {
	background-color: #F8F8F8;
	padding: 48px;
	border-radius: 16px;
}

.notice .ipd__body--sec-title .jp {
	color: #EAA509;
}

.notice__lead {
	line-height: 1.8;
	font-size: 16px;
}

.notice__lead .text:not(:last-of-type) {
	margin-bottom: 1em;
}

.notice__lead .text.yel {
	color: #EAA509;
}

@media screen and (max-width: 1440px) {
	.notice .ipd__body--inner {
		padding: 3.333vw;
		border-radius: 1.111vw;
	}

	.notice__lead {
		font-size: 1.111vw;
	}
}

@media screen and (max-width: 768px) {
	.notice {
		background-image: url(../images/notice-bg-image_sp.svg);
		padding: 17.067vw 0;
	}

	.notice::before {
		background-image: url(../images/notice-bg-wave_sp.webp);
		height: 13.333vw;
		top: -10.667vw;
	}

	.notice .ipd__body--inner {
		padding: 10.667vw 8.533vw;
		border-radius: 4.267vw;
	}

	.notice__lead {
		font-size: 4.267vw;
	}
}

/* ----------------------------------------------------
	ipd__foot
---------------------------------------------------- */
.ipd__foot {
	background-color: rgb(var(--wht));
}

.banner {
	margin: 0 auto;
	padding: 120px 0;
	width: 1100px;
}

.banner__slide--item {
	margin-right: 24px;
	width: 350px;
}

.banner__slide.is-static {
	display: flex;
}

.banner__slide.is-center {
	justify-content: center;
}

.banner__slide.is-static .banner__slide--item:last-child {
	margin-right: 0;
}

.banner__slide .slick-dots {
	bottom: -36px;
	display: flex;
	justify-content: center;
	gap: 24px;
}

.banner__slide .slick-dots li,
.banner__slide .slick-dots li button {
	margin: 0;
	padding: 0;
	width: 12px;
	height: 12px;
}

.banner__slide .slick-dots li button::before {
	background-color: #eee;
	width: 12px;
	height: 12px;
	font-size: 0;
	border-radius: 50%;
	opacity: 1;
	content: "";
}

.banner__slide .slick-dots li.slick-active button::before {
	background-color: #48B9BB;
	opacity: 1;
}

@media screen and (max-width: 1440px) {
	.banner {
		padding: 8.333vw 0;
		width: 76.389vw;
	}

	.banner__slide--item {
		margin-right: 1.667vw;
		width: 24.306vw;
	}

	.banner__slide .slick-dots {
		bottom: -2.5vw;
		gap: 1.667vw;
	}

	.banner__slide .slick-dots li,
	.banner__slide .slick-dots li button,
	.banner__slide .slick-dots li button::before {
		width: 0.833vw;
		height: 0.833vw;
	}
}

@media screen and (max-width: 768px) {
	.banner {
		padding: 19.2vw 0;
		width: 100%;
	}

	.banner__slide--item {
		margin-right: 5.333vw;
		width: 78.667vw;
	}

	.banner__slide .slick-dots {
		bottom: -9.6vw;
		gap: 6.4vw;
	}

	.banner__slide .slick-dots li,
	.banner__slide .slick-dots li button,
	.banner__slide .slick-dots li button::before {
		width: 3.2vw;
		height: 3.2vw;
	}
}
