@charset "utf-8";
/* CSS Document */
.header_b {
  width: 100%;
    padding: 15px clamp(10px, 2vw, 40px);
    justify-content: space-between;
    z-index: 9999;
}
.header_top {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
}

.header_b2 {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 200;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-20px);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}

.header_b2.is-show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}
:root{
    --guide-space: 80px;
    --fv-radius: 40px 0 0 40px;
}
.fv_wrap{
	margin-top: var(--header-space);
    min-height: calc(100vh - var(--header-space));
	align-items: stretch;
	align-items: center;
}
.fv_wrap .swiper-pagination{
	width: 15%;
    flex: 0 0 15%;
    gap: 23px;
    position: relative;
    z-index: 10;
	flex-direction: column;
}
body.on .fv{
	position: relative;
    width: 85%;
    flex: 0 0 85%;
    margin-bottom: auto;
    min-height: calc(95vh - var(--header-space));
}
body.on .fv .swiper{
	position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 100px 0 0 100px;
    overflow: hidden;
}
body.on .fv .swiper::after{
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.17);
    pointer-events: none;
    z-index: 2;
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
body.on .fv .swiper-wrapper{
	width: 100% !important;
    height: 100%!important;
	position: absolute;
	top: 0;
	left: 0;
	transform: none!important;
}
body.on .fv .swiper-slide{
	width: 100%!important;
    height: 100%!important;
	transform: none!important;
	position: absolute;
	top: 0;
	left: 0;
}
body.on .fv .swiper-slide .swiper-img{
	width: 100%!important;
	height:100%;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.fv .swiper-slide-active .swiper-img,
.fv .swiper-slide-duplicate-active .swiper-img,
.fv .swiper-slide-prev .swiper-img {
  animation: zoomUp 10s linear 0s normal both;
}
body.on .fv .swiper-slide img {
	display: block!important;
	opacity: 0;
	height: auto;
	width: 100%;
}
.fv .txtbox h1{
	font-weight: 500;
	letter-spacing: 0.5rem;
	font-size: 40px;
}
.fv .txtbox{
	color: #fff;
	position: absolute;
	bottom: 5%;
	right: 5%;
	z-index: 9;
	align-items: flex-start;
	gap: 20px;
	flex-direction: column;
	padding-right: 80px;
}
.fv .txtbox img{
	position: absolute;
	width: 68px;
	bottom: 0;
	right: 0;
	transform: translateY(50%);
}

.fv_wrap .swiper-pagination.swiper-pagination-vertical,
.fv_wrap .swiper-pagination.swiper-pagination-bullets {
    position: static;
}

.fv_wrap .swiper-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 !important;
    background: #000;
    opacity: 1;
    border-radius: 50%;
    display: block;
    transition: all 0.3s ease;
}

.fv_wrap .swiper-pagination .swiper-pagination-bullet-active {
    width: 26px;
    height: 26px;
    background: url("https://huggy-fluffy.com/system_panel/uploads/images/dog-item3.png") no-repeat center center / contain;
    border-radius: 0;
}
/* ---------- cate2 ---------- */
.cate2 .box_wrap{
	gap:50px;
	flex-direction: column;
}
.cate2 .box_wrap .txtbox{
	gap: 50px;
	flex-direction: column;
}
.cate2 .box_wrap .img_wrap{
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 24px;
    align-items: start;
	margin-bottom: 70px;
}

.cate2 .box_wrap .img_wrap .imgbox{
    border-radius: 20px;
    overflow: hidden;
}
.cate2 .img_wrap .imgbox:nth-child(odd){
    transform: translateY(0);
}
.cate2 .box_wrap .img_wrap .imgbox:nth-child(even){
    transform: translateY(80px);
}

