@charset "utf-8";
/* 固定ページ記述用CSSファイル */

/*--------------------------------------------
/* 
/*  幸せなペットライフとは /happy-pet-life
/* 
--------------------------------------------*/

/* ＃life-story
--------------------------------------------*/
.life-story {
	margin: -30px 0 0;
}
.life-story-bg {
	padding: 75px 0 36vw;
}
.life-story-head {
	text-align: center;
	margin: 0 0 50px;
}
.life-story-head .english {
	font-size: 22px;
	margin: 0 0 30px;
}
.life-story-txt p {
	margin: 0 0 1.5em;
}
.life-story-img {
	margin-top: -32vw;
}
@media screen and (min-width: 768px) {
	.life-story {
		margin: -45px 0 0;
	}
}
@media screen and (min-width: 1100px) {
	.life-story-bg {
		padding: 75px 0 400px;
	}
	.life-story-img {
	margin-top: -350px;
	}
}

/* #life-about
--------------------------------------------*/
.life-about-head {
	padding: 100px 0 50px;
}
.life-about-head .img::before {
	width: 90px;
	height: 90px;
	left: 0;
	bottom: 0;
}
@media screen and (max-width: 767px) {
	.life-about {
		padding: 0 0 20px;
	}
	.life-about-head .img {
		width: 250px;
		margin: 40px 10px 0 auto;
	}
	.life-about-head .charactor {
		margin: 0 0 0 auto;
	}
}
@media screen and (min-width: 768px) {
	.life-about-head {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 100px 0 70px;
	}
	.life-about-head .img::before {
		width: 105px;
		height: 105px;
		left: -150px;
		bottom: -10px;
	}
}
@media screen and (min-width: 950px) {
	.life-about-head .img {
		padding: 0 85px 0 0;
	}
}

.life-about-block {
	padding: 0 0 60px;
}
.life-about-block .txt {
	padding: 0 5px 20px;
}
.life-about-caution {
	border: 1px solid #486926;
	background: #fff;
	border-radius: 20px;
	margin: 80px 0 0;
	padding: 40px 20px;
}
.life-about-caution .img {
	margin: 30px 0 0;
}
.life-about-block .balloon {
	font-size: 20px;
	text-align: center;
	width: 270px;
	margin: 10px auto 0;
	line-height: 1.5;
}
.life-about-block .bal-big {
	font-size: 1.3em;
	display: block;
}
.life-about-block .balloon::after {
	content: '';
	background: url('../image/sozai/balloon.png') no-repeat center/cover;
	height: 56px;
	display: block;
	margin: -10px 0 10px;
}
@media screen and (min-width: 768px) {
	.life-about-block {
		padding: 0 0 110px;
	}
	.life-about-block .inner {
		display: flex;
		justify-content: space-between;
		margin: 40px 0 0;
	}
	.life-about-block .inner .img {
		width: 46.5%;
		flex-shrink: 0;
	}
	#about02 .img {
		width: 40%;
	}
	.life-about-block .txt {
		padding: 0 40px 0 5px;
	}
	.life-about-caution {
		margin: 55px 0 0;
		padding: 40px;
		display: flex;
		flex-direction: row-reverse;
		align-items: center;
	}
	.life-about-caution .txt {
		padding: 0 30px 0 5px;
		margin: -15px 0 0;
	}
	.life-about-caution .img {
		margin: 0 30px 0 10px;
	}
}
@media screen and (min-width: 1000px) {
	.life-about-block .txt {
		padding: 0 70px 0 5px;
	}
}

/* #life-service
--------------------------------------------*/
.life-sv {
	padding: 0 0 70px;
}
.life-sv-head {
	padding: 80px 0 60px;
}
.life-sv-head .headline {
	margin: 0 0 60px;
}
.life-sv-head .img {
	margin: 0 25px;
	padding: 75px 0 0;
}
.life-sv-head .balloon {
	top: -65px;
	left: -30px;
	width: 270px;
}
.life-sv-head .b-right::before {
	z-index: 1;	
}
@media screen and (min-width: 768px) {
	.life-sv {
		padding: 0 0 10px;
	}
	.life-sv-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 40px 0 20px;
	}
	.life-sv-head .headline {
		margin: 30px 0 0;
	}
	.life-sv-head .img {
		margin: 0 30px;
		padding: 0;
	}
	.life-sv-head .balloon {
		top: 25px;
		left: -330px;
		width: auto;
	}
}

.life-sv-box {
	background: #fff;
	border: 1px solid #82A651;
	border-radius: 10px;
}
@media screen and (max-width: 767px) {
	.life-sv-box {
		padding: 50px 9vw;
	}
}
#sv-dog .sv-icon::before {
	background-size: 100%;	
}
.life-sv-main .sv-icon::before {
	width: 140px;
	height: 140px;
	margin: 0 auto 20px;
}
.life-sv-main .life-sv-box {
	margin: 0 0 30px;
}
.life-sv-main .txt {
	margin: 50px 0 40px;
}
@media screen and (min-width: 768px) {
	.life-sv-main {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.life-sv-main .life-sv-box {
		width: 47.5%;
		margin: 0 0 60px;
		padding: 45px 20px;
	}
	.life-sv-main .sv-icon::before {
		width: 160px;
		height: 130px;
		margin: 30px auto;
	}
	.life-sv-main .txt {
		margin: 50px 20px 30px;
	}
}
@media screen and (min-width: 950px) {
	.life-sv-main .life-sv-box {
		padding: 45px;
	}
	.life-sv-main .txt {
		margin: 50px 0 30px;
	}
}

.life-sv-other {
	padding: 40px 0 0;
}
.life-sv-other .sv-icon::before {
	width: 95px;
	height: 100px;
	margin: 0 auto 20px;
}
#sv-discipline .sv-icon::before {
	background-image: url('../image/icon/service_discipline.png');
}
#sv-hospital .sv-icon::before {
	background-image: url('../image/icon/service_hospital.png');
}
#sv-breeding .sv-icon::before {
	background-image: url('../image/icon/service_breeding.png');
}
#sv-fish .sv-icon::before {
	background-image: url('../image/icon/service_fish.png');
}
#sv-school .sv-icon::before {
	background-image: url('../image/icon/service_school.png');
}
.life-sv-other .img {
	margin: 50px 0;
}
.life-sv-other .info {
	background: #FFF9E8;
	padding: 25px 20px;
	margin: 30px 0 0;
	border-radius: 10px;
}
.life-sv-other .info-title {
	padding: 0 0 25px;
}
.life-sv-other .info-tel {
	line-height: 1.6;
}
.life-sv-other .info-number {
	line-height: 1.2;
	margin: 0 0 15px;
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
}
.life-sv-other .info-number .big {
	font-size: 1.7em;
}
@media screen and (max-width: 767px) {
	.life-sv-other .info-time {
		font-size: 16px;
	}
}
@media screen and (min-width: 768px) {
	.life-sv-other {
		position: relative;
		margin: 0 0 100px;
		padding: 0;
	}
	.life-sv-other .life-sv-box {
		margin: 40px 100px 0 0;
		padding: 45px;
	}
	.life-sv-other .title {
		display: flex;
		align-items: center;
		margin: 0 0 10px;
		padding: 0 120px 0 0;
	}
	.life-sv-other .sv-icon::before {
		margin: 0 10px 0 0;
		flex-shrink: 0;
	}
	.life-sv-other .img {
		width: 30%;
		position: absolute;
		top: -50px;
		right: 0;
		margin: 0;
	}
	.life-sv-other .txt {
		width: 100%;
	}
	.life-sv-other .info {
		display: flex;
		align-items: center;
		padding: 35px;
		margin: 40px 0 0;
	}
	.life-sv-other .info-title {
		padding: 0 45px 0 0;
		flex-shrink: 0;
	}
	.life-sv-other .info-number {
		margin: 0 0 5px;
	}
}
@media screen and (min-width: 950px) {
	.life-sv-other .img {
		width: 33%;
	}
	.life-sv-other .title {
		padding: 0 28% 0 0;
	}
	.life-sv-other .txt {
		width: 70%;
	}
}
@media screen and (min-width: 1100px) {
	.life-sv-other .img {
		width: 36.5%;
	}
	.life-sv-other .txt {
		width: 65%;
	}
}


