/* link */
a.link-jump{
	color: #648200;
	font-weight: bold;
	padding-right: 1.25em;
	background: url(../images/common/link-jump-green.png) no-repeat right 5px;
	background-size: 1em auto;
	text-decoration: underline;
	transition: .4s all;
}
a.link-jump:hover{
	padding-right: 1.75em;
}

/* bg */
body.subpage{
	background: #f8f1d4;
}
.bg-kimidori{
	background: #9baa5a;
}
.food-bg{
	background:  linear-gradient(180deg, #f8f1d4 0%, #f8f1d4 40%, #9baa5a 40%, #9baa5a 100%);
}

/* fontsize */
.copy{
	font-size: 1.5em;
	font-weight: 500;
	font-feature-settings: "palt";
}
.copy-small{
	font-size: 1.375em;
	font-weight: 500;
	font-feature-settings: "palt";
}
.midashi{
	font-size: 1.875em;
	font-weight: 500;
	line-height: 1.5;
	font-feature-settings: "palt";
	margin-bottom: 1em;
}
.komidashi{
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 1em;
	font-feature-settings: "palt";
}
.tit90{
	font-size: 6.25em;
	font-weight: 100;
	font-family: "Poppins", sans-serif; 
	line-height: .25;
	color: #9baa5a;
	position: relative;
	z-index: 5;
}

.sideline-midori-komidashi{
	color: #648200;
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 1em;
	font-feature-settings: "palt";
	border-left: 5px solid #648200;
	padding-left: .75em;
}
.borderline-midori-em{
	color: #648200;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 1.25em;
	padding-bottom: .5em;
	font-feature-settings: "palt";
	border-bottom: 2px solid #d1d7b2;
	position: relative;
}
.borderline-midori-em:before{
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 6em;
	height: 3px;
	background: #9baa5a;
	content: "";
}

.em-hr{
	border-bottom: 1px dotted;
	font-weight: bold;
	padding-bottom: .5em;
	margin-bottom: 1em;
}
.sideline-em{
	font-weight: bold;
	padding-left: .75em;
	border-left: 5px solid;
	line-height: 1.3;
	margin-bottom: .5em;
}
	@media only screen and (max-width: 920px) {
		.copy{
			font-size: 1.28571428571em;
		}
		.copy-small{
			font-size: 1.14285714286em;
		}
		.tit90{
			font-size: 4.5em;
		}
	}

/* margin */
.mtl{
	margin-top: 2.75em;
}
.mt{
	margin-top: 2em;
}
.mts{
	margin-top: 1.5em;
}
.mtxs{
	margin-top: .75em;
}
.mb{
	margin-bottom: 1em;
}

/* borderbox / bgbox */
.borderbox-kimidori{
	border: 1px solid #9baa5a;
	padding: 1.5em 1.75em;
}
.bgbox-white{
	background: #fff;
	padding: 1.5em 1.75em;
}

.kakumaru{
	border-radius: 1em;
}
.sideline-midori{
	border-left: 5px solid #648200;
	padding-left: 1.5em;
}
.sideline-kimidori{
	border-left: 5px solid #9baa5a;
	padding-left: 1.5em;
}

/*
page haed 
------------------------------*/
.page-header{
	position: relative;
	max-width: 1440px;
	width: 94%;
	margin: 3em auto 0;
	aspect-ratio: 72 / 25;
	border-radius: 2.25em;
	line-height: 1.5;
}
.page-title {
	position: absolute;
	top: 50%;
	left: 5%;
	transform: translateY(-50%);
}
.page-title .eng{
	font-size: 1.75em;
}
.page-title .ja{
	font-size: 2.5em;
	font-weight: 600;
}

#shinryo .page-header{
	background: #5f7d00 url(../images/shinryo/top.png) no-repeat 100% center;
	background-size: auto 150%;
}
#nutrition_consultation .page-header{
	background: #9f7b59 url(../images/nutrition_consultation/top.png) no-repeat 100% center;
	background-size: auto 150%;
}
#preventive .page-header{
	background: #e5e0da url(../images/preventive/top.jpg) no-repeat 100% center;
	background-size: auto 100%;
}
#checkup .page-header{
	background: #fce5d3 url(../images/checkup/top.jpg) no-repeat 100% 51.5%;
	background-size: auto 100%;
}
#travel_support .page-header{
	background: #b5ceb9 url(../images/travel_support/top.png) no-repeat 90% center;
	background-size: auto 70%;
}
#travel_support .page-header .onepoint{
	position: absolute;
	top: 55%;
	right: -3%;
	max-width: 300px;
	height: auto;
}
	@media only screen and (max-width: 1200px) {
		.page-header{
			aspect-ratio: 144 / 55;
		}
		.page-title .eng{
			font-size: 1.375em;
		}
		.page-title .ja{
			font-size: 2.25em;
		}
	}

	@media only screen and (max-width: 920px) {
		.page-header{
			aspect-ratio: 16 / 9.5;
			margin-top: 1em;
		}
		.page-title .eng{
			font-size: 1.25em;
		}
		.page-title .ja{
			font-size: 2em;
		}
		#shinryo .page-header,
		#nutrition_consultation .page-header{
			background-size: auto 120%;
		}
		#checkup .page-header{
			background-size: 115%;
		}
		#travel_support .page-header{
			background-position: 95% center;
		}
		#travel_support .page-header .onepoint{
			width: 45%;
		}
	}
	@media only screen and (max-width: 500px) {
		.page-title .eng{
			font-size: 3.5vw;
		}
		.page-title .ja{
			font-size: 1.75em;
		}
	}

