@charset "utf-8";
:root {--main-color: #29B530;}
:root {--sub-color: #008B07;}
:root {--sub2-color: #3b2aee;}
:root {--accent-color: #B55A29;}
:root {--text-color: #333333;}
:root {--text-font: "Noto Sans JP";}
body{
	background: #F9F9F9;
}
section{
	width: 100%;
	position: relative;
	overflow: hidden;
}
.bg{
	background: #F1F0EB;
}
.inner{
	max-width: 1110px;
	width: 90%;
	margin: 0 auto;
    position: relative;
}
h1,h2,h3,h4,h5,h6{
	font-weight: 300;
	line-height: 1.4;
	letter-spacing: 0.05em;
}
h3{
	font-size: 24px;
	font-weight: 400;
    color: var(--main-color);
    margin-bottom: 10px;
}
p,a,li{
	font-size: 18px;
	font-weight: 300;
	line-height: 1.8;
	letter-spacing: 0.05em;
	color: var(--text-color);
}
@media (min-width: 769px) and (max-width: 1279px) {
	.inner{
		max-width: 86.719vw;
	}
	h3{
		font-size: 1.875vw;
		margin-bottom: 0.781vw;
	}
	p,a,li{
		font-size: 1.406vw;
	}
}
@media screen and (max-width: 768px) {
	.inner{
		max-width: 520px;
	}
	h3{
		font-size: 18px;
		margin-bottom: 5px;
	}
	p,a,li{
		font-size: 15px;
	}
}
/*==================================================================================================*/
/*共通記述*/
.title01{
	font-size: 30px;
	font-weight: 600;
	line-height: 1.6;
	text-align: center;
	color: var(--main-color);
	margin-bottom: 30px;
}
.title01 span{
	display: block;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.3em;
	color: #577774;
}
.title02{
	display: flex;
	align-items: flex-end;
	font-size: 30px;
	font-weight: 600;
	line-height: 1.6;
	color: var(--main-color);
	padding-left: 25px;
	margin-bottom: 26px;
	position: relative;
}
.title02 span{
	display: inline-block;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.3em;
	color: #577774;
	margin-left: 30px;
}
.title02::before{
	display: inline-block;
	content: "";
	width: 10px;
	height: 30px;
	background: var(--main-color);
	position: absolute;
	top: 10px;
    left: 0;
}
.btn{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 530px;
	height: 47px;
	font-size: 16px;
	color: var(--main-color);
	border: solid 1px #CBCBCB;
	background: #FFF;
	margin: 0 auto;
	position: relative;
	transition: .5s;
}
.btn::after{
	display: block;
	content: "";
	width: 24px;
	height: 24px;
	background: center / contain no-repeat url("../img/icon-arrow.svg");
	position: absolute;
	top: 50%;
    right: 10px;
    transform: translateY(-50%);
}
.btn:hover{
	background: #F1F0EB;
}
@media (min-width: 769px) and (max-width: 1279px) {
	.title01{
		font-size: 2.344vw;
		margin-bottom: 2.344vw;
	}
	.title01 span{
		font-size: 0.938vw;
	}
	.title02{
		font-size: 2.344vw;
		padding-left: 1.953vw;
		margin-bottom: 2.031vw;
	}
	.title02 span{
		font-size: 0.938vw;
		margin-left: 2.344vw;
	}
	.title02::before{
		width: 0.781vw;
		height: 2.344vw;
		top: 0.781vw;
	}
	.btn{
		max-width: 41.406vw;
		height: 3.672vw;
		font-size: 1.25vw;
	}
	.btn::after{
		width: 1.875vw;
		height: 1.875vw;
		right: 0.781vw;
	}
}
@media screen and (max-width: 768px) {
	.title01{
		font-size: 24px;
		margin-bottom: 15px;
	}
	.title02{
		flex-wrap: wrap;
		font-size: 24px;
		padding-left: 20px;
		margin-bottom: 15px;
	}
	.title02 span{
		font-size: 10px;
		letter-spacing: 0.2em;
		margin-left: 0;
	}
	.title02::before{
		width: 8px;
		height: 24px;
		top: 9px;
	}
}
/*==================================================================================================*/
/*-*/
header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 66px;
	background: #D9D9D9;
	position: fixed;
	top: 0;
	z-index: 10000;
}
header h1{
	width: 240px;
	position: relative;
	left: 25px;
}
header h1 a,
header h1 img{
	display: block;
	width: 100%;
	height: 100%;
}
.openbtn1{
	display: none;
}
nav,
nav ul,
nav ul li{
	width: fit-content;
	height: 100%;
}
nav img{
	display: none;
}
nav ul li a{
	display: flex;
	align-items: center;
	width: fit-content;
	height: 100%;
	font-size: 13px;
	font-weight: 500;
	padding: 0 14px;
}
nav ul li.member{
	margin-left: 10px;
}
nav ul li.member a{
	color: #FFF;
	background: var(--main-color);
}
@media (min-width: 769px) and (max-width: 1279px) {
	header{
		height: 5.156vw;
	}
	header h1{
		width: 18.75vw;
		left: 1.953vw;
	}
	nav ul li a{
		font-size: 1.016vw;
		padding: 0 1.094vw;
	}
	nav ul li.member{
		margin-left: 0.781vw;
	}
}
@media screen and (max-width: 768px) {
	header h1{
		left: 15px;
	}
	.openbtn1{
		display: block;
		cursor: pointer;
		position: fixed;
		top: 0;
		right: 0;
		width: 66px;
		height: 66px;
		z-index: 10000;
	}
	.openbtn1 span:nth-of-type(1),
	.openbtn1 span:nth-of-type(2),
	.openbtn1 span:nth-of-type(3){
		display: inline-block;
		transition: all .4s;
		width: 34px;
		height: 1.5px;
		left: 16px;
		background: var(--sub-color);
		position: absolute;
	}
	.openbtn1 span:nth-of-type(1) { top:22px;}
	.openbtn1 span:nth-of-type(2) { top:32px;}
	.openbtn1 span:nth-of-type(3) { top:42px;}

	.pcNav .openbtn1 span:nth-of-type(1) {
		top: 32px;
		background: #FFF;
		transform: rotate(-45deg);
	}
	.pcNav .openbtn1 span:nth-of-type(2){
		opacity: 0;
	}
	.pcNav .openbtn1 span:nth-of-type(3){
		top: 32px;
		background: #FFF;
		transform: rotate(45deg);
	}
	nav,
	nav ul,
	nav ul li{
		width: 100%;
		height: auto;
	}
	nav{
		height: 100vh;
		padding: 100px 5%;
		background: var(--sub-color);
		position: fixed;
		top: -100vh;
		transition: .5s;
	}
	.pcNav nav{
		top: 0;
	}
	nav img{
		display: block;
		max-width: 400px;
		margin: 0 auto;
		margin-bottom: 30px;
	}
	nav ul{
		max-width: 400px;
		margin: 0 auto;
	}
	nav ul li a{
		width: 100%;
		justify-content: center;
		font-size: 15px;
		font-weight: 400;
		color: #FFF;
		padding: 10px 0;
	}
	nav ul li.member{
		margin-left: 0;
		margin-top: 10px;
	}
	nav ul li.member a{
		color: #FFF;
		background: var(--main-color);
	}
}
/*==================================================================================================*/
/*ファーストビュー-fv*/
.fv{
	padding-top: 66px;
	background: var(--main-color);
}
.fv .inner.flex{
	width: 100%;
	max-width: 100%;
	height: calc( 100vh - 66px );
	max-height: 640px;
}
.fv .textBox{
	width: 50%;
	color: #FFF;
}
.fv .textBox .inner{
	max-width: 491px;
	align-content: center;
}
.fv .textBox .inner h2{
	width: 100%;
	margin-bottom: 40px;
}
.fv .textBox .inner p{
	font-size: 15px;
	line-height: 2.2;
	color: #FFF;
}
.fv .textBox + img{
	width: 50%;
	height: 100%;
}
@media (min-width: 769px) and (max-width: 1279px) {
	.fv{
		padding-top: 5.156vw;
	}
	.fv .inner.flex{
		height: calc( 100vh - 5.156vw );
		max-height: 50vw;
	}
	.fv .textBox .inner{
		max-width: 38.359vw;
	}
	.fv .textBox .inner h2{
		margin-bottom: 3.125vw;
	}
	.fv .textBox .inner p{
		font-size: 1.172vw;
	}
}
@media screen and (max-width: 768px) {
	.fv .textBox{
		width: 100%;
		padding: 40px 0;
	}
	.fv .textBox .inner h2{
		margin-bottom: 20px;
	}
	.fv .textBox + img{
		width: 100%;
		height: auto;
	}
}
/*==================================================================================================*/
/*お知らせ-news*/
.news{
	padding: 66px 0 85px;
}
.newsList{
	max-width: 734px;
	margin: 0 auto;
	margin-bottom: 40px;
}
.newsList li a{
	padding: 8px 0;
	padding-right: 30px;
	border-bottom: solid 1px #D4D4D4;
	margin-bottom: 4px;
	position: relative;
}
.newsList li a div{
	width: 190px;
}
.newsList p.day{
	width: 93px;
	font-size: 12px;
	letter-spacing: 0.25em;
	color: #577774;
}
.newsList p.tag{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 80px;
	height: 22px;
	font-size: 12px;
	color: #FFF;
	border-radius: 3px;
	background: var(--main-color);
}
.newsList p.tag02{
	background: var(--accent-color);
}
.newsList p.tag.member,
.newsList p.tag.tag-member{
	background: #e60012;
}
.newsList li a h3{
	width: calc( 100% - 220px );
	font-size: 18px;
	color: #717171;
	white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
	margin: 0;
}
.newsList li a::after{
	display: block;
	content: "";
	width: 24px;
	height: 24px;
	background: center / contain no-repeat url("../img/icon-arrow.svg");
	position: absolute;
	top: 50%;
    right: 0;
    transform: translateY(-50%);
}
@media (min-width: 769px) and (max-width: 1279px) {
	.news{
		padding: 5.156vw 0 6.641vw;
	}
	.newsList{
		max-width: 57.344vw;
		margin-bottom: 3.125vw;
	}
	.newsList li a{
		padding: 0.625vw 0;
		padding-right: 2.344vw;
		margin-bottom: 0.313vw;
	}
	.newsList li a div{
		width: 14.844vw;
	}
	.newsList p.day{
		width: 7.266vw;
		font-size: 0.938vw;
	}
	.newsList p.tag{
		width: 6.25vw;
		height: 1.719vw;
		font-size: 0.938vw;
		border-radius: 0.234vw;
	}
	.newsList li a h3{
		width: calc( 100% - 17.188vw );
		font-size: 1.406vw;
	}
	.newsList li a::after{
		width: 1.875vw;
		height: 1.875vw;
	}
}
@media screen and (max-width: 768px) {
	.news{
		padding: 40px 0;
	}
	.newsList{
		margin: 0 auto 20px;
	}
	.newsList li a{
		padding: 8px 0;
		padding-right: 30px;
		border-bottom: solid 1px #D4D4D4;
		margin-bottom: 4px;
		position: relative;
	}
	.newsList li a div{
		width: 93px;
	}
	.newsList p.day{
		margin-bottom: 2px;
	}
	.newsList li a h3{
		width: calc( 100% - 100px );
		font-size: 15px;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		white-space: normal;
	}
}
/*==================================================================================================*/
/*家畜人工授精-about*/
.about{
	padding: 90px 0 120px;
}
.about div:nth-child(2){
	max-width: 407px;
}
.about div:nth-child(3){
	max-width: 663px;
}
.about ul{
	position: relative;
}
.about ul li{
	width: 204px;
	position: relative;
	z-index: 1;
}
.about ul li img{
	aspect-ratio: 1 / 1;
	margin-bottom: 5px;
}
.about ul li p{
	font-size: 12px;
	line-height: 1.4;
}
@media (min-width: 769px) and (max-width: 1279px) {
	.about{
		padding: 7.031vw 0 9.375vw;
	}
	.about div:nth-child(2){
		max-width: 31.797vw;
	}
	.about div:nth-child(3){
		max-width: 51.797vw;
	}
	.about ul li{
		width: 15.937vw;
	}
	.about ul li img{
		margin-bottom: 0.391vw;
	}
	.about ul li p{
		font-size: 0.938vw;
	}
}
@media screen and (max-width: 768px) {
	.about{
		padding: 40px 0;
	}
	.about div:nth-child(2){
		max-width: 100%;
		margin-bottom: 20px;
	}
	.about ul li{
		width: 48%;
		margin-bottom: 10px;
	}
	.about ul li:last-child{
		margin: 0;
	}
	.about ul::after{
		display: block;
        content: "";
        width: 100%;
        height: 100%;
        background: center / contain no-repeat url(../img/hokkaido.svg);
        position: absolute;
        bottom: -145px;
        right: -155px;
        opacity: .3;
	}
}
/*==================================================================================================*/
/*家畜人工授精師資格(免許)-qualification*/
.qualification{
	padding: 80px 0 50px;
}
.qualification h3{
	color: #316533;
}
.qualification h4{
	font-size: 18px;
	font-weight: 500;
	color: #577859;
	margin-bottom: 10px;
}
.qualification h2 + h3{
	width: fit-content;
}
.qualification h2 + h3 + p{
	width: calc( 100% - 280px );
	max-width: 773px;
}
.qualification ul{
	padding-top: 50px;
	margin-bottom: 40px;
}
.qualification ul li{
	padding: 25px 35px;
	background: #FFF;
	position: relative;
}
.qualification ul li:nth-child(2),
.qualification ul li:nth-child(3){
	max-width: 540px;
	min-height: 190px;
}
.qualification ul li::before{
	display: block;
	content: "01";
	width: fit-content;
	font-size: 134px;
	font-weight: 600;
	line-height: 1;
	color: #EAEAEA;
	position: absolute;
	top: -70px;
	right: 20px;
}
.qualification ul li:nth-child(2)::before{
	content: "02";
}
.qualification ul li:nth-child(3)::before{
	content: "03";
}
.qualification ul li:nth-child(1){
	margin-bottom: 60px;
}
.qualification ul li p{
	font-size: 16px;
}
.qualification dl{
	padding: 0 30px;
	margin-top: 10px;
}
.qualification dl dt,
.qualification dl dd,
.qualification dl dd a{
	font-size: 14px;
	line-height: 1.2;
}
.qualification dl dt{
	width: 190px;
}
.qualification dl dd{
	width: calc( 100% - 190px);
}
.qualification dl dd a{
	color: #409244;
}
.pref-links p{
	margin-top: 5px;
}
.pref-links p a{
	color: #409244;
	text-decoration: underline;
}
.qualification ul li:nth-child(1) p:nth-child(3){
	margin-bottom: 20px;
}
@media (min-width: 769px) and (max-width: 1279px) {
	.qualification{
		padding: 6.25vw 0 3.906vw;
	}
	.qualification h4{
		font-size: 1.406vw;
		margin-bottom: 0.781vw;
	}
	.qualification h2 + h3 + p{
		width: calc( 100% - 21.875vw );
		max-width: 60.391vw;
	}
	.qualification ul{
		padding-top: 3.906vw;
		margin-bottom: 3.125vw;
	}
	.qualification ul li{
		padding: 1.953vw 2.734vw;
	}
	.qualification ul li:nth-child(2),
	.qualification ul li:nth-child(3){
		max-width: 42.188vw;
		min-height: 14.844vw;
	}
	.qualification ul li::before{
		font-size: 10.469vw;
		top: -5.469vw;
		right: 1.563vw;
	}
	.qualification ul li:nth-child(1){
		margin-bottom: 4.688vw;
	}
	.qualification ul li p{
		font-size: 1.25vw;
	}
	.qualification dl{
		padding: 0 2.344vw;
		margin-top: 0.781vw;
	}
	.qualification dl dt,
	.qualification dl dd,
	.qualification dl dd a{
		font-size: 1.094vw;
	}
	.qualification dl dt{
		width: 14.844vw;
	}
	.qualification dl dd{
		width: calc( 100% - 14.844vw);
	}
	.qualification ul li:nth-child(1) p:nth-child(3){
		margin-bottom: 1.563vw;
	}
}
@media screen and (max-width: 768px) {
	.qualification{
		padding: 40px 0;
	}
	.qualification h4{
		font-size: 15px;
	}
	.qualification h2 + h3 + p{
		width: 100%;
	}
	.qualification ul{
		padding-top: 30px;
		margin-bottom: 30px;
	}
	.qualification ul li{
		padding: 12px 20px;
		padding-top: 25px;
		margin-bottom: 60px;
	}
	.qualification ul li:last-child{
		margin: 0;
	}
	.qualification ul li::before{
		font-size: 80px;
		top: -60px;
		right: 5px;
	}
	.qualification ul li p{
		font-size: 14px;
	}
	.qualification dl{
		padding: 0;
		margin-top: 10px;
	}
	.qualification dl dt{
		width: 100%;
		margin-bottom: 3px;
	}
	.qualification dl dd{
		width: 100%;
		font-size: 13px;
		margin-bottom: 10px;
	}
}
aside{
	padding: 47px 0 41px;
	border-radius: 20px;
	background: var(--main-color);
}
aside .inner{
	justify-content: center !important;
	text-align: center;
}
aside h3{
	font-size: 30px;
	font-weight: 500;
	color: #FFF !important;
	margin-bottom: 20px;
}
aside p{
	color: #FFF;
	margin-bottom: 20px;
}
aside .btn{
	max-width: 373px;
	margin: 0;
}
aside .btn:last-child{
	margin-left: 22px;
}
@media (min-width: 769px) and (max-width: 1279px) {
	aside{
		padding: 3.672vw 0 3.203vw;
		border-radius: 1.563vw;
	}
	aside h3{
		font-size: 2.344vw;
		margin-bottom: 1.563vw;
	}
	aside p{
		margin-bottom: 1.563vw;
	}
	aside .btn{
		max-width: 29.141vw;
	}
	aside .btn:last-child{
		margin-left: 1.719vw;
	}
}
@media screen and (max-width: 768px) {
	aside{
		padding: 25px 0;
		border-radius: 10px;
	}
	aside h3{
		font-size: 20px;
		margin-bottom: 10px;
	}
	aside p{
		margin-bottom: 10px;
	}
	aside .btn:last-child{
		margin-left: 0;
		margin-top: 10px;
	}
}
/*==================================================================================================*/
/*北海道内の仕事場紹介-works*/
.works{
	padding: 90px 0;
}
.works .title01 span{
	margin-top: 10px;
}
.works .title01 + p{
	width: fit-content;
	margin: 0 auto;
	margin-bottom: 55px;
}
.area{
	margin-bottom: 40px;
	position: relative;
}
.area img{
	width: 200px;
}
.area img + div{
	width: calc( 100% - 220px );
}
.area .areaTitle{
	align-items: flex-end;
	padding: 8px 0;
	border-bottom: solid 1px #A8A8A8;
	margin-bottom: 20px;
}
.area .areaTitle h3{
	width: fit-content;
	font-size: 35px;
	font-weight: 500;
	color: var(--main-color);
	margin: 0;
}
.area .areaTitle p{
	width: fit-content;
	font-size: 20px;
	color: #939393;
}
@media (min-width: 769px) and (max-width: 1279px) {
	.works{
		padding: 7.031vw 0;
	}
	.works .title01 span{
		margin-top: 0.781vw;
	}
	.works .title01 + p{
		margin-bottom: 4.297vw;
	}
	.area{
		margin-bottom: 3.125vw;
	}
	.area img{
		width: 15.625vw;
	}
	.area img + div{
		width: calc( 100% - 17.188vw );
	}
	.area .areaTitle{
		padding: 0.625vw 0;
		margin-bottom: 1.563vw;
	}
	.area .areaTitle h3{
		font-size: 2.734vw;
	}
	.area .areaTitle p{
		font-size: 20px;
	}
}
@media screen and (max-width: 768px) {
	.works{
		padding: 40px 0;
	}
	.works .title01 span{
		margin-top: 5px;
	}
	.works .title01 + p{
		margin-bottom: 30px;
	}
	.area{
		margin-bottom: 20px;
	}
	.area:last-child{
		margin: 0;
	}
	.area img{
		width: 80px;
		position: absolute;
		top: -15px;
		left: 0;
	}
	.area img + div{
		width: 100%;
	}
	.area .areaTitle{
		margin-bottom: 10px;
		padding-left: 80px;
	}
	.area .areaTitle h3{
		font-size: 22px;
	}
	.area .areaTitle p{
		font-size: 20px;
	}
}
.toggle {
	display: none;
}
.Label {
	display: block;
	font-size: 20px;
	color: #7F7F7F;
	padding: 7px 20px;
	padding-right: 60px;
	background: #DFDFDF;
	border: solid 1px #737373;
}
.Label::before{
	display: block;
	content: "";
	width: 15px;
	height: 15px;
	background: center / contain no-repeat url("../img/icon-area-arrow.svg");
	position: absolute;
	top: 17px;
    right: 20px;
	transition: .5s;
}
.Label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.content {
	height: 0;
	padding: 0 30px;
	background: #FFF;
	margin-bottom: 19px;
	overflow: hidden;
}
.areaTitle + .content {
	height: auto;
	padding: 15px 30px;
	border: solid 1px #737373;
	margin-bottom: 20px;
}
.content li{
	border-bottom: solid 1px #DBDBDB;
	margin-bottom: 5px;
}
.content li a{
	display: block;
	font-size: 20px;
	line-height: 1.6;
	padding: 5px 0;
	position: relative;
}
.content li a::after{
	display: block;
	content: "";
	width: 24px;
	height: 24px;
	background: center / contain no-repeat url("../img/icon-area-yajirushi.svg");
	position: absolute;
	top: 50%;
    right: 10px;
    transform: translateY(-50%);
}
.toggle:checked + .Label::before{
	transform: rotateX(180deg);
}
.toggle:checked + .Label + .content {
	height: auto;
	padding: 15px 30px;
	border: solid 1px #737373;
	border-top: none;
	transition: all .3s;
}
/**/
.Label01 + .content01 {
	height: auto;
	padding: 15px 30px;
	border: solid 1px #737373;
	border-top: none;
}
.Label01::before{
	transform: rotateX(180deg);
}
.toggle:checked + .Label01 + .content01 {
	height: 0;
	padding: 0 30px;
	overflow: hidden;
	border: none;
}
.toggle:checked + .Label01::before{
	transform: rotateX(0deg);
}
@media (min-width: 769px) and (max-width: 1279px) {
	.Label {
		font-size: 1.563vw;
		padding: 0.547vw 1.563vw;
		padding-right: 4.688vw;
	}
	.Label::before{
		width: 1.172vw;
		height: 1.172vw;
		top: 1.328vw;
		right: 1.563vw;
	}
	.content {
		padding: 0 2.344vw;
		margin-bottom: 1.484vw;
	}
	.content li{
		margin-bottom: 0.391vw;
	}
	.content li a{
		font-size: 1.563vw;
		padding: 0.391vw 0;
	}
	.content li a::after{
		width: 1.875vw;
		height: 1.875vw;
		right: 0.781vw;
	}
	.toggle:checked + .Label + .content {
		padding: 1.172vw 2.344vw;
	}
	/**/
	.Label01 + .content01 {
		padding: 1.172vw 2.344vw;
	}
	.toggle:checked + .Label01 + .content01 {
		padding: 0 2.344vw;
	}
}
@media screen and (max-width: 768px) {
	.Label {
		font-size: 15px;
		padding: 5px 15px;
	}
	.Label::before{
		width: 12px;
		height: 12px;
		top: 12px;
	}
	.content {
		padding: 0 15px;
		margin-bottom: 10px;
	}
	.content li a{
		font-size: 15px;
	}
	.content li a::after{
		right: 0;
	}
	.toggle:checked + .Label + .content {
		padding: 10px 15px;
	}
	/**/
	.Label01 + .content01 {
		padding: 10px 15px;
	}
	.toggle:checked + .Label01 + .content01 {
		padding: 0 15px;
	}
}
/*==================================================================================================*/
/*北海道家畜人工授精師協会(北人協)-network*/
.network{
	padding: 150px 0 70px;
}
.network .inner div{
	max-width: 595px;
}
.network .inner img{
	max-width: 494px;
}
.network .title02{
	flex-wrap: wrap;
}
.network .title02 span{
	display: block;
	margin: 7px 0 0;
}
.network dl{
	padding: 25px 35px;
	border: solid 1px #C4C4C4;
	border-bottom: none;
	background: #FFF;
}
.network dl:last-child{
	border-bottom: solid 1px #C4C4C4;
}
.network dl:nth-child(3){
	margin-top: 47px;
}
.network dl dt{
	width: 200px;
	font-size: 21px;
	font-weight: 500;
	color: #409244;
}
.network dl dt span{
	display: block;
	font-size: 13px;
}
.network dl dd{
	width: calc( 100% - 200px );
}
.network dl dd p,
.network dl dd ul li,
.network dl dd a{
	font-size: 16px;
	line-height: 1.6;
}
.network dl dd p {
	margin-bottom: 25px;
}
.network dl dd p:last-child {
	margin-bottom: 0;
}
.network dl dd ul li::before{
	display: inline-block;
	content: "・";
	font-size: 20px;
	line-height: 1;
	margin-right: 5px;
	
}
.network dl dd h4{
	font-size: 16px;
	color: var(--sub2-color);
	margin-bottom: 8px;
}
.network dl dd h4 + ul{
	margin-bottom: 25px;
}
.network dl dd h4 + ul:last-child{
	margin: 0;
}
.network dl dd a{
	color: #409244;
	text-decoration: underline;
}
.network dl:last-child dt{
	width: 100%;
}
@media (min-width: 769px) and (max-width: 1279px) {
	.network{
		padding: 11.719vw 0 5.469vw;
	}
	.network .inner div{
		max-width: 46.484vw;
	}
	.network .inner img{
		max-width: 38.594vw;
	}
	.network .title02 span{
		margin: 0.547vw 0 0;
	}
	.network dl{
		padding: 1.953vw 2.734vw;
	}
	.network dl:nth-child(3){
		margin-top: 3.672vw;
	}
	.network dl dt{
		width: 15.625vw;
		font-size: 1.641vw;
	}
	.network dl dt span{
		font-size: 1.016vw;
	}
	.network dl dd{
		width: calc( 100% - 15.625vw );
	}
	.network dl dd p,
	.network dl dd ul li,
	.network dl dd a{
		font-size: 1.25vw;
	}
	.network dl dd p {
		margin-bottom: 1.953vw;
	}
	.network dl dd p:last-child {
		margin-bottom: 0;
	}
	.network dl dd ul li::before{
		font-size: 1.563vw;
		margin-right: 0.391vw;

	}
	.network dl dd h4{
		font-size: 1.25vw;
		margin-bottom: 0.625vw;
	}
	.network dl dd h4 + ul{
		margin-bottom: 1.953vw;
	}
}
@media screen and (max-width: 768px) {
	.network{
		padding: 40px 0;
	}
	.network .inner div{
		margin-bottom: 15px;
	}
	.network dl{
		padding: 15px 25px;
	}
	.network dl:nth-child(3){
		margin-top: 20px;
	}
	.network dl dt{
		width: 100%;
		font-size: 18px;
		margin-bottom: 3px;
	}
	.network dl dd{
		width: 100%;
	}
	.network dl dd p,
	.network dl dd ul li,
	.network dl dd a{
		font-size: 15px;
	}
	.network dl dd h4{
		margin-bottom: 3px;
	}
	.network dl dd h4 + p,
	.network dl dd h4 + ul{
		margin-bottom: 15px;
	}
}
/*==================================================================================================*/
/*-*/
.other{
	padding: 75px 114px;
}
.other .inner:nth-child(1){
	margin-bottom: 74px;
}
.other .inner:nth-child(1) p{
	padding: 0 30px;
}
.other .inner:nth-child(1) p a{
	display: inline-block;
	color: #409244;
	margin-left: 20px;
}
.other .inner:nth-child(2) div{
	max-width: 33%;
	padding: 0 30px 0 0;
}
.other .inner:nth-child(2) div h3{
	font-size: 18px;
	font-weight: 600;
	color: #409244;
}
.other ul{
	padding-left: 18px;
	border-left: solid 1px #92C98F;
}
.other ul li a{
	display: flex;
	align-items: flex-start;
	font-size: 14px;
	line-height: 1.6;
	color: #409244;
}
.other ul li a::before{
	display: inline-block;
	content: "";
	width: 14px;
	height: 14px;
	background: center / contain no-repeat url("../img/icon-link.svg");
	margin-right: 10px;
	margin-top: 4px;
}
.other ul li .no-link{
	display: block;
	font-size: 14px;
	line-height: 1.6;
	padding-left: 24px;
}
@media (min-width: 769px) and (max-width: 1279px) {
	.other{
		padding: 5.859vw 8.906vw;
	}
	.other .inner:nth-child(1){
		margin-bottom: 5.781vw;
	}
	.other .inner:nth-child(1) p{
		padding: 0 2.344vw;
	}
	.other .inner:nth-child(1) p a{
		margin-left: 1.563vw;
	}
	.other .inner:nth-child(2) div{
		max-width: 33%;
		padding: 0 2.344vw 0 0;
	}
	.other .inner:nth-child(2) div h3{
		font-size: 1.406vw;
	}
	.other ul{
		padding-left: 1.406vw;
	}
	.other ul li a{
		font-size: 1.1vw;
	}
	.other ul li a::before{
		width: 1.1vw;
		height: 1.1vw;
		margin-right: 0.781vw;
		margin-top: 0.3vw;
	}
	.other ul li .no-link{
		font-size: 1.1vw;
		padding-left: 1.881vw;
	}
}
@media screen and (max-width: 768px) {
	.other{
		padding: 40px 0;
	}
	.other .inner:nth-child(1){
		margin-bottom: 30px;
	}
	.other .inner:nth-child(1) p{
		padding: 0;
	}
	.other .inner:nth-child(1) p a{
		margin-left: 0;
	}
	.other .inner:nth-child(2) div{
		width: 100%;
		max-width: 100%;
		padding: 0 15px;
		margin-bottom: 30px;
	}
	.other .inner:nth-child(2) div:last-child{
		margin: 0;
	}
}
/*==================================================================================================*/
/*footer-*/
footer{
	padding: 43px 0 0;
	background: var(--main-color);
}
footer h2{
	max-width: 515px;
	margin: 0 auto;
	margin-bottom: 25px;
}
footer p{
	font-size: 12px;
	text-align: center;
	line-height: 2;
	color: #FFF;
	margin-bottom: 25px;
}
footer ul{
	width: fit-content;
	justify-content: center;
	margin: 0 auto;
	margin-bottom: 23px;
}
footer ul li{
	width: fit-content;
}
footer ul li a{
	font-size: 13px;
	font-weight: 500;
	color: #FFF;
	padding: 0 13px;
	transition: .5s;
}
footer ul li a:hover{
	opacity: .7;
}
small{
	display: block;
	font-size: 10px;
	letter-spacing: 0.2em;
	text-align: center;
	color: #FFF;
	background: var(--sub-color);
	padding: 18px 0;
}
@media (min-width: 769px) and (max-width: 1279px) {
	footer{
		padding: 3.359vw 0 0;
	}
	footer h2{
		max-width: 40.234vw;
		margin-bottom: 1.953vw;
	}
	footer p{
		font-size: 0.938vw;
		margin-bottom: 1.953vw;
	}
	footer ul{
		margin-bottom: 1.797vw;
	}
	footer ul li a{
		font-size: 1.016vw;
		padding: 0 1.016vw;
	}
	small{
		font-size: 0.781vw;
		padding: 1.406vw 0;
	}
}
@media screen and (max-width: 768px) {
	footer{
		padding: 40px 0 0;
	}
	footer h2{
		margin: 0 auto 15px;
	}
	footer p span{
		display: none;
	}
	footer ul li{
		width: 100%;
	}
	small{
		padding: 15px 0;
	}
}
main{
	min-height: calc( 100vh - 285px);
}
/*==================================================================================================*/
/*-*/
main.page .fv{
	padding: 0;
	padding-top: 66px;
}
main.page .fv .inner.flex{
	max-height: 142px;
}
main.page .fv .textBox .inner h2{
	height: 44px;
	margin-bottom: 0;
}
main.page .fv .textBox .inner h2 img{
	height: 100%;
	object-fit: contain;
	object-position: left;
}
main.page section{
	padding: 60px 0;
}
#news .newsList{
	margin-bottom: 60px;
}
.pager{
	justify-content: center;
}
.pager li{
	width: fit-content;
	margin: 0 4px;
}
.pager li a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	font-size: 14px;
	line-height: 1;
	color: #FFF;
	background: #DEDEDE;
	box-shadow: 0 2px 4px 0 rgba(0,0,0,0.05);
}
.pager li.nowpage a{
	background: var(--main-color);
}
.single .wrap01 .inner{
	max-width: 826px;
}
.single .newsList p.day{
	text-align: center;
	margin: 0 auto;
	margin-bottom: 5px;
}
.single .newsList .title01{
	margin-bottom: 10px;
}
.single .newsList p.tag{
	margin: 0 auto;
}
.singleContent p{
	margin-bottom: 20px;
}
.singleContent a{
	color: #409244;
}
@media (min-width: 769px) and (max-width: 1279px) {
	main.page .fv{
		padding-top: 5.156vw;
	}
	main.page .fv .inner.flex{
		max-height: 11.094vw;
	}
	main.page .fv .textBox .inner h2{
		height: 3.438vw;
	}
	main.page section{
		padding: 4.688vw 0;
	}
	#news .newsList{
		margin-bottom: 4.688vw;
	}
	.pager li{
		margin: 0 0.313vw;
	}
	.pager li a{
		width: 2.813vw;
		height: 2.813vw;
		font-size: 1.094vw;
	}
	.single .wrap01 .inner{
		max-width: 64.531vw;
	}
	.single .newsList p.day{
		margin-bottom: 0.391vw;
	}
	.single .newsList .title01{
		margin-bottom: 0.781vw;
	}
	.singleContent p{
		margin-bottom: 1.563vw;
	}
}
@media screen and (max-width: 768px) {
	main.page .fv .inner.flex{
		max-height: 120px;
	}
	
	main.page .fv .textBox{
		position: relative;
		z-index: 1;
	}
	main.page .fv .textBox .inner h2{
		height: 28px;
	}
	main.page .fv .textBox + img{
		height: 100%;
		position: absolute;
		top: 0;
	}	
	main.page section{
		padding: 40px 0;
	}
	#news .newsList{
		margin-bottom: 40px;
	}
}