/*--------------------------------------------
/* 
/*  /happy-pet-life/下層ページ共通
/* 
--------------------------------------------*/

/* #main-head
--------------------------------------------*/
.sv-headline .sv-icon::before {
	width: 70px;
	height: 60px;
	margin: 0 auto 5px;
}
@media screen and (min-width: 768px) {
	.sv-headline .sv-icon {
		display: flex;
		align-items: center;
	}
	.sv-headline .sv-icon::before {
		width: 95px;
		height: 85px;
		margin: 0 10px 0 0;
		flex-shrink: 0;
	}
}

/* #sv-head
--------------------------------------------*/
.sv-head {
	margin: 40px 0 100px;
}
.sv-head-main::before {
	width: 110px;
	height: 110px;
	top: -20px;
	left: 10px;
	z-index: -1;
}
.sv-head-title {
	padding: 45px 0 35px;
	order: 1;
}
.sv-head-img {
	margin: 15px 0 50px;
	order: 2;
}
.sv-head-txt {
	order: 3;
}
@media screen and (max-width: 767px) {
	.sv-head-inner {
		display: flex;
		flex-direction: column;
	}
}
@media screen and (min-width: 768px) {
	.sv-head {
		margin: 100px 0 80px;
	}
	.sv-head-main {
		max-width: 1300px;
		margin: 0 0 0 auto;
		padding: 0 0 0 30px;
	}
	.sv-head-main::before {
		width: 140px;
		height: 140px;
		top: -25px;
		left: 0;
	}
	.sv-head-inner {
		overflow: hidden;
	}
	.sv-head-img {
		float: right;
		width: 49.6%;
		margin: 0 0 2% 4%;
	}
	.sv-head-txt {
		padding: 0 30px 0 0;
	}
}
@media screen and (min-width: 1350px) {
	.sv-head-main::before {
		left: -50px;
	}
}


/* #sv-point
--------------------------------------------*/
.sv-point {
	padding: 90px 0 110px;
}
.sv-point-head .stamp {
	display: flex;
	justify-content: center;
}
.sv-point-head .stamp::before,
.sv-point-head .stamp::after {
	content: '';
}
.point-mark,
.sv-point-head .stamp::before,
.sv-point-head .stamp::after {
	background: url('../image/stamp/mark.png') center/cover;
	width: 34px;
	height: 36px;
	margin: 0 5px;
	flex-shrink: 0;
}
.sv-point-head .title {
	margin: 20px 0 15px;
}
.sv-point-box {
	margin: 70px 0 0;
}
.sv-point-main .sub {
	display: flex;
	align-items: center;
	letter-spacing: 5%;
}
.sv-point-main .point-mark {
	width: 26px;
	height: 28px;
	margin: 0 10px 0 0;
}
.sv-point-main .title {
	margin: 20px 0 30px;
}
@media screen and (max-width: 767px) {
	.sv-point-head {
		padding: 0 0 20px;
	}
	.sv-point-img {
		margin: 0 0 30px;
	}
}
@media screen and (min-width: 768px) {
	.sv-point {
		padding: 120px 0;
	}
	.sv-point-head .title {
		margin: 25px 0 20px;
	}
	.sv-point-box {
		margin: 130px 0 0;
		display: flex;
		justify-content: space-between;
	}
	.sv-point .sv-point-box:nth-of-type(2n) {
		flex-direction: row-reverse;
	}
	.sv-point-img, .sv-point-main {
		width: 47%;
	}
}


/* #sv-cont
--------------------------------------------*/
.sv-cont {
	padding: 0 0 90px;
}
.sv-cont-main {
	padding: 25px 0 0;
}
.sv-cont-title {
	margin: 0 0 20px;
}
@media screen and (max-width: 767px) {
	.sv-cont-img {
		position: relative;
		height: 100vw;
		overflow: hidden;
		margin-top: -50px;
	}
	.sv-cont-img img {
		position: absolute;
		top: 0;
		right: -30px;
		width: 100vw;
	}
}
@media screen and (min-width: 768px) {
	.sv-cont-img {
		position: absolute;
		top: -80px;
		right: 0;
		width: 42%;
	}
	.sv-cont-main {
		width: 55%;
		padding: 100px 0 0;
		min-height: 530px;
	}
	.sv-cont-title {
		font-size: 36px;
	}
}
@media screen and (min-width: 1200px) {
	.sv-cont-title {
		width: 660px;
	}
	.sv-cont-txt {
		width: 560px;
	}
}


/* #sv-voice
--------------------------------------------*/
.sv-voice {
	padding: 0 0 40px;
}
.sv-com-head {
	margin: 0 0 50px;
}
.sv-com-head .english {
	font-size: 22px;
	margin: 0 0 15px;
}
.sv-voice-block {
	counter-reset: number;
}
.sv-voice-box {
	position: relative;
	background: #fff;
	border: 1px solid #82A651;
	padding: 25px 25px 35px;
	border-radius: 20px;
	counter-increment: number;
	margin: 0 0 100px;
}
.sv-voice-box::before, .sv-voice-box::after {
	content: '';
	width: 35px;
	height: 40px;
	position: absolute;
	clip-path: polygon(0 0, 100% 0, 100% 100%);
}
.sv-voice-box::before {
	background: #82A651;
	bottom: -40px;
}
.sv-voice-box::after {
	background: #fff;
	bottom: -37px;
}
.sv-voice-block .sv-voice-box:nth-of-type(2n)::before,
.sv-voice-block .sv-voice-box:nth-of-type(2n)::after {
	clip-path: polygon(0 0, 100% 0, 0 100%);
}
.sv-voice-title {
	margin: 0 auto 50px;
	width: fit-content;
}
.sv-voice-title .number {
	background: #486926;
	padding: 8px 10px;
}
.sv-voice-title .number::before {
	content: "Voice " counter(number, decimal-leading-zero);
}
.sv-voice-title::after {
	content: '';
	background: url('../image/icon/voice_01.png') no-repeat center/cover;
	width: 160px;
	height: 160px;
	display: block;
	margin: 20px 0 0;
}
.sv-voice-block .sv-voice-box:nth-of-type(2n) .sv-voice-title::after {
	background: url('../image/icon/voice_02.png') no-repeat center/cover;
}
.sv-voice-box .stamp-b {
	position: absolute;
	top: -85px;
	left: 0;
}
@media screen and (max-width: 767px) {
	.sv-voice-box::before, .sv-voice-box::after {
		left: 50%;
	}
	.sv-voice-box::before {
		transform: translateX(-50%);
	}
	.sv-voice-block .sv-voice-box:nth-of-type(2n-1)::after {
		transform: translateX(-51%);
	}
	.sv-voice-block .sv-voice-box:nth-of-type(2n)::after {
		transform: translateX(-47%);
	}
	.sv-voice-box .stamp-b::before {
		background: url('../image/stamp/beige__sp.png') no-repeat center/contain;
		width: 95px;
		height: 70px;
	}
}
@media screen and (min-width: 768px) {
	.sv-com-head {
		margin: 0 0 60px;
	}
	.sv-voice .stamp-b::before {
		width: 100px;
		height: 100px;
	}
	.sv-voice-head.stamp-b::before {
		right: 0;
		top: 30px;
	}
	.sv-voice-box {
		padding: 45px 50px;
		width: 89%;
	}
	.sv-voice-block .sv-voice-box:nth-of-type(2n) {
		margin: 0 0 100px auto;
	}
	.sv-voice-block .sv-voice-box:nth-of-type(2n-1)::before {
		right: 230px;
	}
	.sv-voice-block .sv-voice-box:nth-of-type(2n-1)::after {
		right: 231px;
	}
	.sv-voice-block .sv-voice-box:nth-of-type(2n)::before {
		left: 230px;
	}
	.sv-voice-block .sv-voice-box:nth-of-type(2n)::after {
		left: 231px;
	}
	.sv-voice-inner {
		display: flex;
	}
	.sv-voice-title {
		margin: 0 40px 0 0;
		flex-shrink: 0;
	}
	.sv-voice-box .stamp-b {
		top: -70px;
		left: -90px;
	}
}
@media screen and (min-width: 1000px) {
	.sv-voice-head.stamp-b::before {
		right: 70px;
	}
	.sv-voice-box .stamp-b {
		left: -120px;
	}
}