.page-header-txt{
	position: relative;
	max-width: 1440px;
	width: 94%;
	margin: 0 auto;
	padding: 3em 0 1em 0;
	position: relative;
}
.page-header-txt .ja{
	position: relative;
	font-size: 1.875em;
	font-weight: 600;
	color: #648200;
	margin-top: -1.375em;
	margin-left: .2em;
	z-index: 2;
}
.page-header-txt .tit90{
	opacity: .2;
	font-weight: 500;
	line-height: 1;
}
.page-header-txt img{
	position: absolute;
	top: 50%;
	right: 0;
	width: 9.5em;
	height: 9.5em;
	aspect-ratio: 1 / 1;
	line-height: 1.0;
	z-index: 1;
	transform: translateY(-50%);
	border-radius: 50%;
}
	@media only screen and (max-width: 1100px) {
		.page-header-txt .tit90{
			letter-spacing: -4px;
		}
	}
	@media only screen and (max-width: 920px) {
		.page-header-txt .tit90{
			letter-spacing: 0;
			padding-right: 1.75em;
		}
		.page-header-txt .ja{
			margin-top: -.375em;
		}
		.page-header-txt img{
			width: 8.25em;
			height: 8.25em;
		}
	}
	@media only screen and (max-width: 500px) {
		.page-header-txt .tit90{
			font-size: 3.5em;
		}
		.page-header-txt .ja{
			font-size: 1.375em;
		}
	}

/* contents */
.contents-sub-wide,
.contents-sub-wide-large{
	position: relative;
	max-width: 1440px;
	width: 88%;
	margin: 0 auto;
	padding: 4em 0 1.5em;
}

.contents-sub,
.contents-sub-large{
	position: relative;
	max-width: 1280px;
	width: 88%;
	margin: 0 auto;
	padding: 4em 0 1.5em;
}
.cont--read{
	max-width: 1100px;
	margin: 0 auto;
}
.cont--read-small{
	max-width: 832px;
	margin: 0 auto;
}
.section-wrap{
	padding: 3.25em 0;
}

	@media only screen and (max-width: 920px) {
		.contents-sub-large,
		.contents-sub-wide-large{
			width: 100%;
			padding: 3em 0 1.5em;
		}
		.contents-sub,
		.contents-sub-large{
			padding: 3em 0 1.5em;
		}
		.section-wrap{
			padding: 3em 0;
		}
	}


/*
------------------------------
LAB for YOU
------------------------------*/
.tit-lab{
	font-size: 10.25vw;
	font-weight: 500;
	font-family: "Poppins", sans-serif; 
	line-height: 1;
	color: #bec2be;
	position: relative;
	z-index: 5;
	margin-bottom: .25em;
}
.copy-lab{
	font-size: 2.25em;
	line-height: 1.75;
	font-feature-settings: "palt";
	font-weight: 300;
	letter-spacing: 1px;
}
.copy-lab span{
	font-size: 1.11111111em;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 700;
}
	@media only screen and (min-width: 1900px) {
		.tit-lab{
			font-size: 170px;
		}
	}
	@media only screen and (max-width: 920px) {
		.tit-lab{
			font-size: 15.2vw;
		}
		.copy-lab{
			font-size: 2em;
		}
	}
	@media only screen and (max-width: 500px) {
		.copy-lab{
			font-size: 5.5vw;
		}
	}
.lab-flex{
	margin: 6em auto;
	width: 88%;
}
.lab-flex .thumb{
	width: calc(100% - 500px);
	padding-right: 12%;
}
.lab-flex .copy-body{
	width: 500px;
	font-size: 1.125em;
	line-height: 2.3;
}
	@media only screen and (max-width: 1280px) {
		.lab-flex{
			width: 100%;
		}
		.lab-flex .thumb{
			width: 50%;
			padding-right: 5%;
		}
		.lab-flex .copy-body{
			width: 50%;
		}
	}
	@media only screen and (max-width: 920px) {
		.lab-flex{
			margin: 3.5em auto;
		}
		.lab-flex .thumb{
			max-width: 400px;
			width: 80%;
			padding-right: 0%;
			margin: 0 auto;
		}
		.lab-flex .copy-body{
			width: 88%;
			max-width: 430px;
			margin: 2em auto 0;
		}
	}
	@media only screen and (max-width: 500px) {
		.lab-flex .copy-body{
			font-size: 3.5vw;
		}
	}

/*
------------------------------
ABOUT 
------------------------------*/
.about-flex{
	padding-top: 8em;
}
.about-flex .copy-about{
	width: calc(100% - 360px);
	font-size: 2.25em;
	font-weight: 300;
	line-height: 1.75;
	font-feature-settings: "palt";
	letter-spacing: 3px;
}
.about-flex .copy-about span{
	font-family: "Zen Maru Gothic", serif;
	font-weight: 700;
	font-size: 1.11111111111em;
}
.about-flex .copy-body{
	width: 360px;
	margin-top: 1.75em;
	font-family: "M PLUS 1p", sans-serif;
	line-height: 2.2;
}
	@media only screen and (max-width: 1200px) {
		.about-flex .copy-about{
			width: calc(100% - 320px);
			font-size: 2.9vw;
			letter-spacing: 0;
		}
		.about-flex .copy-body{
			width: 320px;
		}
	}
	@media only screen and (max-width: 920px) {
		.about-flex{
			padding-top: 4em;
		}
		.about-flex .about-flex{
			padding-top: 5em;
		}
		.about-flex .copy-about{
			width: 100%;
			max-width: 480px;
			margin: 0 auto;
			font-size: 1.9em;
		}
		.about-flex .copy-body{
			width: 100%;
			max-width: 320px;
			margin: 2em auto;
		}
	}
	@media only screen and (max-width: 500px) {
		.about-flex .copy-about{
			font-size: 5.4vw;
		}
	}
.list-rinen{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
	overflow: hidden;
	text-align: justify;
	margin-bottom: 3em;
}
.list-rinen li{
	width: calc(50% - 2em);
	position: relative;
}
.list-rinen li:nth-child(2){
	margin-top: 8em;
}
.list-rinen li:nth-child(3){
	margin-top: -4em;
}
	@media only screen and (max-width: 920px) {
		.list-rinen li{
			width: 100%;
			margin-top: 2em!important;
		}
	}