.cate2 .img_wrap .imgbox img{
    width: 100%;
    display: block;
    aspect-ratio: 1 / 0.95;
    object-fit: cover;
}
/* ---------- cate4 ---------- */
.cate4{
	gap: 60px;
}
.cate4 .slide_contents{
	width: calc(50% - 30px);
	overflow: hidden;
	position: relative;
}
.cate4 .contents{
	flex-direction: column;
	width: calc(50% - 30px);
	gap: 50px;
	padding-top: 200px;
	padding-bottom: 200px;
}
.cate4{
	align-items: stretch;
}
.cate4 .slide_contents .slide-wrap{
	display: flex;
	gap: 10px;
	height: 100%;
	max-height: 500px; 
	align-items: flex-start;
}
.cate4 .slide_contents .slider{
	width: calc((100% - 10px) / 2);
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex-shrink: 0;
	will-change: transform;
}
.cate4 .slide_contents .slider .item{
	flex-shrink: 0;
	border-radius: 30px;
	overflow: hidden;
}
.cate4 .slide_contents .slider .slide_box,
.cate4 .slide_contents .slider .slide_box img{
	display: block;
	width: 100%;
	height: 100%;
}
.cate4 .slide_contents .slider .slide_box img{
	object-fit: cover;
}
.cate4 .slide_contents .slide1{
	animation: aboutSlideUp 28s linear infinite;
}
.cate4 .slide_contents .slide2{
	animation: aboutSlideDown 28s linear infinite;
}
.cate4 .slide_contents .slide2{
	margin-top: 18px;
}
@keyframes aboutSlideUp{
	0%{
		transform: translateY(0);
	}
	100%{
		transform: translateY(-50%);
	}
}
@keyframes aboutSlideDown{
	0%{
		transform: translateY(-50%);
	}
	100%{
		transform: translateY(0);
	}
}
/* ---------- cate6 ---------- */
.cate6{
	flex-direction: column;
	gap: 50px;
}
.cate6 .box_wrap{
	max-width: 1280px;
	gap: 30px;
}
.cate6 .box_wrap .box-item{
	width: calc((100% - 60px)/3);
}
.cate6 .box_wrap .box-item img{
	border-radius: 30px;
}
.cate6 .box_wrap .box-item h3{
	margin-top: 15px;
	text-align: center;
}
/* ---------- cate8 ---------- */
.cate8 .logo img{
	width: clamp(180px, 40vw, 350px);
}
.cate8 .box_wrap{
	gap: 70px;
}
.cate8 .box_wrap .imgbox{
	width: calc(50% - 45px);
}
.cate8 .box_wrap .txtbox{
	flex-direction: column;
	width: calc(50% - 45px);
	gap: 40px;
	align-items: flex-start;
}
.cate8 .box_wrap .imgbox img{
	border-radius: 30px;
}
.cate8 .box_wrap .txtbox .txt-item{
	flex-direction: column;
	gap: 10px;
	align-items: flex-start;
}
.cate8 .box_wrap .txtbox .txt-item .title{
	font-family: "Montserrat",  sans-serif;
	color: #e6b6c3;
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0.15em;
}
.cate8 .box_wrap .txtbox .txt-item2{
	flex-direction: row;
	gap: 10px;
	align-items: center;
}
.cate8 .box_wrap .txtbox .txt-item2 .telbox{
	gap: 5px;
}


.dog_item_wrap{
	position: relative;
}

.dog_item_wrap .item1{
	position: relative;
}

.dog_item_wrap .item1 img.item1-1{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: auto;
	display: block;
}

/* 足跡1 */
.dog_item_wrap .item1-1{
	animation: pawFade1 1.6s ease-in-out infinite;
	opacity: 1;
	animation-delay: 0.8s;
}

/* 足跡2 */
.dog_item_wrap .item1-2{
	animation: pawFade2 1.6s ease-in-out infinite;
	opacity: 0;
}

/* 犬 */
.dog_item_wrap .item2{
	animation: dogWalk 1.6s ease-in-out infinite;
	transform-origin: center bottom;
}

@keyframes pawFade1{
	0%{
		opacity: 0;
		transform: scale(1);
	}
	35%{
		transform: scale(.98);
	}
	50%{
		opacity: 1;
		transform: scale(.96);
	}
	65%{
		transform: scale(.95);
	}
	100%{
		opacity: 0;
		transform: scale(1);
	}
}

@keyframes pawFade2{
	0%{
		opacity: 0;
		transform: scale(.95);
	}
	35%{
		transform: scale(.96);
	}
	50%{
		opacity: 1;
		transform: scale(.98);
	}
	65%{
		transform: scale(1);
	}
	100%{
		opacity: 0;
		transform: scale(.95);
	}
}

