.main_visual {
	/*
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	*/
	aspect-ratio: 1780 / 625;
	position: relative;
}
.main_visual::before {
	content: '';
	display: block;

	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

	width: calc(100% - 40px);
	height: 100%;

	aspect-ratio: 1780 / 625;
	background-image: url(../images/home/main_visual.jpg);
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
	border-radius: 40px;
}

.main_visual .ystdb-section__container {
	width: calc(100% - 100px);
	margin-left: auto;
	margin-right: auto;
    align-items: flex-start;
    flex: none;
}

@media screen and (max-width: 600px) {
	.main_visual {
		aspect-ratio: 1780 / 1000;
		align-items: flex-end;
	}
	.main_visual::before {
		aspect-ratio: 1780 / 1000;
		border-radius: 20px;
	}
	.main_visual .ystdb-section__container {
	
	}
}

.main_visual h2 {
	margin-top: 1em;
	color: #fff;
	text-shadow: 3px 3px #94C246;
	font-size: 60px;
	font-size: min(4.5vw,60px);
}
.main_visual p {
	margin-top: 1em;
	color: #fff;
	text-shadow: 2px 2px #94C246;
	font-size: 24px;
	font-size: min(2.3vw,24px);
}

.features {
	position: relative;
	background-color: #94c246;
	background-image: radial-gradient(circle, #ffffff1a 2px, transparent 2px), radial-gradient(circle, #ffffff1a 2px, transparent 2px);
	background-position: 0 0, 5px 9px;
	background-size: 10px 18px;
	background-repeat: repeat;

	padding-top: calc((100% * (97/1926)) + 100px) !important;
	padding-bottom: calc((100% * (88/1920)) + 100px) !important;
}
.features::before {
	content: '';
	background-image: url(../images/home/bg01.svg);
	background-size: 100% auto;
	background-position: center top;
	background-repeat: no-repeat;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	aspect-ratio: 1926 / 97;
}
.features::after {
	content: '';
	background-image: url(../images/home/bg02.svg);
	background-size: 100% auto;
	background-position: center bottom;
	background-repeat: no-repeat;
	position: absolute;
	bottom: -1px;
	left: 0px;
	width: 100%;
	aspect-ratio: 1920 / 88;
}
.bg_dog {
	background-image: url(../images/home/bg_dog.gif);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
}

.diseases {

}


.diseases_box {
	border-radius: 15px;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	aspect-ratio: 535 / 400;
	/*
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	*/
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
.diseases_box a {

	width: 100%;
	height: 100%;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
}
.diseases_box.left {
	background-image: url(../images/home/diseases01.jpg);
}
.diseases_box.right {
	background-image: url(../images/home/diseases02.jpg);
}
.diseases_box .upper {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 40%;
}
.diseases_box .lower {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 60%;
}
.diseases_box h3 {
	font-weight: bold;
	font-family: "Kosugi Maru", sans-serif;
	font-size: min(4vw, 30px);
	text-align: center;
	color: #fff;
}
.diseases_box .label_green {
	display: inline-block;
	background-color: #9EC858;
	color: #fff;
	border-radius: 999px;
	padding: 0.2em 1em;
}
.diseases_box p {
	text-align: center;
	color: #fff;
}

.case {
	position: relative;
	/*background-image: url(../images/home/bg_straipe.png);
	background-size: auto auto;
	background-position: center center;
	background-repeat: repeat;*/
	background-color:#fff;
	display: none;
}
/*
.case::after {
	content: '';
	background-image: url(../images/home/bg03.svg);
	background-size: 100% auto;
	background-position: center bottom;
	background-repeat: no-repeat;
	position: absolute;
	bottom: -1px;
	left: 0px;
	width: 100%;
	aspect-ratio: 1920 / 71;
}
*/
.link_ico::after {
  content: '';
  display: inline-block;
  width: 2em;
  height: 0.5em;
  border-bottom: solid 1px #9EC858;
  border-right: solid 1px #9EC858;
  transform: skew(45deg);
  margin-left: 0.5em;
}

.flow {
/*	background-color: #94c246;*/
	background-color: #fff;
}

.flow_warp {
	background-color: #fff;
	border-radius: 19px;
	max-width: 1080px;
	padding: 40px;
	margin-left: auto;
	margin-right: auto;
}
.flow_item {
	display: flex;
	justify-content: space-between;
	margin: 1em 0;
}
.flow_item .number {
	width: 75px;
	margin-right: 15px;
	color: #94C246;
	font-size: min(8vw, 40px);

	background-image: radial-gradient(circle, #94c246 2.5px, transparent 2.5px);
	background-position: left top;
	background-repeat: repeat-x;
	background-size: 15px 4px;
	display: flex;
	justify-content: center;
}
.flow_item .content {
	display: flex;
	flex-direction: column;
	flex: 1;
}
.flow_item .content .eng {
	color: #94C246;
}
.flow_item .content h3 {
	display: flex;
	align-items: center;
	margin: 0.5em 0;
	font-weight: bold;
	font-family: "Kosugi Maru", sans-serif;
	font-size: min(4vw, 30px);
	line-height: 1;
	vertical-align: bottom;
}
.flow_item .content h3:after {
	content: '';
	margin-left: 0.5em;
	display: inline-block;
	width: 1.5em;
	height: 1.2em;
	background-position: center center;
	background-repeat: no-repeat;
}
#flow01 .content h3:after {
	background-image: url(../images/home/flow_ico01.png);
}
#flow02 .content h3:after {
	background-image: url(../images/home/flow_ico02.png);
}
#flow03 .content h3:after {
	background-image: url(../images/home/flow_ico03.png);
}
/*
@media screen and (max-width: 600px) {
	.flow_item .number {
		font-size: min(8vw, 40px);
	}
	.flow_item .content h3 {
		font-size: min(4vw, 30px);
	}
}
*/