.list-rinen li:before{
	position: absolute;
	width: 2px;
	content: "";
	background: #9baa5a;
	z-index: -1;
}
.list-rinen li:nth-child(1):before{
	top: 0;
	right: -7%;
	height: 100%;
	transform: rotate(-60deg);
}
.list-rinen li:nth-child(2):before{
	top: 25%;
	left: 0;
	height: 100%;
	transform: rotate(45deg);
}
.list-rinen li:nth-child(3):before{
	bottom: 0;
	right: 25%;
	height: 100vh;
}
.rinen-bg{
	background: #fff;
	padding: 2em 8% 3em;
	border-radius: 2em;
}
.rinen-tit{
	font-size: 2.5em;
	color: #9baa5a;
	font-family: "Poppins", sans-serif;
	font-weight: 300;
}
	@media only screen and (max-width: 920px) {
		.list-rinen li:nth-child(1):before,
		.list-rinen li:nth-child(2):before,
		.list-rinen li:nth-child(3):before{
			top: auto;
			right: auto;
			left: auto;
			bottom: auto;
			height: none;
			width: none;
			background: none;
			transform: none;
		}
		.list-rinen li:nth-child(1):before,
		.list-rinen li:nth-child(2):before{
			top: calc(100% + .1em);
			right: auto;
			z-index: 3;
			width: 100%;
			text-align: center;
			content: "×";
			margin: 0 auto;
			font-family: "M PLUS 1p", sans-serif;
			font-weight: 100;
			font-size: 6em;
			line-height: 0;
			color: #9baa5a;
		}
		.rinen-bg{
			width: 91%;
			padding: 2em 6%;
			margin: 0 auto;
		}
		.rinen-tit{
			text-align: center;
		}
	}
.director {
	line-height: 1.5;
	margin-top: 2.75em;
}
.director .name{
	display: inline-block;
	padding-left: 1.5em;
}
.director .ja{
	font-weight: 600;
	font-size: 1.875em;
}
.director .eng{
	padding-left: 1em;
	font-family: "Poppins", sans-serif; 
}
	@media only screen and (max-width: 530px) {
		.director{
			width: 88%;
			text-align: center;
		}
		.director .name{
			display: block;
			padding-left: 0;
		}
	}

.prof-flex{
	flex-direction: row-reverse;
	margin: 3em 0 5em;
	text-align: justify;
}
.prof-flex .msg{
	width: 300px;
}
.prof-flex .prof{
	width: calc(100% - 300px - 4em);
}
.msg-body{
	margin-top: 1em;
}
a.icon-note{
	display: inline-block;
	padding-left: 2.5em;
	background: url(../images/common/icon-note-basic.jpg) no-repeat left top;
	background-size: 1.5em auto;
}
	@media only screen and (max-width: 920px) {
		.prof-flex .msg{
			width: 100%;
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			padding-bottom: 2.5em;
		}
		.prof-flex .msg img{
			display: block;
			width: 180px;
			height: auto;
		}
		.prof-flex .msg .msg-body{
			width: calc(100% - 180px - 2em);
			margin-top: 0;
		}
		.prof-flex .prof{
			border-top: 1px dotted;
			padding-top: 2.5em;
			width: 100%;
		}
	}
	@media only screen and (max-width: 530px) {
		.prof-flex .msg{
			width: 88%;
			margin: 0 auto;
		}
		.prof-flex .msg img{
			width: 68%;
			margin: 0 auto;
		}
		.prof-flex .msg .msg-body{
			width: 100%;
			margin: 2em auto 0;
		}
	}


/*
------------------------------
 SERVICE 
------------------------------*/
.pankuzu{
	max-width: 1280px;
	width: 92%;
	margin: 0 auto;
	padding: 1.75em 0 2.5em;
	text-align: right;
	font-size: .875em;
}
.pankuzu a{
	font-weight: 300;
	padding-left: 1.5em;
	position: relative;
	left: 0;
	transition: .5s all;
}
.pankuzu a:hover{
	left: -1em;
	text-decoration: underline;
}
.pankuzu a:before{
	font-family: "Poppins", sans-serif; 
	font-weight: bold;
	position: absolute;
	top: -.25em;
	left: 0;
	width: 1em;
	height: 1em;
	content: "<";
}
/*
 サービスTOP
------------------------------*/
.service-bg{
	overflow-x: hidden;
	position: relative;
}
.bg-hex-point .point01,
.bg-hex-point .point02{
	position: absolute;
	width: 45%;
	height: auto;
	z-index: -1;
	opacity: .7;
}
.bg-hex-point .point01{
	top: 2.5%;
	right: -20%;
	transform: rotate(45deg);
}
.bg-hex-point .point02{
	top: 35%;
	left: -20%;
	transform: rotate(-45deg);
}
	@media only screen and (max-width: 920px) {
		.bg-hex-point .point01,
		.bg-hex-point .point02{
			width: 75%;
			opacity: .8;
		}
	}
.copy-service{
	font-size: 2.25em;
	padding-top: 3em;
	line-height: 1.5;
}
.copy-service span.em{
	font-size: 1.11111111111em;
	font-weight: bold;
	font-family: "Zen Maru Gothic", serif;
	display: inline-block;
}
	@media only screen and (max-width: 920px) {
		.copy-service{
			font-size: 1.9em;
		}
	}