/* #sv-staff
--------------------------------------------*/
.sv-staff {
	padding: 0 0 120px;
}
.sv-staff-box:not(:last-of-type) {
	position: relative;
	margin: 0 0 50px;
	padding: 0 0 55px;
}
.sv-staff-box:not(:last-of-type)::before {
	content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 9px;
    background-image: radial-gradient(#CDDBB9 40%, transparent 40%);
    background-size: 9px;
    background-repeat: repeat-x;
}
.sv-staff-img {
	margin: 0 auto 30px;
	max-width: 260px;
}
.sv-staff-name {
	font-size: 22px;
	margin: 0 0 30px;
}
.sv-staff-profile {
	margin: 0 0 30px;
}
.sv-staff-profile::before {
	content: 'Profile';
	display: block;
	font-family: "Roboto Bold", "sans-serif";
	color: #fff;
	font-size: 18px;
	background: #82A651;
	width: 65px;
	text-align: center;
	margin: 0 auto 10px;
}
@media screen and (min-width: 768px) {
	.sv-staff {
		padding: 0 0 150px;
	}
	.sv-staff-block {
		max-width: 960px;
		margin: auto;
	}
	.sv-staff-box {
		display: flex;
	}
	.sv-staff-box:not(:last-of-type) {
		margin: 0 0 60px;
		padding: 0 0 65px;
	}
	.sv-staff-img {
		max-width: 300px;
		flex-shrink: 0;
		margin: 0 50px 0 0;
	}
	.sv-staff-name {
		margin: 0 0 15px;
	}
	.sv-staff-profile {
		display: flex;
		align-items: baseline;
		margin: 0 0 20px;
	}
	.sv-staff-profile::before {
		flex-shrink: 0;
		margin: 0 15px 0 0;
	}
}


/* #sv-faq
--------------------------------------------*/
.sv-faq {
	background: #D1C9BA;
	padding: 100px 0;
}
.sv-faq-head {
	margin: 0 0 50px;
}
.sv-faq-title {
	margin: 0 0 15px;
}
.sv-faq-box {
	overflow: hidden;
	border-radius: 10px;
	background: #fff;
	margin: 30px 0 0;
}
.sv-faq-inner {
	padding: 25px 20px;
}
.sv-faq-main {
	display: flex;
	align-items: baseline;
}
.sv-faq-main::before {
	font-family: "Roboto Bold", "sans-serif";
	color: #82A651;
	margin: 0 15px 0 0;
	flex-shrink: 0;
	font-size: 28px;
	line-height: 1.2;
}
.sv-faq-q {
	cursor: pointer;
	transition: .3s;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 20px;
	line-height: 1.8;
}
.sv-faq-q .sv-faq-main::before {
	content: 'Q';
}
.sv-faq-q::after {
	content: '';
	background: url('../image/icon/plus.png') center/cover;
	width: 30px;
	height: 30px;
	margin: 0 0 0 20px;
	flex-shrink: 0;
}
.sv-faq-q.open::after {
	background: url('../image/icon/minus.png') center/cover;
}
.sv-faq-a.sv-faq-inner {
	padding-top: 0;
}
.sv-faq-a .sv-faq-main::before {
	content: 'A';
}
@media screen and (min-width: 768px) {
	.sv-faq-title {
		font-size: 36px;
		margin: 0 0 10px;
	}
	.sv-faq-inner {
		padding: 25px 40px;
	}
	.sv-faq-box {
		margin: 20px 0 0;
	}
}


/* #sv-post
--------------------------------------------*/
.sv-post {
	padding: 90px 0;
}
.sv-post-title {
	color: #323232;
	margin: 0 0 55px;
}
@media screen and (min-width: 768px) {
	.sv-post {
		padding: 75px 0;
	}
	.sv-post-title {
		margin: 0 0 -20px;
	}
}



/*--------------------------------------------
/* 
/*  ワンちゃんとの出会いサポート /happy-pet-life/dog
/* 
--------------------------------------------*/

.sv-com-title {
	position: relative;
	padding: 0 5px 25px;
	margin: 0 0 25px;
}
.sv-com-title::before {
	content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 9px;
    background-image: radial-gradient(#CDDBB9 40%, transparent 40%);
    background-size: 9px;
    background-repeat: repeat-x;
}
.sv-com-img {
	margin: 0 0 25px;
}
@media screen and (min-width: 768px) {
	.sv-com-title {
		margin: 0 0 40px;
	}
}

/* #dog-support
--------------------------------------------*/
.dog-supt {
	margin: 0 0 100px;
}
.dog-supt-box {
	margin: 0 0 80px;
}
.dog-supt-img {
	margin: 0 0 20px;
}
.dog-supt-title {
	margin: 0 0 25px;
}
.dog-supt-info {
	background: #fff;
	border: 1px solid #486926;
	border-radius: 10px;
	margin: 30px 0 0;
	padding: 25px;
}
.dog-supt-info .title,
.dog-supt-info .tel {
	margin: 0 0 15px;
}
.dog-supt-info .tel {
	line-height: 1.2;
}
.dog-supt-info .big {
	font-size: 1.6em;
}
@media screen and (min-width: 768px) {
	.dog-supt {
		margin: 0 0 150px;
	}
	.dog-supt-box {
		margin: 0 0 60px;
	}
	.dog-supt-img {
		margin: 0 0 30px;
	}
	.dog-supt-title,
	.dog-supt-info .title {
		margin: 0 0 18px;
	}
	.dog-supt-info .tel {
		margin: 0;
	}
	.dog-supt-info .inner {
		display: flex;
		flex-wrap: wrap;
	}
	.dog-supt-info .inner > *:not(:last-child) {
		margin-right: .5em;
	}
}


/*--------------------------------------------
/* 
/*  ワンちゃんの食事で健康サポート /happy-pet-life/dog-food
/* 
--------------------------------------------*/

/* #food-reason
--------------------------------------------*/
.food-rsn-block {
	counter-reset: count;
}
.food-rsn-box {
	background: #fff;
	border: 1px solid #486926;
	border-radius: 10px;
	padding: 25px;
	counter-increment: count;
	margin: 30px 0;
}
.food-rsn-title {
	margin: 0 0 25px;
}
.food-rsn-num {
	background: url('../image/sozai/circle_green.png') center/cover;
	width: 63px;
	height: 63px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 15px;
}
.food-rsn-num::before {
	content: counter(count);
	font-family: "Roboto Bold", "sans-serif";
	color: #fff;
	font-size: 30px;
}
.food-rsn-img {
	margin: 30px 0 10px;
}
.food-rsn-img .img {
	margin: 0 auto;
}
@media screen and (min-width: 768px) {
	.food-rsn-block {
		margin: 50px 0;
	}
	.food-rsn-box {
		padding: 45px 40px;
		display: flex;
		justify-content: space-between;
	}
	.food-rsn-main {
		margin: 0 0 0 10px;
	}
	.food-rsn-title {
		margin: 0 0 25px;
	}	
	.food-rsn-img {
		width: 39.5%;
		flex-shrink: 0;
		margin: 0 0 0 5%;
		display: flex;
		align-items: flex-start;
	}
	.food-rsn-img .i01 {
		width: 93%;
	}
	.food-rsn-img .i02 {
		width: 85%;
	}
	.food-rsn-img .i03 {
		width: 75%;
	}
}
@media screen and (min-width: 1000px) {
	.food-rsn-title {
		display: flex;
		align-items: center;
	}
	.food-rsn-num {
		margin: 0 15px 0 0;
		flex-shrink: 0;
	}
	.food-rsn-img .img {
		margin: auto;
	}
}

.food-rsn-for {
	margin: 70px auto 100px;
	max-width: 350px;
}
.food-rsn-for .title {
	margin: 0 0 25px;
}
.food-rsn-for .stamp-b::before {
	width: 82px;
	height: 82px;
	top: 0;
	right: 0;
}
@media screen and (max-width: 767px) {
	.food-rsn-for .img {
		margin: 35px auto 0;
		max-width: 280px;
	}
}
@media screen and (min-width: 768px) {
	.food-rsn-for {
		max-width: 780px;
		margin: 100px auto;
		display: flex;
		justify-content: space-between;
	}
	.food-rsn-for .stamp-b::before {
		width: 115px;
		height: 115px;
		top: -40px;
		right: 15px;
	}
}


/* #food-movie
--------------------------------------------*/
.food-mv {
	margin: 0 0 100px;
	padding: 50px 0 40px;
}
.food-mv-head {
	margin: 0 0 30px;
}
.food-mv-title {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	text-align: center;
}
.food-mv-title::before,
.food-mv-title::after {
	content: '';
	background: url('../image/sozai/emp_brown.png') no-repeat center/contain;
	display: block;
	width: 34px;
	height: 55px;
}
.food-mv-title::before {
	margin: 0 18px 0 0;
}
.food-mv-title::after {
	transform: scale(-1,1);
	margin: 0 0 0 18px;
}
@media screen and (max-width: 389px) {
	.food-mv-title {
		font-size: 5.2vw;
	}
}
.youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
}
.youtube iframe {
    width: 100%;
    height: 100%;
}
@media screen and (min-width: 768px) {
	.food-mv {
		padding: 60px 0 90px;
	}
	.food-mv-head {
		margin: 0 0 45px;
	}
	.food-mv-title {
		font-size: 26px;
		align-items: center;
	}
	.food-mv-title::before {
		margin: 15px 10px 0 0;
	}
	.food-mv-title::after {
		margin: 15px 0 0 10px;
	}
	.food-mv-main {
		max-width: 710px;
		margin: auto;
	}	
}
@media screen and (min-width: 950px) {
	.food-mv .stamp-g::before {
		width: 98px;
		height: 98px;
		opacity: .25;
		bottom: -20px;
		left: 10px;
	}
}
@media screen and (min-width: 1100px) {
	.food-mv .stamp-g::before {
		left: 45px;
	}
}


/* #food-item
--------------------------------------------*/
.food-item {
	margin: 0 0 150px;
}
.food-item .sv-com-title {
	margin: 0 0 -20px;
}
.food-item-box {
	padding: 60px 0;
}
.food-item-box:not(:last-of-type) {
	border-bottom: 1px solid #BFB1A3;
}
.food-item-img {
	margin: 0 0 30px;
}
.food-item-name {
	margin: 0 0 40px;
}
.food-item-name .main {
	margin: 0 0 10px;
}
.food-item-age {
	margin: 0 0 20px;
}
.food-item-age .main {
	background: #82A651;
	width: fit-content;
	line-height: 1.5;
	padding: 3px 15px 5px;
}
.food-item-age.light .main {
	background: #E98C4D;
} 
.food-item-txt p:not(:last-child) {
	margin: 0 0 20px;
}
@media screen and (max-width: 767px) {
	.food-item-age .sub {
		padding: 10px 0 0;
	}
}
@media screen and (min-width: 768px) {
	.food-item {
		margin : 0 0 180px;
	}
	.food-item .sv-com-title {
		margin: 0;
	}
	.food-item-box {
		display: flex;
	}
	.food-item-img {
		width: 36.5%;
		flex-shrink: 0;
		margin: 0 4% 0 0;
	}
	.food-item-name {
		margin: 0 0 50px;
	}
	.food-item-age {
		display: flex;
		align-items: center;
		margin: 0 0 25px;
	}
	.food-item-age .main {
		flex-shrink: 0;
		margin: 0 20px 0 0;
	}
	.food-item .caution {
		text-align: right;
	}
}


/*--------------------------------------------
/* 
/*  ワンちゃんが喜ぶトリミング /happy-pet-life/trimming
/* 
--------------------------------------------*/

/* #trim-salon
--------------------------------------------*/
.trim-salon {
	padding: 0 0 70px;
}
.trim-salon-box {
	background: #fff;
	border: 1px solid #82A651;
	border-radius: 10px;
	padding: 30px;
	margin: 25px 0;
}
.trim-salon-img {
	margin: 30px 0;
}
.trim-salon-txt {
	margin: 0 0 35px;
}
.trim-salon-shop {
	position: relative;
	padding: 45px 0 0;
}
.trim-salon-shop::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 9px;
    background-image: radial-gradient(#CDDBB9 40%, transparent 40%);
    background-size: 9px;
    background-repeat: repeat-x;
}
.trim-salon-link .name {
	line-height: 1.1;
}
.trim-salon-btn {
	margin: 20px 0;
}
.trim-salon-info {
	margin: 30px 0 0;
}
.trim-salon-info .tel {
	display: inline-block;
	line-height: 1.4;
	margin: 5px 0;
}
.trim-salon-info .big {
	font-size: 1.6em;
}
@media screen and (max-width: 767px) {
	.salon-column .trim-salon-main {
		display: flex;
		flex-direction: column;
	}
	.salon-column .trim-salon-title {
		order: 1;
	}
	.salon-column .trim-salon-img {
		order: 2;
	}
	.salon-column .trim-salon-txt {
		order: 3;
	}
	.trim-salon-box .img-block:first-child {
		margin: 0 0 20px;
	}
}
@media screen and (min-width: 768px) {
	.trim-salon {
		padding: 0 0 45px;
	}
	.trim-salon-box {
		padding: 50px;
		margin: 0 0 60px;
	}
	.trim-salon-box .inner {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.trim-salon-main {
		overflow: hidden;
		padding: 0 10px;
	}
	.trim-salon-title {
		margin: 0 0 20px;
	}
	.trim-salon-img {
		float: right;
		width: 35%;
		margin: 0 0 10px 6%;
	}
	.trim-salon-txt {
		margin: 0 0 50px;
	}
	.trim-salon-link {
		padding: 0 0 15px;
	}
	.trim-salon-link .name {
		display: flex;
		align-items: flex-end;
		flex-wrap: wrap;
		line-height: 1.3;		
	}
	.trim-salon-link .first {
		padding: 0 5px 0 0;
	}
	.trim-salon-shop {
		padding: 40px 10px 0;
	}
	.trim-salon-info {
		min-width: 500px;
		max-width: 500px;
		margin: 15px 0 0;
		padding: 0 0 0 10px;
	}
	.trim-salon-info .tel {
		margin: 0;
	}
	.salon-kofu .trim-salon-title {
		margin: 0 0 35px;
	}
	.salon-kofu .trim-salon-img {
		width: 47%;
	}
	.trim-salon-box .img-block,
	.salon-kofu .trim-salon-txt {
		margin: 0 0 30px;
	}
}
@media screen and (min-width: 850px) {
	.salon-kofu .trim-salon-shop {
		width: 46%;
	}
}


/* #trim-sns
--------------------------------------------*/
.sns-block {
	padding: 80px 0 70px;
	margin: 0 0 80px;
}
@media screen and (min-width: 768px) {
	.sns-block {
		padding: 100px 0;
		margin: 0 0 120px;
	}
}
	
.trim-sns-head {
	margin: 0 0 50px;
}
.trim-sns-line {
	margin: 0 0 50px;
}
.trim-sns-line .title {
	margin: 0 0 30px;
}
.trim-sns-line .title::before {
	content: '';
	background: url('../image/sns/logo_LINE_300.png') center/cover;
	width: 100px;
	height: 100px;
	display: block;
	margin: 0 auto 20px;
}
.trim-sns-line .box {
	background: #F19F68;
	padding: 40px 20px;
	border-radius: 10px;
}
.trim-sns-line .main {
	line-height: 1.6;
	margin: 0 0 40px;
}
.trim-sns-line .head {
	font-size: 6.5vw;
	margin: 0 0 10px;
}
@media screen and (min-width: 370px) {
	.trim-sns-line .head {
		font-size: 26px;
	}
}
.trim-sns-line .big {
	font-size: 1.3em;
}

.trim-sns-insta + .trim-sns-insta {
	position: relative;
	padding: 60px 0 0;
	margin: 50px 0 0;
}
.trim-sns-insta + .trim-sns-insta::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 9px;
	background-image: radial-gradient(#82A651 40%, transparent 40%);
	background-size: 9px;
	background-repeat: repeat-x;
}
.trim-sns-insta .name {
	margin: 0 0 30px;
}
@media screen and (max-width: 767px) {
	.trim-sns-line .main {
		position: relative;
		padding: 0 0 40px;
	}
	.trim-sns-line .main::before {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 9px;
		background-image: radial-gradient(#FFF 40%, transparent 40%);
		background-size: 9px;
		background-repeat: repeat-x;
	}
}
@media screen and (min-width: 768px) {
	.trim-sns .flex {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
	}
	.trim-sns-head {
		margin: 20px 0 50px;
	}
	.trim-sns-line {
		margin: 0 0 100px;
	}
	.trim-sns-line .title {
		font-size: 26px;
		margin: 40px 50px 40px 0;
	}
	.trim-sns-line .title::before {
		margin: 0 35px 0 0;
	}
	.trim-sns-line .box {
		padding: 18px 40px;
	}
	.trim-sns-line .main {
		margin: 0 35px 0 0;
	}
	.trim-sns-line .head {
		font-size: 20px;
		border-bottom: 5px dotted #fff;
		margin: 0;
	}
	.trim-sns-line .head,
	.trim-sns-line .txt {
		padding: 15px 20px 15px 5px;
	}
	.trim-sns-line .code {
		width: 150px;
	}
	.trim-sns-insta + .trim-sns-insta {
		padding: 60px 0 0;
		margin: 60px 0 0;
	}
}


/*--------------------------------------------
/* 
/*  幸せドッグライフコミュニティ /happy-pet-life/community
/* 
--------------------------------------------*/
.comm-area {
	margin: 0 0 80px;
}
@media screen and (min-width: 768px) {
	.comm-area {
		margin: 0 0 150px;
	}
}

/* #comm-read
--------------------------------------------*/
.comm-read-txt {
	margin: 30px 0;
}
@media screen and (min-width: 768px) {
	.comm-read-block {
		display: flex;
		justify-content: space-between;
	}
	.comm-read-txt {
		margin: -1em 0 0;
	}
	.comm-read-img {
		width: 420px;
		margin: 0 0 0 30px;
	}
}


/* #comm-year
--------------------------------------------*/
.comm-year-list {
	margin: 40px 0 0;
	font-size: 8vw;
}
.comm-year-list dl {
	position: relative;
	display: flex;
	align-items: center;
}
.comm-year-list dl:not(:last-child) {
	padding: 0 0 45px;
}
.comm-year-list dt {
	color: #fff;
	background: url('../image/sozai/circle_green.png') no-repeat center/cover;
	width: 2.8em;
	height: 2.8em;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 .4em 0 0;
	flex-shrink: 0;
}
.comm-year-list dd::before {
	content: '';
	border-left: 3px solid #CDDBB9;
	height: 150%;
	position: absolute;
	left: 1.4em;
	z-index: -1;
}
.comm-year-list dl:not(:first-child):not(:last-child) dd::before {
	top: 50%;
	transform: translateY(-50%);
}
.comm-year-list dl:first-child dd::before {
	top: 50%;
}
.comm-year-list dl:last-child dd::before {
	bottom: 50%;
}
.comm-year-list small {
	font-size: .6em;
}
.comm-year-list ul {
	font-size: 18px;
}
.comm-year-list li {
	line-height: 1.5;
}
.comm-year-list li:not(:last-child) {
	margin: 0 0 5px;
}
@media screen and (min-width: 390px) {
	.comm-year-list {
		font-size: 30px;
	}
}
@media screen and (min-width: 650px) {
	.comm-year-list {
		font-size: 40px;
		width: fit-content;
		margin: 0 auto;
		min-width: 550px;
	}
	.comm-year-list dl:not(:last-child) {
		padding: 0 0 50px;
	}
	.comm-year-list dt {
		margin: 0 35px 0 0;
	}
}

.comm-year-note {
	padding: 50px 0 20px;
}
@media screen and (min-width: 768px) {
	.comm-year-note {
		padding: 30px 0 0;
	}
	.comm-year-note ul {
		display: flex;
		justify-content: flex-end;
		flex-wrap: wrap;
	}
	.comm-year-note li:not(:first-child) {
		padding: 0 0 0 1em;
	}
}


/* #comm-list
--------------------------------------------*/
.comm-list-head {
	margin: 0 0 50px;
}
.comm-list-head .main {
	margin: 0 0 15px;
}
.comm-list .main-btn a::after {
	transform: translateY(-50%) rotate(90deg);
}
@media screen and (min-width: 768px) {
	.comm-list-head {
		margin: 0 0 35px;
	}
	.comm-list-head .main {
		font-size: 32px;
		margin: 0 0 20px;
	}
}

/* コース・メンバー特典一覧 */
.comm-list-title {
	margin: 0 0 25px;
}
.comm-list-table dl {
	display: flex;
}
.comm-list-table .title {
	border-top-left-radius: 20px;
	border-top-right-radius: 20px;
	color: #fff;
	padding: 15px 0;
	font-size: 20px;
}

/* HAPPIESTコース */
.course-happiest .title {
	background: #69BB7E;
}
/* ハッピーコース */
.course-happy .em {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	margin: 0 0 8px;
}
.course-happy .em::before,
.course-happy .em::after {
	content: '';
	width: 2px;
	height: 26px;
	background: #486926;
}
.course-happy .em::before {
	transform: rotate(-35deg);
	margin: 0 20px 0 0
}
.course-happy .em::after {
	transform: rotate(35deg);
	margin: 0 0 0 10px;
}
.course-happy .title {
	background: #486926;
	color: #FFED64;
}
/* プチハッピーコース */
.course-petit .title {
	background: #B6BF53;
}
.comm-list-table .title small {
	margin: 3px 0 0;
	font-size: 70%;
}

.comm-list-table dt,
.comm-list-table dd {
	display: flex;
	align-items: center;
}
.comm-list-table dt {
	padding: 20px 14px;
}
.comm-list-table dd {
	padding: 20px 10px;
}
.comm-list-table dl:not(:first-of-type) dt {
	background: #E6EBD7;
	font-size: 14px;
	line-height: 1.4;
}
.comm-list-table dd {
	font-family: "NotoSans Bold", "sans-serif";
	line-height: 1.4;
	text-align: center;
	justify-content: center;
}
.comm-list-table dl:not(:first-of-type):not(:last-of-type) dt,
.comm-list-table dl:not(:first-of-type):not(:last-of-type) dd {
	border-bottom: 1px solid #C4C4C4;
}
.comm-list-table dl:not(:first-of-type) dd {
	background: #fff;
}
.comm-list-table .mark {
	flex-wrap: wrap;
}
.comm-list-table .mark span {
	width: 100%;
}
.comm-list-table .mark::before {
	content: '';	
	background-repeat: no-repeat;
	background-size: contain;
	width: 28px;
	height: 28px;
}
.comm-list-table .maru:before {
	background-image: url('../image/sozai/list-maru.png');
}
.comm-list-table .batsu:before {
	background-image: url('../image/sozai/list-batsu.png');
}
.comm-list-table .sankaku:before {
	background-image: url('../image/sozai/list-sankaku.png');
}
@media screen and (max-width: 1159px) {
	.comm-list {
		padding: 0 0 70px;
	}
	.comm-list-main {
		max-width: 700px;
		margin: auto;
	}
	.comm-list-table .head dt {
		display: none;
	}
	.comm-list-table .title {
		width: 100%;
		min-height: 80px;
	}
	.comm-list-table dl:not(:first-of-type) dt {
		width: 48%;
	}
	.comm-list-table dl:not(:first-of-type) dd {
		width: 52%;
		font-size: 16px;
		line-height: 1.5;
	}
	.comm-list-table > [class^="course-"] {
		margin: 0 0 50px;
	}
}
@media screen and (min-width: 1160px) {
	.comm-list-main {
		margin: 0 0 100px;
	}
	.comm-list-title {
		position: absolute;
		left: 0;
		top: 90px;
	}
	.comm-list-table {
		display: flex;
		align-items: flex-end;
	}
	.comm-list-table dt,
	.comm-list-table dd {
		padding: 20px;
	}
	.comm-list-table dl:not(:first-of-type) dt {
		font-size: 16px;
		line-height: 1.8;
	}
	.comm-list-table dd {
		width: 255px;
	}
	/* 2行の表のdtに入れる */
	.comm-list-table .line2 {
		min-height: 92px;
	}
	/* ハッピーコースとプチハッピーコース */
	.course-happy dt,
	.course-petit dt {
		width: 0;
		visibility: hidden;
		overflow: hidden;
		white-space: nowrap;
		padding: 20px 0;
	}
	.course-happiest .title,
	.course-petit .title {
		width: 253px;
	}
	/* HAPPIESTコース */
	.course-happiest dt {
		width: 333px;
	}
	.course-happiest dl:not(:first-of-type) dd {
		border-right: 1px solid #C4C4C4;
	}
	/* ハッピーコース */
	.course-happy .em {
		margin: 0 0 15px;
	}
	.course-happy .title {
		font-size: 24px;
		height: 100px;
	}
	.course-happy dl:not(:first-of-type) {
		position: relative;
	}
	.course-happy dl:not(:first-of-type)::before,
	.course-happy dl:not(:first-of-type):last-of-type::after {
		content: '';
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.course-happy dl:not(:first-of-type)::before {
		box-shadow: inset 4px 0 #486926, inset -4px 0 0 #486926;
	}
	.course-happy dl:not(:first-of-type):last-of-type::after {
		box-shadow: inset 0 -4px 0 #486926;
	}
	/* プチハッピーコース */
	.course-petit .title {
		margin: 0 0 0 auto;
	}
	.course-petit dl:not(:first-of-type) dd {
		border-left: 1px solid #C4C4C4;
	}
}


/* #comm-info
--------------------------------------------*/
.comm-info {
	padding: 70px 0 50px;
}
.comm-info-block {
	background: #82A651;
	border-radius: 10px;
	padding: 35px 18px 5px;
}
.comm-info-box .title {
	margin: 0 0 10px;
}
.comm-info-box dl {
	margin: 30px 0 0;
}
.comm-info-box dt {
	text-align: center;
	margin: 0 auto 20px;
}
.comm-info-box dt::before {
	content: '';
	display: block;
	margin: 0 auto 5px;
}
.comm-info-box .tel dt::before {
	background: url('../image/icon/tel_white.png') no-repeat center/cover;
	width: 60px;
	height: 60px;
}
.comm-info-box .mail dt::before {
	background: url('../image/icon/mail_white.png') no-repeat center/cover;
	width: 42px;
	height: 30px;
}
.comm-info-box .tel dd {
	line-height: 1.5;
}
.comm-info-box .num {
	line-height: 1;
	margin: 0 0 8px;
}
.comm-info-box .yellow {
	color: #FFED64;
}
.comm-info-box .tel .big {
	font-size: 1.9em
}
.comm-info-box .form-btn {
	margin: 30px 0 20px;
}
@media screen and (max-width: 360px) {
	.comm-info-box.form .main-btn {
		font-size: 5.3vw;
	}
}
@media screen and (max-width: 500px) {
	.comm-info-box.form .main-btn {
		max-width: 250px;
	}
	.comm-info-box.form .main-btn.newtab::before {
		margin: 0 20px 0 0;
	}
}
@media screen and (min-width: 768px) {
	.comm-info {
		padding: 130px 0 100px;
	}
	.comm-info-block {
		padding: 40px 45px;
	}
	.comm-info-title {
		padding: 10px 0 0;
	}
}
@media screen and (max-width: 999px) {
	.comm-info-title,
	.comm-info-box .title {
		text-align: center;
	}
	.comm-info-inner {
		max-width: 520px;
		margin: auto;
	}
	.comm-info-box {
		padding: 45px 5px 55px;
	}
	.comm-info-box.contact {
		position: relative;
	}
	.comm-info-box.contact::before {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 9px;
		background-image: radial-gradient(#CDDBB9 40%, transparent 40%);
		background-size: 9px;
		background-repeat: repeat-x;
	}
	.comm-info-box .tel {
		padding: 0 0 25px;
	}
	.comm-info-box.contact .main-btn {
		margin: auto;
	}
}
@media screen and (min-width: 1000px) {
	.comm-info-title {
		margin: 0 0 45px;
	}
	.comm-info-inner {
		display: flex;
	}
	.comm-info-box {
		width: 50%;
	}
	.comm-info-box.contact {
		border-right: 5px dotted #CDDBB9;
		padding: 0 50px 0 0;
	}
	.comm-info-box dl {
		display: flex;
		align-items: center;
	}
	.comm-info-box dt {
		width: 60px;
		flex-shrink: 0;
		margin: 10px 9% 0 0;
	}
	.comm-info-box .tel .big {
		font-size: 2.3em
	}
	.comm-info-box.form {
		padding: 0 0 0 35px;
	}
	.comm-info-box .form-btn {
		margin: 65px 0 20px;
	}
}


/*--------------------------------------------
/* 
/*  アクアリウム・鳥・爬虫類とのライフサポート /happy-pet-life/fish
/* 
--------------------------------------------*/

/* #fish-read
--------------------------------------------*/
.fish-read-block {
	overflow: hidden;
	margin: 0 0 80px;
}
.fish-read-img {
	margin: 0 0 25px;
}
.fish-commit {
	border: 1px solid #486926;
	background: #fff;
	border-radius: 10px;
	margin: 0 0 80px;
	padding: 25px;
}
.fish-commit-img {
	padding: 0 0 30px;
}
.fish-commit .list-dot {
	padding: 0 8px;
	margin: -10px 0 0;
}
@media screen and (min-width: 768px) {
	.fish-read-block {
		overflow: hidden;
	}
	.fish-read-img {
		width: 47%;
		float: right;
		margin: 0 0 10px 7%;
	}
	.fish-commit {
		margin: 0 0 120px;
		padding: 45px 30px 45px 45px;
	}
	.fish-commit-img,
	.fish-commit-main {
		width: fit-content;
		margin: auto;
	}
	.fish-commit-main .title {
		font-size: 26px;
	}
	.fish-commit .list-dot {
		margin: -20px 0 0;
	}
}
@media screen and (min-width: 1160px) {
	.fish-commit {
		display: flex;
	}
	.fish-commit-img {
		width: 450px;
		margin: 0 35px 0 0;
		padding: 0;
	}
}


/* #fish-sns
--------------------------------------------*/
.fish-sns-head {
	margin: 0 0 40px;
}
.fish-sns-x {
	margin: 0 0 80px;
}
.fish-sns-x .logo {
	display: flex;
    align-items: center;
	font-size: 20px;
	line-height: 1.6;
	width: fit-content;
	margin: 0 auto 30px;
}
.fish-sns-x .logo::before {
	content: '';
	background: url('../image/sns/logo_X_black_300.png') no-repeat center/cover;
	width: 2.8em;
	height: 2.9em;
	margin: 0 1.4em 0 0;
}
@media screen and (min-width: 768px) {
	.fish-sns-head {
		margin: 0 0 75px;
	}
	.fish-sns-x {
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 0 90px;
	}
	.fish-sns-x .logo {
		font-size: 26px;
		margin: 0 55px 0 0;
	}
	.fish-sns-x .logo::before {
		width: 73px;
		height: 76px;
	}
}


/* #fish-shop
--------------------------------------------*/
@media screen and (min-width: 768px) {
	.fish-shop {
		margin: -30px 0 60px;
	}
}
@media screen and (min-width: 1000px) {
	.fish-shop-title {
		padding: 0 18% 0 0;
	}
}


/*--------------------------------------------
/* 
/*  店舗のご案内 /shop
/* 
--------------------------------------------*/

/* #shop-read
--------------------------------------------*/
.shop-read-head {
	margin: 50px 0
}
.shop-read-txt {
	margin: 0 0 50px;
}
.shop-read-pic {
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 2;
}
.shop-read-img {
	width: calc(100%/3.09);
}
@media screen and (min-width: 768px) {
	.shop-read-head {
		margin: 90px 0 35px;
	}
	.shop-read-title {
		font-size: 36px;
		line-height: 1.6;
	}
	.shop-read-txt {
		margin: 0 0 70px;
	}
	.shop-read-pic {
		max-width: 1100px;
		margin: auto;
	}
}


/* #shop-life
--------------------------------------------*/
.shop-life {
	padding: 34vw 0 80px;
	margin: -11.5vw 0 80px;
}
.shop-life-title,
.shop-life-title .sub {
	margin: 0 0 10px;
}
.shop-life-block {
	font-size: 4.7vw;
}
.shop-life-box {
	margin: 3.3em 0 0;
}
.shop-life-link {
	background: #fff;
	width: 17.7em;
	height: 17.7em;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	padding: 0 0 1.4em;
	border: 1px solid #82A651;
	box-shadow: 4px 4px 0 #B7C4A2;
	margin: auto;
}
.shop-life-link:hover {
	background: #CDDBB9;
	box-shadow: none;
}
.shop-life-main {
	font-size: 1.45em;
	line-height: 1.4;	
}
.shop-life-main::before {
	width: 3.8em;
	height: 3.4em;
	margin: 0 auto .8em;
}
#sv-fish .shop-life-main::before {
	margin: 0 auto .2em;
}
.shop-life-main::after {
	content: '';
	background: url('../image/icon/arrow_green.png') center/cover;
	display: block;
	width: 1.55em;
	height: 1.55em;
	margin: .7em auto 0;
}
.shop-life-txt {
	line-height: 1.8;
	margin: 1.1em 0 0;
}
@media screen and (min-width: 390px) {
	.shop-life-block {
		font-size: 18px;
	}
}
@media screen and (min-width: 768px) {
	.shop-life {
		padding: 180px 0 120px;
		margin: -65px 0 100px;
	}
	.shop-life-block {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.shop-life-box {
		margin: 3.9em 1em 0;
	}
}
@media screen and (min-width: 1100px) {
	.shop-life-title::before {
		width: 120px;
		height: 120px;
		opacity: .25;
		top: 15px;
		right: 100px;
	}
}


/* #shop-floor
--------------------------------------------*/
.shop-floor {
	margin: 0 0 -30px;
}
.shop-floor-block {
	padding: 30px 0 50px;
}
.shop-floor-title {
	margin: 0 0 10px;
}
.shop-floor-title dl {
	display: flex;
	align-items: center;
	line-height: 1.5;
}
.shop-floor-title dt {
	font-size: 30px;
	line-height: 1;
	padding: 0 17px 0 0;
	display: flex;
	align-items: flex-end;
	flex-shrink: 0;
}
.shop-floor-title .big {
	font-size: 1.5em;	
}
.shop-floor-title dd {
	position: relative;
	font-size: 20px;
	padding: 0 0 0 18px;
}
.shop-floor-title dd::before {
	content: '';
	background: #486926;
	width: 2px;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
}
.shop-floor-title .sub {
	font-size: 24px;
	padding: 0 0 7px;
}
.shop-floor-map {
	padding: 20px 0;
	margin: 0 0 50px;
}
.shop-floor-list dl {
	margin: 30px 0 0;
}
.shop-floor-list dd {
	padding: 10px 0 0 22px;
}
@media screen and (max-width: 660px) {
	.shop-floor-img {
		width: 560px;
		padding: 0 7.7vw;
	}
}
@media screen and (min-width: 768px) {
	.shop-floor {
		margin: 0;
	}
	.shop-floor-chara {
		position: absolute;
		top: -80px;
		right: 20px;
	}
	.shop-floor-block {
		padding: 80px 0 60px;
	}
	.shop-floor-title {
		margin: 0 0 30px;
	}
	.shop-floor-title dl {
		align-items: flex-end;
	}
	.shop-floor-title dt {
		font-size: 40px;
		padding: 0 30px 0 0;
	}
	.shop-floor-title dd {
		font-size: 26px;
		padding: 0 0 5px 25px;
	}
	.shop-floor-title dd::before {
		bottom: 3px;
	}
	.shop-floor-title .sub {
		font-size: 26px;
		padding: 0 0 12px;
	}	
	.shop-floor-map {
		padding: 20px 30px;
		margin: 0 auto 40px;
		width: fit-content;
	}
	.shop-floor-list {
		display: grid;
		grid-template-columns: repeat(auto-fit, 320px);
		column-gap: 6%;
		justify-content: center;
	}
	.shop-floor-list dl {
		margin: 40px 0 0;
	}
}
@media screen and (min-width: 900px) {
	.shop-floor-chara {
		top: -40px;
	}
}
@media screen and (min-width: 1100px) {
	.shop-floor-chara {
		right: 60px;
	}
}


/*--------------------------------------------
/* 
/*  法人向け事業 /btob
/* 
--------------------------------------------*/

/* #btob-read
--------------------------------------------*/
.btob-read {
	padding: 0 0 80px;
}
.btob-read-box {
	background: #E6EBD7;
	border-radius: 10px;
	padding: 35px 20px;
}
.btob-read-box .head {
	padding: 0 0 25px;
	margin: 0 0 30px;
}
.btob-read-box .title {
	font-size: 6vw;
}
.btob-read-box .list {
	width: 93%;
	margin: auto;
}
@media screen and (min-width: 360px) {
	.btob-read-box .title {
		font-size: 22px;
	}
}
@media screen and (min-width: 768px) {
	.btob-read {
		padding: 0 0 90px;
	}
	.btob-read-box {
		padding: 40px;
	}
	.btob-read-box .title {
		font-size: 26px;
	}
	.btob-read-box .list {
		width: fit-content;
		margin: -10px auto 0;
	}
}


/* #btob-info
--------------------------------------------*/
.btob-info {
	padding: 0 0 20px;
}
.btob-info-box .tel {
	margin: 0;
}
@media screen and (min-width: 768px) {
	.btob-info {
		padding: 110px 0;
	}
	#info03 .sv-com-title {
		letter-spacing: -2%;
	}
}


/*--------------------------------------------
/* 
/*  イシハラの想い /thought
/* 
--------------------------------------------*/
.tht-block {
	padding: 30px 0 55px;
}
.tht-head {
	margin: 0 0 25px;
}
@media screen and (min-width: 768px) {
	.tht-block {
		padding: 75px 0;
	}
	.tht-head {
		margin: 0 0 40px;
	}
	.tht-head .english {
		font-size: 22px;
	}
}


/* #mission
--------------------------------------------*/
@media screen and (min-width: 768px) {
	.mission-main {
		font-size: 36px;
	}
}


/* #philosophy
--------------------------------------------*/
.philosophy-main {
	width: fit-content;
	margin: auto;
}
.philosophy-main li {
	display: flex;
	align-items: baseline;
}
.philosophy-main li::before {
	content: '1,';
	margin-right: .2em;
}


/* #message-head
--------------------------------------------*/
.message-head {
	margin: 0 auto 35px;
}
.message-title {
	font-size: 5.1vw;
	margin: -1.4em 0 0;
}
.message-title .inner {
	background: #486926;
	display: inline-block;
	padding: .55em;
	line-height: 1;
}
.message-title span + span {
	margin-left: 2.7em;
}
.message-img {
	width: 85%;
	margin: 0 0 0 auto;
}
.message-txt .name {
	width: fit-content;
	margin: 30px 0 0 auto;
	line-height: 1.8;
}
@media screen and (min-width: 768px) {
	.message-head {
		position: relative;
		max-width: 900px;
		margin: 0 auto 50px;
	}
	.message-title {
		font-size: 3.6vw;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 0;
		margin: 0;
	}
	.message-img {
		width: 66.7%;
	}
}
@media screen and (min-width: 1000px) {
	.message-title {
		font-size: 36px;
	}
	.message-img {
		width: fit-content;
	}
}


/* #logomark
--------------------------------------------*/
.logomark {
	padding: 40px 0 100px;
}
.logomark-box {
	background: #fff;
	border: 1px solid #486926;
	border-radius: 10px;
	padding: 40px 20px;
}
.logomark-txt {
	margin: -5px 5px 0;
}
@media screen and (max-width: 767px) {
	.logomark-img {
		margin: 40px auto 50px;
		max-width: 220px;
	}
}
@media screen and (min-width: 768px) {
	.logomark {
		padding: 75px 0 200px;
	}
	.logomark-box {
		padding: 50px;
		display: grid;
		grid-template-columns: 1fr 250px;
		column-gap: 8%;
		align-items: start;
		grid-template-rows: auto 1fr;
	}
	.logomark .title {
		font-size: 26px;
	}
	.logomark-img {
		grid-row: 1 / 3;
		grid-column: 2 / 3;
	}
}
@media screen and (min-width: 1000px) {
	.logomark-box {
		padding: 50px 70px;
	}
}


/*--------------------------------------------
/* 
/*  会社情報 /company
/* 
--------------------------------------------*/
.company-block {
	padding: 25px 0 95px;
}
.company-head {
	margin: 0 0 45px;
}
@media screen and (min-width: 768px) {
	.company-block {
		padding: 35px 0 110px;
	}
}


/* #about
--------------------------------------------*/
.about-info dl {
	display: flex;
	align-items: baseline;
}
.about-info dt {
	font-family: "NotoSans Bold", "sans-serif";
	color: #486926;
	flex-shrink: 0;
	width: 110px;
}
.about-info dd {
	width: 100%;
	border-top: 1px solid #BFB1A3;
	padding: 20px 0;
}
.about-info dl:last-of-type dd {
	border-bottom: 1px solid #BFB1A3;
}
@media screen and (max-width: 767px) {
	.about-info {
		line-height: 1.6;
	}
}
@media screen and (min-width: 768px) {
	.about-info dt {
		width: 120px;
	}
	.about-info p {
		margin: 0;
	}
}


/* #licence
--------------------------------------------*/
.licence-box {
	counter-reset: licence;
}
.licence-head {
	background: #82A651;
	text-align: center;
	font-size: 20px;
	line-height: 1.8;
}
.licence-main {
	padding: 30px 25px;
}
.licence-list li {
	counter-increment: licence;
	display: flex;
	align-items: baseline;
	line-height: 2;
}
.licence-list li::before {
	content: counter(licence);
	border-radius: 50%;
	width: 1em;
	height: 1em;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 0.3em;
	border: 1px solid;
	font-family: "Roboto Bold", "sans-serif";
	font-size: 95%;
	flex-shrink: 0;
}
@media screen and (max-width: 767px) {
	.licence-box {
		font-size: 16px;
		margin: 0 0 -30px;
	}
}
@media screen and (min-width: 768px) {
	.licence-block {
		max-width: 850px;
		margin: auto;
	}
}


/* #history
--------------------------------------------*/
.history-list dl {
	position: relative;
}
.history-list dt {
	position: absolute;
	top: -10px;
	left: 0;
	line-height: 1.2;
	font-size: 32px;
	letter-spacing: 20%;
	font-family: "NotoSans Bold", "sans-serif";
	color: #82A651;
	width: 40px;
}
@media screen and (max-width: 949px) {
	.history-list dd {
		padding: 10px 0 40px 90px;
	}
}
@media screen and (min-width: 950px) {
	.history-list dd:first-of-type {
		max-width: 555px;
		padding: 15px 0 40px 90px;
	}
	.history-list dl:not(:last-of-type) dd:not(:first-of-type)::before {
		display: none;
	}
	.history-list .img {
		position: absolute;
		right: 0;
		top: 0;
	}
	.history-list .img.h_02 {
		top: -40px;
	}
	.history-list .img.h_03 {
		top: -20px;
	}
}
.history-list dl:last-of-type dd {
	padding-bottom: 0!important;
}
.history-list dl:not(:last-of-type) dd::before {
	content: '';
	position: absolute;
	height: 100%;
	border-left: 1px solid;
	top: 28px;
	left: 60px;
}
.history-list dd:first-of-type::after {
	content: '';
	position: absolute;
	border-radius: 50%;
	left: 50px;
	top: 21px;
	width: 20px;
	height: 20px;
	background: #82A651;
	z-index: 1;
}

.history-list .caption {
	display: block;
	text-align: center;
	font-size: 16px;
	color: #000;
	line-height: 1.6;
	margin: 8px 0 0;
}


/* #cushara
--------------------------------------------*/
.white-box {
	padding: 30px;
	background: #fff;
}
.cushara .hl-20 {
	line-height: 1.8;
}
@media screen and (min-width: 768px) {
	.white-box {
		padding: 80px 30px;
	}
	.cushara .white-box {
		margin: 0 0 90px;
	}
}



/*--------------------------------------------
/* 
/*  プライバシーポリシー /privacy
/* 
--------------------------------------------*/
.privacy-main {
	margin: 0 0 80px;
}
.privacy-box p, .privacy-box ol, .privacy-box li {
	margin: 0;
	line-height: 2;
}
@media screen and (min-width: 768px) {
	.privacy-main {
		margin: 0 0 150px;
	}
}


/*--------------------------------------------
/* 
/*  お問い合わせ /contact
/* 
--------------------------------------------*/
.contact-main-head {
	margin: 50px 0;
}
@media screen and (min-width: 768px) {
	.contact-main {
		margin: 0 0 60px;
	}
	.contact-main-head {
		margin: 80px 0;
	}
}


.contact-form dl {
	margin: 0 0 20px;
}
.contact-form dt {
	padding: 0 0 8px;
}

.contact-form .required {
	font-size: 14px;
	background: #E98C4D;
	color: #fff;
	padding: 2px 5px;
	margin: 0 0 0 15px;
}
.submit-confirm {
	color: #323232;
	margin: 0 0 50px;
}
.submit-confirm .wpcf7-list-item {
	margin: 0 0 0 5px;
}
.submit-confirm label {
	display: flex;
	align-items: baseline;
	line-height: 1.8;
	font-size: 16px;
}
.submit-btn {
	position: relative;
	margin: auto;
	width: fit-content;
}

@media screen and (min-width: 768px) {
	.contact-form {
		max-width: 720px;
		margin: auto;
	}
	.contact-form dl {
		display: flex;
		margin: 0 0 30px;
	}
	.contact-form dt {
		width: 230px;
		flex-shrink: 0;
		padding: 5px 0 0;
	}
	.contact-form dd {
		width: 100%;
	}
	.submit-confirm {
		margin: 0 0 75px;
	}
	.submit-confirm label {
		font-size: 18px;
	}
}