.line_point {
	margin-top: 30px;
	background-color: #fff;
	border-radius: 19px;
	max-width: 1080px;
	padding: 40px;
	margin-left: auto;
	margin-right: auto;
}
.line_point h3 {
	margin: 0;
	color: #94C246;
	font-size: 1.2em;
}
.line_point hr {
	width: 100%;
	height: 5px;
	background-image: radial-gradient(circle, #94c246 2.5px, transparent 2.5px);
	background-position: left top;
	background-repeat: repeat-x;
	background-size: 15px 4px;
	border: none;
}
.line_point dl {

}
.line_point dl dt {
	position: relative;
}
.line_point dl dt span {
	background-color: #F0FAE2;
	border-radius: 999px;
	display: inline-block;
	padding: 0.5em 1em 0.5em 2.5em;
}
.line_point dl dt span:before {
	content: '';
	display: inline-block;
	width: 1em;
	height: 1em;
	background-color: #94C246;
	border-radius: 999px;

	position: absolute;
	left: 1em;
	top: 50%;
	transform: translateY(-50%);
}
.line_point dl dd {
	margin: 0;
	padding: 0.5em;
}

@media screen and (max-width: 600px) {
	.line_point dl dt span {
		border-radius: 1em;
	}
	.line_point dl dt span:before {
		top: 0.785em;
		transform: translateY(0);
	}
	.flow_warp,.line_point{
		padding: 1em;
	}
	#flow01 .content h3:after{
		background-size: 25px;
	}
	#flow02 .content h3:after{
		background-size: 19px;
	}
	#flow03 .content h3:after{
		background-size: 25px;
	}
}

.information {
	position: relative;
}
.information::before {
	content: '';
	background-image: url(../images/home/bg04.svg);
	background-size: 100% auto;
	background-position: center top;
	background-repeat: no-repeat;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	aspect-ratio: 1920 / 93;
}