.list-service{
	margin-top: 3em;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.list-service li{
	position: relative;
	width: calc(100% / 4 - 1em);
	margin-bottom: 2em;
	z-index: 1;
}
.list-service li.shinryo,
.list-service li.nutrition_consultation{
	width: calc(50% - .75em);
}

.list-service li > a,
.list-service li > span{
	display: block;
	background: #efe7c8;
	padding: 2.5em 1.5em 3em;
	text-align: center;
	line-height: 1.75;
	border-radius: 1em;
	transition: .4s all;
	min-height: 380px;
}

.list-service li > a:hover{
	background: #9baa5a;
}
.list-service li .no{
	position: absolute;
	top: 0;
	left: 0;
	width: 2.5em;
	height: 2.5em;
	line-height: 2.3em;
	font-size: 1.875em;
	color: #fff;
	font-family: "Poppins", sans-serif; 
	font-weight: 100;
	background: url("../images/common/hex.svg") no-repeat top left;
	background-size: contain;
	z-index: 1;
}
.list-service li > a img,
.list-service li > span img{
	width: 100%;
	margin: 0 auto 1em;
	transition: .4s all;
}
.list-service li > a:hover img{
	transform: scale(1.025);
}
.list-service li.shinryo img,
.list-service li.nutrition_consultation img{
	width: auto;
	max-height: 140px;
	aspect-ratio: auto;
	margin: 1em auto 2em;
}
.list-service li .thumb{
	position: relative;
	aspect-ratio: 1 / 1;
	z-index: 0;
}
.list-service li .tit,
.list-service li .in_tit{
	font-size: 1.5em;
	font-weight: 600;
	letter-spacing: 2px;
	line-height: 1.5;
}
.list-service li .tit{
	padding-bottom: .5em;
	margin-bottom: .75em;
	border-bottom: 1px solid;
}
.list-service li .in_tit{
	position: absolute;
	top: calc(50% - 10px);
	left: 50%;
	transform: translate(-50%,-50%);
	width: 100%;
	z-index: 1;
}
	@media only screen and (max-width: 1200px) {
		.list-service li > a,
		.list-service li > span{
			padding: 1.5em 1em 2.5em 1em;
			min-height: 340px;
		}
		.list-service li .no{
			width: 2.25em;
			height: 2.25em;
			line-height: 2em;
			font-size: 1.75em;
		}
		.list-service li .tit,
		.list-service li .in_tit{
			font-size: 2.1vw;
			letter-spacing: 1px;
		}
	}
	@media only screen and (max-width: 920px) {
		.list-service li > a,
		.list-service li > span{
			padding: 1em 1em 2.5em 1em;
			min-height: auto;
		}
		.list-service li{
			width: calc(100% / 2 - .325em);
		}
		.list-service li.shinryo,
		.list-service li.nutrition_consultation{
			width: 100%;
		}
		.list-service li.shinryo img,
		.list-service li.nutrition_consultation img{
			max-height: inherit;
			aspect-ratio: auto;
			max-width: 410px;
			width: 88%;
			height: auto;
			margin: 2em auto 1em;
		}
		.list-service li .tit,
		.list-service li .in_tit{
			font-size: 1.375em;
			letter-spacing: 0;
		}
	}
	@media only screen and (max-width: 600px) {
		.list-service p{
			font-size: 12px;
		}
		.list-service li .tit,
		.list-service li .in_tit{
			font-size: 1.25em;
		}
	}


/*
 一般診療
------------------------------*/
.flex-shinryo{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.flex-shinryo .item{
	width: calc(100% / 2 - 1.75em);
	position: relative;
}
	@media only screen and (max-width: 920px) {
		.flex-shinryo .item{
			width: 100%;
			margin-bottom: 2em;
		}
		.flex-shinryo .item:last-child{
			margin-bottom: 0;
		}
	}

.dl-2clm-info{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.dl-2clm-info dt{
	width: 6em;
	padding: 1.5em 0;
	border-bottom: 1px solid #b6b8b6;
	color: #9baa5a;
	font-weight: bold;
}
.dl-2clm-info dd{
	width: calc(100% - 6em);
	padding: 1.5em 0;
	border-bottom: 1px solid #b6b8b6;
}
	@media only screen and (max-width: 920px) {
		.dl-2clm-info dt:nth-child(1){
			padding-top: 0;
		}
		.dl-2clm-info dd:nth-child(2){
			padding-top: 0;
		}
	}
.download-list a{
	display: block;
	background: #e1e7ce url(../images/common/icon-pdf.png) no-repeat calc(100% - 1em) center;
	background-size: 2em auto;
	color: #9baa5a;
	font-weight: bold;
	padding: 1.25em;
	margin-top: 1em;
	border-radius: 1em;
	transition: .5s all;
}
.download-list a:hover{
	background-color: #cfd9b0;
}
.mnr-dog,
.mnr-cat{
	font-size: .875em;
	display: flex;
	padding: 1.5em 0;
}
.mnr-dog{
	padding-top: 0;
	border-bottom: 1px dotted #9baa5a;
}
.mnr-cat{
	padding-bottom: 0;
}
.mnr-dog img,
.mnr-cat img{
	width: auto;
	height: 5.5em;
	aspect-ratio: 66 / 58;
	margin-right: 1em;
	display: block;
}
.pay-flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: .5em 4.5%;
	max-width: 480px;
	margin: 0 auto;
}
.pay{
	width: 36%;
}
.card{
	width: 54%;
}
.bnr-size{
	font-size: .8em;
	justify-content: center;
}
.bnr-size img{
	height: 60px;
	padding: 0 1.5em;
}
.yakan-listbox {
	background: #efe7c8;
	padding: 1.5em 6%;
	display: flex;
	flex-wrap: wrap;
}
.yakan-listbox .hos{
	width: 45%;
}
.yakan-listbox .hos-tel{
	width: 12em;
}
.yakan-listbox .hos-info{
	width: calc(100% - 45% - 12em);
}
	@media only screen and (max-width: 920px) {
		.mnr-dog img,
		.mnr-cat img{
			width: auto;
			height: 4em;
		}
		.yakan-listbox .hos,
		.yakan-listbox .hos-tel,
		.yakan-listbox .hos-info{
			width: 100%;
		}
	}
	@media only screen and (max-width: 500px) {
		.bnr-size img{
			height: 50px;
		}
	}



/*
予防医療 
------------------------------*/

.preventive-flex .prev-tit{
	font-size: 2.125em;
	font-weight: bold;
	font-family: "Zen Maru Gothic", serif;
	line-height: 1;
	color: #648200;
	width: 8%;
	padding-top: 1.125em;
}
.preventive-flex .prev-body{
	max-width: 1020px;
	width: 92%;
	border-radius: 2.25em;
	min-height: 18.5em;
}
.preventive-flex:nth-child(even) .prev-tit{
	-ms-writing-mode: tb-lr;
	writing-mode: vertical-lr;
	padding-left: .125em;
}
.preventive-flex:nth-child(odd) .prev-tit{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	padding-left: .125em;
}
	@media only screen and (max-width: 920px) {
		#preventive .section-wrap{
			padding: 1.5em 0;
		}
		#filaria{
			padding-top: 2.5em!important;
		}
		.preventive-flex .prev-tit{
			font-size: 1.75em;
			line-height: 1.75;
			width: 90%;
			padding-top: 0;
			position: relative;
			z-index: 1;
			margin: 0 auto;
		}
		.preventive-flex .prev-body{
			width: 96%;
			position: relative;
			top: -1.25em;
			z-index: 0;
		}
		.preventive-flex:nth-child(even) .prev-tit,
		.preventive-flex:nth-child(odd) .prev-tit{
			-ms-writing-mode:lr-tb;
			writing-mode:horizontal-tb;
		}
		.preventive-flex:nth-child(even) .prev-tit{
			padding-left: 2.5em;
		}
	}