@keyframes dogWalk{
	0%{
		transform: translateY(0) rotate(0deg);
	}
	25%{
		transform: translateY(-4px) rotate(-2deg);
	}
	50%{
		transform: translateY(0) rotate(0deg);
	}
	75%{
		transform: translateY(-3px) rotate(2deg);
	}
	100%{
		transform: translateY(0) rotate(0deg);
	}
}
/* ---------- IEのみ ---------- */
@media all and (-ms-high-contrast: none) {
}
/* ---------- 1280px ~ ---------- */
@media screen and (max-width: 1280px){
	.cate8 .box_wrap .txtbox .txt-item2 {
		flex-direction: column;
		align-items: flex-start;
	}
}
/* ---------- 1080px ~ ---------- */
@media screen and (max-width: 1080px){
	
	.fv .txtbox h1 {
		font-size: 32px;
	}
	body.on .fv{
		width: 90%;
		flex: 0 0 90%;
		margin-left: 10%;
	}
	.cate2 .box_wrap .txtbox {
		gap: 30px;
	}
	.cate2 .box_wrap .img_wrap{
		grid-template-columns: repeat(5, 1fr);
		gap: 14px;
		margin-bottom: 50px;
	}
	.cate2 .box_wrap .img_wrap .imgbox:nth-child(even){
		transform: translateY(40px);
	}
	.cate2 .box_wrap {
		gap: 30px;
		flex-direction: column;
	}
	
	.cate4{
		position: relative;
		display: block;
		overflow: hidden;
		gap: 0;
		padding-top: 80px;
		padding-bottom: 80px;
		background: none;
	}
	.cate4 .contents {
		width: 100%;
		padding-top: 0px;
		padding-bottom: 0px;
		position: relative;
		z-index: 3;
	}
	.cate4 .slide_contents{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		overflow: hidden;
		z-index: 1;
	}
	.cate4 .slide_contents .slide-wrap{
		width: 100%;
		height: 100%;
		min-height: 100%;
		gap: 10px;
	}

	.cate4 .slide_contents .slider{
		width: calc((100% - 10px) / 2);
	}
	.cate4::after{
		content: "";
		position: absolute;
		inset: 0;
		background: rgba(239, 133, 125, 0.8);
		z-index: 2;
	}
	.cate4 .top_title1{
		margin-bottom: 24px;
	}
	.cate4 .contents .txtbox{
		width: 100%;
		max-width: 100%;
		gap: 36px;
		align-items: flex-start;
	}

	.cate4 .contents .txtbox .topbox h2{
		font-size: 52px;
	}
	.cate4 .contents .txtbox .topbox h2 span{
		font-size: 30px;
	}
	.cate4 .top_title1 p{
		font-size: 120px;
	}
	.cate4 .top_title1 .txt2{
		padding-left: 100px;
	}
	.cate6 .box_wrap .box-item img{
		border-radius: 20px;
	}
	.cate8 .box_wrap .imgbox img{
		border-radius: 20px;
	}
	.cate8 .box_wrap {
		flex-direction: column;
	}
	.cate8 .box_wrap .imgbox {
		width: 60%;
	}
	.cate8 .box_wrap .txtbox {
		width: 80%;
	}
	.cate8 .box_wrap .txtbox .txt-item2 {
		flex-direction: row;
		align-items: center;
	}
}
/* ---------- 768px ~ ---------- */
@media screen and (max-width: 768px){
    .fv .txtbox h1 {
        font-size: 28px;
    }
	.cate4 .contents {
		gap: 30px;
	}
	.cate6 .box_wrap .box-item{
		width: calc((100% - 60px)/2);
	}
	.cate4 .slide_contents .slider .item{
		border-radius: 20px;
	}
	.cate2 .box_wrap .img_wrap .imgbox{
		border-radius: 10px;
	}
	.cate6 {
		gap: 40px;
	}
	.cate8 .box_wrap .imgbox {
		width: 70%;
	}
	.cate8 .box_wrap .txtbox {
		width: 90%;
		gap: 30px;
	}
	.cate8 .box_wrap .txtbox .txt-item2 {
		flex-direction: column;
		align-items: flex-start;
	}
	.cate8 .box_wrap {
		gap: 50px;
	}

}
/* ---------- 576px ~ ---------- */
@media screen and (max-width: 576px){
	body.on .fv{
		width: 95%;
		flex: 0 0 95%;
		margin-left: 5%;
	}
    .fv .txtbox h1 {
        font-size: 22px;
    }
	.fv .txtbox{
		bottom: 15%;
		right:0;
		z-index: 9;
		padding-right: 60px;
	}
	.fv .txtbox img{
		width: 50px;
		bottom: 0;
		right: 5px;
		transform: translateY(100%);
	}
	.cate2 .box_wrap .img_wrap .imgbox{
		border-radius: 10px;
	}
	.cate2 .box_wrap .img_wrap .imgbox:nth-child(even){
		transform: translateY(20px);
	}
	.cate2 .box_wrap {
		gap: 20px;
	}
	.cate2 .box_wrap .img_wrap{
		margin-bottom: 30px;
		gap: 5px;
	}
	.cate2 .box_wrap .txtbox h3 span{
		display: inline-block;
	}
	.cate6 .box_wrap .box-item img{
		border-radius: 10px;
	}
	.cate6 .box_wrap .box-item{
		width: 90%;
	}
	.cate2 .box_wrap .img_wrap .imgbox{
		border-radius: 5px;
	}
	.cate8 .box_wrap .imgbox {
		width: 90%;
	}
	.cate8 .box_wrap .txtbox {
		width: 90%;
		gap: 20px;
	}
	.cate8 .box_wrap {
		gap: 30px;
	}
}
/* ---------- 350px ~ ---------- */
@media screen and (max-width: 350px){
}