.slider-wrap {
	border-top: 5px solid #F2F8E9;
	border-bottom: 5px solid #F2F8E9;
	background-color: #e1eecc;
	background-image: radial-gradient(circle, #f2f8e9 2px, transparent 2px), radial-gradient(circle, #f2f8e9 2px, transparent 2px);
	background-position: 0 0, 5px 9px;
	background-size: 10px 18px;
	background-repeat: repeat;
}

.swiper {
	width: 100%;
}
.swiper-wrapper {
  transition-timing-function: linear;
}
.swiper-slide {
	width: calc(100% / 6);
}
.swiper-slide img {
	border-radius: 15px;
}

.swiper-slide-odd-offset img {
	margin-top: 20px;
}
.swiper-slide-even-offset img {
	margin-bottom: 20px;
}



/*
.polka_dots_bg {
	background-color: #78BC27;
	background-image:
	radial-gradient(#86c33e 25%, transparent 20%),
	radial-gradient(#86c33e 25%, transparent 20%) !important;
	background-size: 16px 16px !important;
	background-position: 0 0, 8px 8px !important;
	background-repeat: repeat !important;
}

.top_header_bg {
	background-image: url(../images/home/main-pc.png);
	background-size: cover;
	background-position: center top;
	background-repeat: no-repeat;
	margin-bottom: 0;
	padding-bottom: 0;
}
@media screen and (max-width: 600px) {
	.top_header_bg {
		background-image: url(../images/home/main-sp.png);
		margin-bottom: 20px !important;
	}
}

.top_header_catch {
	margin-top: 120px !important;
	font-weight: bold;
	font-size: 30px;
	line-height: 1.5;
	color: #fff;
	text-shadow:
	0px 0px 8px rgba(120, 188, 39, 1),
	0px 0px 8px rgba(120, 188, 39, 1),
	0px 0px 8px rgba(120, 188, 39, 1),
	0px 0px 8px rgba(120, 188, 39, 1),
	0px 0px 8px rgba(120, 188, 39, 1),
	0px 0px 8px rgba(120, 188, 39, 1),
	0px 0px 8px rgba(120, 188, 39, 1);
	text-align: center;
}
.top_header_copy {
	font-weight: bold;
	font-size: 20px;
	line-height: 1.4;
	color: #ffff00;
}

.top_copy_wrap {
	padding-bottom: 15px;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}

.top_header_dog_cat {

}

@media screen and (max-width: 600px) {
	.top_header_catch {
		margin-top: 100px !important;
		font-size: calc( 100vw * ( 19 / 375 ) );

		margin-bottom: 100px !important;
	}
	.top_header_copy {
		font-size: 16px;
		text-align: left;
	}
	.top_copy_wrap {
		padding-bottom: 15px;
		max-width: 100%;
	}
	.top_header_dog_cat {
		max-width: calc( 50vw );
	}
}

.bg_alpha .has-background {
	background-color: rgba(0, 0, 0, 0.15) !important;
}

.pc {
	display: block !important;
}
.sp {
	display: none !important;
}

@media screen and (max-width: 600px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
}

#newsfive {

}
.newsfive-item {
	border-bottom: 1px solid #ccc;
	padding: 0.75em 0 0.5em 0;
}
.newsfive-item .item-header {
	display: flex;
	align-items: center;
	font-size: 0.875rem;
}
.newsfive-item .item-header .item-date {
	padding: 0 0.5em 0 0;
	color: #78bb26;
}
.newsfive-item .item-header .item-cat a {
	display: inline-flex;
	align-items: center;
	background-color: #78bb26;
	color: #fff;
	padding: 0.2em 0.5em 0  0.5em;
	font-size: 0.75rem;
}
.newsfive-item h3 {
	margin: 0;
}
.newsfive-item h3 a {
	font-size: 1rem;
	font-weight: normal;
	padding: 0.75em 0;
	color: #000;
}

*/