.preventive-flex:nth-child(even) .prev-body{
	background: #fbf7e7;
}
.preventive-flex:nth-child(odd) .prev-body{
	background: #f0e8c9;
}
	@media only screen and (max-width: 920px) {
		.preventive-flex:nth-child(even) .prev-body{
			border-bottom-left-radius: 0;
			border-top-left-radius: 0;
		}
		.preventive-flex:nth-child(odd) .prev-body{
			border-bottom-right-radius: 0;
			border-top-right-radius: 0;
		}
	}

.preventive-flex .prev-body .justify{
	max-width: 780px;
	width: 87%;
	margin: 5em auto;
}

#filaria .prev-tit{
	background: url(../images/preventive/filaria.png) no-repeat left top;
	background-size: 1em auto;
}
#nomi-madani .prev-tit{
	background: url(../images/preventive/nomi-madani.png) no-repeat right top;
	background-size: 1em auto;
}
#vaccine .prev-tit{
	background: url(../images/preventive/vaccine.png) no-repeat left top;
	background-size: 1em auto;
}
#rabies .prev-tit{
	background: url(../images/preventive/rabies.png) no-repeat right top;
	background-size: 1em auto;
}
#spay-castration .prev-tit{
	background: url(../images/preventive/spay-castration.png) no-repeat left top;
	background-size: 1em auto;
}
#microchip .prev-tit{
	background: url(../images/preventive/microchip.png) no-repeat right top;
	background-size: 1em auto;
}
	@media only screen and (max-width: 920px) {
		.prev-tit{
			background-size: auto 1.5em!important;
		}
	}

.prev-detail{
	padding: 1em 1.75em;
	margin-top: 1.75em;
	border-radius: .5em;
}
.preventive-flex:nth-child(even) .prev-detail{
	background: #f0e8c9;
}
.preventive-flex:nth-child(odd) .prev-detail{
	background: #fbf7e7;

}
.prev-detail .tit{
	width: 9.5em;
}
.prev-detail .exp{
	width: calc(100% - 9.5em);
}
	@media only screen and (max-width: 920px) {
		.prev-detail .tit{
			width: 100%;
		}
		.prev-detail .exp{
			width:100%;
			margin-top: .5em;
		}
	}

.prev-detail .tit > div{
	padding-left: 1em;
	position: relative;
	color: #9baa5a;
	font-weight: bold;
}
.prev-detail .tit > div:before{
	width: .75em;
	height: .75em;
	position: absolute;
	top: .685em;
	left: 0;
	background: #9baa5a;
	border-radius: 50%;
	content: "";
}
.flex-weight-price {
	display: flex;
	flex-wrap: wrap;
}
.flex-weight-price dt,
.flex-weight-price dd{
	width: 50%;
}
	@media only screen and (max-width: 500px) {
		.flex-weight-price dt{
			width: 65%;
		}
		.flex-weight-price dd{
			width: 35%;
			text-align: right;
		}

	}
/*
健康診断・ペットドック
------------------------------*/

#checkup .copy-small{
	padding: 0 3%;
}
.checkup-item {
	padding-top: 3.5em;
}
.checkup-item .bg{
	position: relative;
	border-radius: 2em;
	padding:3.25em 0;
}
.checkup-item .bg:nth-child(odd){
	background: #efe7c8;
	margin-bottom: 3.5em;
}
.checkup-item .bg:nth-child(even){
	background: #fbf7e7;
}
.checkup-item .bg:last-child{
	margin-bottom: 0;
}
.checkup-item .body{
	max-width: 1100px;
	width: 84%;
	margin: 0 auto;
}
.checkup-item .course{
	margin-top: 3em;
	border-radius: 1em;
	position: relative;
	overflow: hidden;
}
.checkup-item .bg:nth-child(odd) .course{
	background: #fbf7e7;
}
.checkup-item .bg:nth-child(even) .course{
	background: #efe7c8;
}
.checkup-item .bg .eng{
	font-size: 8vw;
	font-family: "Poppins", sans-serif; 
	font-weight: 100;
	line-height: .625;
	position: absolute;
	bottom: 0;
	opacity: .5;
}
.checkup-item .bg:nth-child(odd) .eng{
	color: #efe7c8;
}
.checkup-item .bg:nth-child(even) .eng{
	color: #fbf7e7;
}
.flex-course{
	padding: 3.75em 6%;
	position: relative;
	z-index: 1;
}
.flex-course .tit{
	width: 42%;
}
.flex-course .detail{
	width: 58%;
	padding-left: 8%;
}
	@media only screen and (max-width: 920px) {
		#checkup .page-header .eng{
			color: #716e43;
		}
		#checkup .page-header .ja{
			color: #436700;
		}
		.checkup-item .bg{
			padding: 2.75em 0;
		}
		.checkup-item .bg .eng{
			font-size: 15.8vw;
			white-space: nowrap
		}
		.checkup-item .course{
			margin-top: 2em;
		}
		.flex-course{
			padding: 2.5em 0 3.5em;
		}
		.flex-course .tit{
			width: 100%;
			padding-bottom: 1.75em;
			padding-left: 7%;
			padding-right: 7%;
		}
		.checkup-item .bg:nth-child(odd) .flex-course .tit{
			border-bottom: 2px solid #efe7c8;
		}
		.checkup-item .bg:nth-child(even) .flex-course .tit{
			border-bottom: 2px solid #fbf7e7;
		}
		.flex-course .detail{
			width: 80%;
			margin:  0 auto;
			padding-left: 0;
			margin-top: 1.5em;
		}
	}

.flex-course .tit .brown{
	font-size: 1.875em;
	font-weight: bold;
	line-height: 1.5;
}
.flex-course .tit .price{
	text-align: right;
	font-size: 1.25em;
	line-height: 1.0;
	margin-top: .75em;
}
	@media only screen and (max-width: 920px) {
		.flex-course .tit .brown{
			font-size: 1.5em;
		}
		.flex-course .tit .price{
			font-weight: 600;
		}
	}
	@media only screen and (max-width: 500px) {
		.flex-course .tit .price{
			font-size: 1.07142857143em;
		}
	}

.flex-course .tit .price span{
	position: relative;
	padding-left: 3em;
}
.flex-course .tit .price span:before{
	position: absolute;
	top: 50%;
	left: 0;
	width: 2.5em;
	height: 1px;
	background: #000;
	content: "";
}
/*
FOOD 
------------------------------*/
.food-bg .slider{
	max-width: 490px;
	width: 80%;
	line-height: 0;
	margin: 0 auto;
	border-radius: 1em;
	box-shadow: 0 1em 1em 0 rgba(0, 0, 0, .3);
	position: relative;
	z-index: 0;
	background: #fff;
}
.food-bg .slider img{
	border-radius: 1em;
}
.slick-dots{
    position: absolute;
    bottom: 0!important;
    right: -2.25em!important;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: right!important;
    writing-mode: vertical-rl!important;
}

.note-taglnk{
	background: #efe7c8;
	margin-top: 3.75em;
	border-radius: 1.5em;
}
.note-link{
	border-bottom: 1px solid #e3d2b7;
	text-align: center;
	padding: 2em 0;
}
.note-link a{
	position: relative;
	display: inline-block;
	font-weight: 500;
	font-size: 1.0625em;
	padding-right: 1.25em;
	padding-left: 2.75em;
	background: url(../images/common/icon-note-basic.jpg) no-repeat left top;
	background-size: 2em auto;
}
.note-link a:before{
	position: absolute;
	top: .5em;
	right: 0;
	width: 1em;
	height: 1em;
	content: "";
	background: url(../images/common/link-jump-black.png) no-repeat left top;
	background-size: 1em auto;
}
.note-link a:after{
	position: absolute;
	top: -.5em;
	left: -3.25em;
	width: 2.25em;
	height: 2.25em;
	content: "";
	border-radius: .5em;
}
.note-taglnk ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	padding: 2.5em 5% 2em;
}
.note-taglnk li{
	width: calc(100% / 3 - 1em);
	padding: .5em 0;
	margin-bottom: 1em;
	background: #fff;
	text-align: center;
	font-weight: 600;
	border-radius: .5em;
}
	@media only screen and (max-width: 920px) {
		.note-taglnk ul{
			padding: 3em 6% 2em;
		}
		.note-taglnk li{
			width: calc(100% / 2 - .5em);
		}
	}
	@media only screen and (max-width: 500px) {
		.note-taglnk li{
			font-size: 3vw;
		}
	}

/*
食相談
------------------------------*/
.step-sprt li{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding-bottom: 7em;
}
.step-sprt li:nth-child(even){
	flex-direction: row-reverse;
}
.step-sprt li:before{
	position: absolute;
	bottom: 3.5em;
	left: 50%;
	width: 15em;
	height: 3px;
	content: "";
	background: #9baa5a;
}
.step-sprt li:nth-child(1):before{
	transform: translateX(-50%) rotate(33deg);
}
.step-sprt li:nth-child(2):before{
	transform: translateX(-50%) rotate(-33deg);
}
.step-sprt li:last-child{
	padding-bottom: 0;
}
.step-sprt li:last-child:before{
	left: auto;
	bottom: auto;
	width: auto;
	height: auto;
	background: none;
}
.step-img{
	max-width: 400px;
	width: 40%;
	aspect-ratio: 400 / 350;
}
.sprt-txt{
	max-width: 600px;
	width: 55%;
}


	@media only screen and (max-width: 920px) {
		.step-sprt li{
			align-items: flex-start;
			padding-bottom: 10em;
		}
		.sprt-txt{
			margin-top: 1.5em;
		}
		.step-sprt li:before{
			bottom: 5em;
		}
		.step-sprt li:nth-child(1):before{
			transform: translateX(-50%) rotate(45deg);
		}
		.step-sprt li:nth-child(2):before{
			transform: translateX(-50%) rotate(-45deg);
		}
	}
	@media only screen and (max-width: 680px) {
		.step-sprt li{
			align-items: flex-start;
			padding-bottom: 6.25em;
		}
		.step-img{
			margin: 0 auto;
			max-width: 380px;
			width: 75%;
		}
		.sprt-txt{
			margin: 0 auto;
			width: 96%;
			max-width: 480px;
			margin-top: 1em;
		}
		.step-sprt li:before{
			width: 2.5em;
			bottom: 3.5em;
			height: 2px;
		}
		.step-sprt li:nth-child(1):before,
		.step-sprt li:nth-child(2):before{
			transform: translateX(-50%) rotate(90deg);
		}
		.step-sprt li:after{
			position: absolute;
			bottom: 1.5em;
			left: calc(50% - .75em);
			clip-path: polygon(0 0, 50% 100%, 100% 0);
			width: 1.5em;
			height: 1em;
			content: "";
			background: #9baa5a;
		}
		.step-sprt li:last-child:after{
			position: relative;
			bottom: auto;
			width: auto;
			height: auto;
			background: none;
		}
	}
/*
海外渡航相談
------------------------------*/
.flex-kaigai{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
}
.flex-kaigai .item:nth-child(odd){
	width: 290px;
}
.flex-kaigai .item:nth-child(even){
	width: calc(100% - 290px - 2em);
}

	@media only screen and (max-width: 920px) {
		.flex-kaigai .item:nth-child(odd){
			width: 100%;
		}
		.flex-kaigai .item:nth-child(even){
			width: 100%;
		}

	}
.example-bgbox{
	background: #fbf7e7;
	border-radius: 1em;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 3.25em 7.5%;
	margin-top: 3.25em;
}
.example-bgbox .tit{
	width: 7em;
	-ms-writing-mode: tb-lr;
	writing-mode: vertical-lr;
}
.example-bgbox .tit .marugo{
	font-size: 1.125em;
	color: #648200;
	font-weight: 700;
}
.example-bgbox .body-example{
	width: calc(100% - 7em);
	margin-top: 1.5em;
}
	@media only screen and (max-width: 920px) {
		.example-bgbox .tit{
			width: 4.5em;
		}
		.example-bgbox .body-example{
			width: calc(100% - 4.5em);
		}
	}
	@media only screen and (max-width: 680px) {
		.example-bgbox{
			margin-top: 2em;
			padding-top: 2em;
		}
		.example-bgbox .tit{
			width: 100%;
			-ms-writing-mode:lr-tb;
			writing-mode:horizontal-tb;
		}
		.example-bgbox .body-example{
			width: 100%;
		}
	}

.example-flow > li{
	display: flex;
	flex-wrap: wrap;
	position: relative;
	padding-top: 1.5em;
}
.example-flow > li:first-child{
	padding-top: 0;
}
.example-flow > li:before{
	position: absolute;
	bottom: 0;
	left: calc(62px / 2);
	width: 2px;
	height: 100%;
	content: "";
	background: #9baa5a;
	z-index: 0;
}
.example-flow .no{
	width: 62px;
	height: 62px;
	line-height: 62px;
	text-align: center;
	font-family: "Poppins", sans-serif; 
	font-weight: 600;
	background: #fbf7e7;
	color: #9baa5a;
	border: 2px solid;
	border-radius: 50%;
	z-index: 1;
}
.example-flow .txt{
	width: calc(100% - 62px);
	padding-left: 2em;
	padding-top: 1em;
}
	@media only screen and (max-width: 920px) {
		.example-flow > li:before{
			left: calc(42px / 2);
		}
		.example-flow .no{
			width: 42px;
			height: 42px;
			line-height: 40px;
		}
		.example-flow .txt{
			width: calc(100% - 42px);
			padding-left: 1em;
		}
	}
.price-kaigai li{
	background: #f0e8c9;
	margin-bottom: .25em;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	padding: 1em 1.75em;
}
.price-kaigai li .item:nth-child(odd){
	width: calc(100% - 100px);
}
.price-kaigai li .item:nth-child(even){
	width: 100px;
	text-align: right;
}
	@media only screen and (max-width: 500px) {
		.price-kaigai li .item:nth-child(odd){
			width: 100%;
		}
		.price-kaigai li .item:nth-child(even){
			width: 100%;
		}
	}
.travel-link .clm2{
	background: #fbf7e7;
	padding: 1.25em 2em 2em 2em;
	border-radius: 1em;
	width: calc(50% - 1em);
	margin-top: 1.25em;
}
	@media only screen and (max-width: 920px) {
		.travel-link .clm2{
			width: 100%;
		}
	}

.travel-link .clm2 a{
	display: block;
	text-decoration: none;
	background: url(../images/common/link-jump-green.png) no-repeat 98% center;
	background-size: 1em auto;
	transition: .4s all;
	padding: .75em 0;
	border-bottom: 1px solid #b6b8b6;
}
.travel-link .clm2 a:hover{
	background-position: right center;
}
.flag-icon a span{
	width: 32px;
	height: 21px;
	display: inline-block;
	margin-right: 1em;
	background-size: contain;
	background-repeat: no-repeat;
	background-size: contain;
	position: relative;
	top: 4px;
}
.n_america a:nth-child(1) span{
	background-image: url(../images/travel_support/n_america-01.jpg);
}
.n_america a:nth-child(2) span{
	background-image: url(../images/travel_support/n_america-02.jpg);
}
.n_america a:nth-child(3) span{
	background-image: url(../images/travel_support/n_america-03.jpg);
}
.n_nordic a:nth-child(1) span{
	background-image: url(../images/travel_support/n_nordic-01.jpg);
}
.n_nordic a:nth-child(2) span{
	background-image: url(../images/travel_support/n_nordic-02.jpg);
}
.n_nordic a:nth-child(3) span{
	background-image: url(../images/travel_support/n_nordic-03.jpg);
}
.n_nordic a:nth-child(4) span{
	background-image: url(../images/travel_support/n_nordic-04.jpg);
}
.w_nordic a:nth-child(1) span{
	background-image: url(../images/travel_support/w_nordic-01.jpg);
}
.w_nordic a:nth-child(2) span{
	background-image: url(../images/travel_support/w_nordic-02.jpg);
}
.w_nordic a:nth-child(3) span{
	background-image: url(../images/travel_support/w_nordic-03.jpg);
}
.w_nordic a:nth-child(4) span{
	background-image: url(../images/travel_support/w_nordic-04.jpg);
}
.asia a:nth-child(1) span{
	background-image: url(../images/travel_support/asia-01.jpg);
}
.asia a:nth-child(2) span{
	background-image: url(../images/travel_support/asia-02.jpg);
}
.asia a:nth-child(3) span{
	background-image: url(../images/travel_support/asia-03.jpg);
}
.asia a:nth-child(4) span{
	background-image: url(../images/travel_support/asia-04.jpg);
}
.asia a:nth-child(5) span{
	background-image: url(../images/travel_support/asia-05.jpg);
}
.oceania a:nth-child(1) span{
	background-image: url(../images/travel_support/oceania-01.jpg);
}
.oceania a:nth-child(2) span{
	background-image: url(../images/travel_support/oceania-02.jpg);
}

.flex-online{
	padding: 3em 6%;
	align-items: center;
	background: #fff;
	border-radius: 2em;
	box-shadow: 0 .5em 1em .125em rgba(100, 100, 100, .25);
}
.flex-online .thumb{
	width: 270px;
}
.flex-online .item{
	width: calc(100% - 270px);
	padding-left: 7%;
}
	@media only screen and (max-width: 920px) {
		.flex-online .thumb{
			width: 200px;
		}
		.flex-online .item{
			width: calc(100% - 200px);
		}
	}
	@media only screen and (max-width: 680px) {
		.flex-online .thumb{
			margin: 0 auto;
		}
		.flex-online .item{
			width: 92%;
			margin: 1em auto;
			padding-left: 0;
		}
	}

.flex-online a{
	display: block;
	max-width: 350px;
	color: #fff;
	font-weight: bold;
	background: #648200;
	padding: 1.25em 1.75em;
	border-radius: 5em;
	margin-top: 2.5em;
	margin-left: auto;
	position: relative;
	letter-spacing: 3px;
	transition: .5s all;
}
.flex-online a:hover{
	background: #889f3b;
}
.flex-online a:before{
	position: absolute;
	top: 50%;
	right: 1.75em;
	content: "→";
	margin-top: -1em;
	transition: .5s all;
	font-family: "M PLUS 1p", sans-serif;
}
.flex-online a:hover:before{
	right: 1em;
}
	@media only screen and (max-width: 680px) {
		.flex-online a{
			margin: 2.5em auto 0;
		}
	}

/* オンライン相談 */
.soudan-intro{
	max-width: 980px;
	width: 88%;
	margin: 0 auto;
}
.soudan-section{
	background: #fff;
	padding: 5.5em 6% 5em;
	margin-top: 3.5em;
	border-radius: 3em;
}
.soudan-width{
	max-width: 780px;
	margin: 0 auto;
}
	@media only screen and (max-width: 920px) {
		.soudan-section{
			padding-top: 4em;
		}
	}


/* オンラインフォーム */

.form-style li {
	padding-bottom: 3em;
}
.form-style li .item-name{
	font-weight: bold;
	color: #648200;
	position: relative;
	margin-bottom: .25em;
	font-family: "M PLUS 1p", sans-serif;
	font-size: 1.0625em;
}
	.confirm .form-style li .item-name{
		background: #648200;
		color: #fff;
		font-size: 1em;
		padding: .25em .75em;
		border-radius: .25em;
		margin-bottom: .75em;
	}

.form-style li .item-name .hissu{
	font-size: .7em;
	color: #fff;
	background: #648200;
	padding: .75em;
	line-height: 0;
	border-radius: 3em;
	position: absolute;
	right: 0;
}
.form-style input[type="text"] {
	width: 100%;
	padding: 1.25em; 
	border-radius: .35em;
	border: 1px solid #d6d6d6;
	box-sizing: border-box;
}
.form-style input[type="text"]:focus{
	border-color: #648200;
}
.form-style li > dl{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.form-style li > dl dt{
	width: 16em;
	margin-top: 2.5em;
	padding-left: 1.25em;
	color: #8e8b68;
	font-weight: 500;
	position: relative;
	font-family: "M PLUS 1p", sans-serif;
}
.form-style li > dl dd{
	width: calc(100% - 16em);
	margin-top: 2.5em;
}
	.confirm .form-style li > dl dd,{
		border-bottom: 1px solid #d6d6d6;
		padding: .25em 1em .25em 0;
	}
	.confirm_border{
		min-height: 3em;
		line-height: 1.75;
		border-bottom: 1px solid #d6d6d6;
		padding: .25em 1em .5em 0;
	}

.form-style li > dl dt:nth-child(1),
.form-style li > dl dd:nth-child(2){
	margin-top: 1em;
}
.form-style li > dl dt:before{
	content: "";
	position: absolute;
	top: .75em;
	left: 0;
	width: .625em;
	height: .625em;
	background: #9baa5a;
	border-radius: 50%;
}
	@media only screen and (max-width: 920px) {
		.form-style li {
			padding-bottom: 2.5em;
		}
		.form-style li > dl dt{
			width: 100%;
			margin-top: 1.75em;
		}
		.form-style li > dl dd{
			width: 100%;
			margin-top: .5em;
		}
		.confirm .form-style li > dl dd{
			margin-left: 1.25em;
		}
		.form-style li > dl dt:nth-child(1){
			margin-top: 0;
		}
		.form-style li > dl dd:nth-child(2){
			margin-top: .5em;
		}
	}


.radio-select{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.radio-select div{
	width: calc(100% / 3);
}
.radio-select div:last-child{
	margin-right: 0;
}
input[type="radio"] {
	position: relative;
	width: 18px;
	height: 18px;
	border: 1px solid #848484;
	border-radius: 50%;
	vertical-align: -6px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin-right: .75em;
}
input[type="radio"]:checked:before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #648200;
	content: '';
}
.form-style li > dl dd .small{
	font-size: 12px!important;
	position: relative;
	top: -4px;
}
textarea {
  padding: 1em;
  width: 100%;
  line-height: 1.75;
  border-radius: .35em;
  border: 1px solid #d6d6d6;
  box-sizing: border-box;
}
textarea:focus{
	border-color: #648200;
}
	@media only screen and (max-width: 600px) {
		.form-style input[type="text"]{
			padding: 1em .5em;
		}
		textarea  {
			padding: .5em;
		}
	}

.submit-section input[type="submit"]{
	display: block;
	font-size: 1.125em;
	font-weight: bold;
	letter-spacing: 6px;
	color: #fff;
	background: #648200;
	border: none;
	border-radius: 3em;
	width: 280px;
	padding: 1.5em;
	transition: 1s all;
	margin: 0 auto;
}
.submit-section input[type="submit"]:hover{
	background: #9baa5a;
}

.submit-section .reset{
	display: block;
	background: #dedede;
	color: #444;
	font-size: 1em;
	border: none;
	border-radius: 3em;
	padding: .5em 1em;
	transition: 1s all;
	margin: 2em auto;
}
