@charset "UTF-8";

/*------------------------------------------
reset
------------------------------------------*/
html{
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
	word-break: normal;
	-moz-tab-size: 4;
	tab-size: 4;
}
*{
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}
a{
	background-color: transparent;
	text-decoration: underline;
	color: #333;
}
a:hover,
a:focus{
	text-decoration: none;
	color: #4A7A80;
}
a:hover img,
a:focus img{
	opacity: 0.7;
}
li{
	list-style: none;
}
img{
	border: none;
	max-width: 100%;
	height: auto;
}

/*------------------------------------------
common
------------------------------------------*/
html{
	font-size: 0.625rem; /* 基準 10px */
}
body{
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size: 1.8rem;
	color: #333;
	font-weight: 500;
	background-color: #fff;
	margin: 0;
	padding: 0;
	line-height: 1.5;
	overflow-x: hidden;
}
#main-skip{
	position: absolute;
	top: -1000px;
	left: -1000px;
	padding: 0.1em 0.5em;
	background: #fff;
	font-size: 1.2rem;
	border: solid 2px #81c795;
	z-index: 50;
}
#main-skip:focus{
	top: 5px;
	left: 5px;
}
.fw-b{
	font-weight: 700;
}
.txt-right{
	text-align: right !important;
}
.mt-40{
	margin-top: 4rem;
}
.txt-indent01{
	padding-left: 1em;
	text-indent: -1em;
}
.copyright{
	color: #fff;
	font-size: 1.4rem;
	text-align: center;
	margin-top: 2rem;
}
/*------------------------------------------
PC
------------------------------------------*/
@media print, screen and (min-width: 768px){
	#header .header-area{
		width: 100%;
		max-width: 82rem;
		margin: 0 auto;
		padding-top: 2rem;
	}
	#header .header-area .nav-area{
		display: flex;
		justify-content: space-between;
		align-items: center;
		background-color: #fff;
		padding: 1.5rem 2.5rem;
		border-radius: 3.5rem;
	}
	#header .header-area .nav-area .logo{
		width: 100%;
		font-size: 2.6rem;
		font-weight: 700;
		max-width: 16rem;
	}
	#header .header-area .nav-area .logo a{
		text-decoration: none;
	}
	#header .header-area .nav-area .gnav{
		width: 100%;
		max-width: 60rem;
		font-size: 1.6rem;
		font-weight: 700;
		padding-left: 6rem;
		box-sizing: border-box;
	}
	#header .header-area .nav-area .gnav ul{
		display: flex;
		justify-content: space-between;
	}
	#header .header-area .nav-area .gnav ul li{
		padding-left: 1.5rem;
	}
	#header .header-area .nav-area .gnav ul li:first-child{
		padding-left: 0;
	}
	#header .header-area .nav-area .gnav ul li a{
		text-decoration: none;
	}
	.category-ttle{
		font-size: 3rem;
		font-weight: 700;
		text-align: center;
		background: url(../images/icon-h2.png) no-repeat top center;
		padding-top: 2.2rem;
		margin-bottom: 1.5rem;
	}
	.contents-ttle{
		font-size: 3rem;
		font-weight: 700;
		text-align: left;
		padding: 6.2rem 0 0 2rem;
	}
	.body-ttle{
		font-size: 2.4rem;
		font-weight: 700;
		border-left: solid #81c795 4px;
		padding-left: 1rem;
		margin-bottom: 1.5rem;
	}
	.common-list{
		margin-top: 1rem;
	}
	.common-list li{
		padding-left: 2rem;
		margin-bottom: 0.5rem;
		position: relative;
	}
	.common-list li::before{
		content: '';
		position: absolute;
		margin-right: 1.3rem;
		width: 0.9rem;
		height: 0.9rem;
		border: 0px;
		top: 1rem;
		left: 0;
		margin: auto;
		border-top: solid 2px #81c795;
		border-right: solid 2px #81c795;
		-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
	}
	.common-list li:last-child{
		margin-bottom: 0;
	}
	.common-list li .icon-pdf,
	.common-list li .icon-word{
		width: 25px;
		height: 25px;
		margin-left: 0.5rem;
		vertical-align: middle;
	}
	.btn{
		display: block;
		margin: 2rem auto 2rem auto;
		padding: 1.5rem 2rem;
		text-align: center;
		max-width: 25rem;
		border-radius: 5rem;
		text-decoration: none;
		background-color: #467d4f;
		color: #fff;
		position: relative;
	}
	.btn::after{
		content: "";
		position: absolute;
		top: 0;
		right: 3rem;
		bottom: 0;
		margin: auto;
		width: 1rem;
		height: 1rem;
		border: 0px;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
		-webkit-transition-duration: 0.15s;
				transition-duration: 0.15s;
	}
	.btn:hover{
		background-color: #81c795;
		color: #333;
		-webkit-transition-duration: 0.15s;
		transition-duration: 0.15s;
	}
	.btn:hover::after{
		border-top: solid 2px #333;
		border-right: solid 2px #333;
	}
	.btn.-white{
		background-color: #fff;
		color: #333;
	}
	.btn.-white::after{
		content: "";
		position: absolute;
		top: 0;
		right: 3rem;
		bottom: 0;
		margin: auto;
		width: 1rem;
		height: 1rem;
		border: 0px;
		border-top: solid 2px #333;
		border-right: solid 2px #333;
		-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
		-webkit-transition-duration: 0.15s;
				transition-duration: 0.15s;
	}
	.btn.-white:hover{
		background-color: #467D4F;
		color: #fff;
		-webkit-transition-duration: 0.15s;
		transition-duration: 0.15s;
	}
	.btn.-white:hover::after{
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
	}
	.txt-link{
		margin-top: 1rem;
	}
	.txt-link-item{
		padding-left: 2rem;
		position: relative;
	}
	.txt-link-item::before{
		content: '';
		position: absolute;
		margin-right: 1.3rem;
		width: 0.9rem;
		height: 0.9rem;
		border: 0px;
		top: 0.8rem;
		left: 0;
		margin: auto;
		border-top: solid 2px #81c795;
		border-right: solid 2px #81c795;
		-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
	}
	.txt-link-item.-white{
		color: #fff;
	}
	.txt-link-item.-white::before{
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
	}
	.main-contents{
		width: 100%;
		max-width: 82rem;
		margin: 5rem auto 0 auto;
	}
	#footer{
		width: 100%;
		margin-top: 10rem;
		background-color: #467d4f
	}
	/*#footer.footer-top{
		margin-top: 25rem !important;
	}*/
	#footer .footer-area{
		width: 100%;
		max-width: 82rem;
		padding: 5rem 2rem;
		margin: 0 auto;
		color: #fff;
		text-align: center;
	}
	#footer .footer-area .bnr{
		display: block;
		width: 21.9512%;
		max-width: 18rem;
		margin: 0 auto 2rem auto;
	}
	.sp-only{
		display: none !important;
	}
}

/*------------------------------------------
sp
------------------------------------------*/
@media only screen and (max-width: 767px){
	body{
		font-size: 1.6rem;
		line-height: 1.6;
	}
	#header .header-area{
		width: 100%;
		max-width: initial;
		margin: 0 auto;
		padding-top: 1rem;
	}
	#header .header-area .nav-area{
		display: flex;
		justify-content: space-between;
		align-items: center;
		background-color: #fff;
		padding: 0 1.5rem 1rem 1.5rem;
		border-radius: 3.5rem;
	}
	#header .header-area .nav-area .logo{
		font-size: 2.6rem;
		font-weight: 700;
	}
	#header .header-area .nav-area .logo a{
		text-decoration: none;
	}
	#header .header-area .nav-area .gnav{
		display: none !important;
	}
	.category-ttle{
		font-size: 2.2rem;
		font-weight: 700;
		text-align: center;
		background: url(../images/icon-h2.png) no-repeat top center;
		padding-top: 2.2rem;
		margin-bottom: 1rem;
	}
	.contents-ttle{
		font-size: 2.2rem;
		font-weight: 700;
	}
	.body-ttle{
		font-size: 2rem;
		font-weight: 700;
		border-left: solid #81c795 4px;
		padding-left: 1rem;
		margin-bottom: 1.5rem;
	}
	.common-list{
		margin-top: 1rem;
	}
	.common-list li{
		padding-left: 1.5rem;
		margin-bottom: 0.5rem;
		position: relative;
	}
	.common-list li::before{
		content: '';
		position: absolute;
		margin-right: 1.3rem;
		width: 0.7rem;
		height: 0.7rem;
		border: 0px;
		top: 0.8rem;
		left: 0;
		margin: auto;
		border-top: solid 2px #81c795;
		border-right: solid 2px #81c795;
		-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
	}
	.common-list li:last-child{
		margin-bottom: 0;
	}
	.common-list li .icon-pdf,
	.common-list li .icon-word{
		width: 20px;
		height: 20px;
		margin-left: 0.5rem;
		vertical-align: middle;
	}
	.btn{
		display: block;
		margin-top: 1rem;
		padding: 1rem 1.5rem;
		text-align: center;
		max-width: 25rem;
		border-radius: 5rem;
		text-decoration: none;
		background-color: #467d4f;
		color: #fff;
		position: relative;
	}
	.btn::after{
		content: "";
		position: absolute;
		top: 0;
		right: 3rem;
		bottom: 0;
		margin: auto;
		width: 1rem;
		height: 1rem;
		border: 0px;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
		-webkit-transition-duration: 0.15s;
				transition-duration: 0.15s;
	}
	.btn:hover{
		background-color: #81c795;
		color: #333;
		-webkit-transition-duration: 0.15s;
		transition-duration: 0.15s;
	}
	.btn:hover::after{
		border-top: solid 2px #333;
		border-right: solid 2px #333;
	}
	.btn.-white{
		background-color: #fff;
	}
	.btn.-white::after{
		content: "";
		position: absolute;
		top: 0;
		right: 3rem;
		bottom: 0;
		margin: auto;
		width: 1rem;
		height: 1rem;
		border: 0px;
		border-top: solid 2px #333;
		border-right: solid 2px #333;
		-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
		-webkit-transition-duration: 0.15s;
				transition-duration: 0.15s;
	}
	.btn.-white:hover{
		background-color: #467D4F;
		color: #fff;
		-webkit-transition-duration: 0.15s;
		transition-duration: 0.15s;
	}
	.btn.-white:hover::after{
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
	}
	#sp-gnav .gnav-btn{
		display: flex;
		height: 5rem;
		width: 5rem;
		justify-content: center;
		align-items: center;
		font-size: 0;
		background: #fff;
		border: #fff;
		z-index: 90;
	}
	#sp-gnav .gnav-btn:hover{
		cursor: pointer;
	}
	#sp-gnav .gnav-btn span,
	#sp-gnav .gnav-btn span::before,
	#sp-gnav .gnav-btn span::after{
		content: "";
		display: block;
		height: 0.3rem;
		width: 3.5rem;
		border-radius: 3px;
		background: #467d4f;
		transition: all 0.5s;
		position: absolute;
	}
	#sp-gnav .gnav-btn span::before{
		bottom: 1rem;
	}
	#sp-gnav .gnav-btn span::after{
		top: 1rem;
	}
	#sp-gnav .gnav-btn[aria-expanded="true"] span{
		background: none;
	}
	#sp-gnav .gnav-btn[aria-expanded="true"] span::before{
		bottom: 0;
		transform: rotate(45deg);
	}
	#sp-gnav .gnav-btn[aria-expanded="true"] span::after{
		top: 0;
		transform: rotate(-45deg);
	}
	#sp-gnav .nav-menu{
		display: none;
	}
	#sp-gnav .nav-menu[aria-expanded="true"]{
		display: block;
		width: 100%;
		position: absolute;
		top: 7rem;
		left: 0;
		background-color: #467d4f;
		z-index: 80;
		transition: all 0.5s;
	}
	#sp-gnav .nav-menu > ul{
		padding: 0;
	}
	#sp-gnav .nav-menu > ul li{
		list-style: none;
	}
	#sp-gnav .nav-menu > ul li a{
		position: relative;
		display: block;
		width: 100%;
		padding: 2.5rem 1rem 2.5rem 5.5rem;
		color:#fff;
		font-size: 1.5rem;
		font-weight: bold;
		text-decoration: none;
		background: #467d4f;
	}
	#sp-gnav .nav-menu > ul li a::before{
		content: "";
		position: absolute;
		top: calc(50% - 0.5rem);
		left: 2em;
		transform: translateY(-50%);
		width: 0.9rem;
		height: 0.9rem;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
	}
	#sp-gnav .nav-menu .nav-menu-close{
		width: 100%;
		background: #e7eae8;
		text-align: center;
		font-weight: 700;
		border: 0;
		padding: 2rem;
		cursor: pointer;
	}
	.txt-link{
		margin-top: 1rem;
	}
	.txt-link-item{
		padding-left: 1.5rem;
		position: relative;
	}
	.txt-link-item::before{
		content: '';
		position: absolute;
		margin-right: 1.3rem;
		width: 0.7rem;
		height: 0.7rem;
		border: 0px;
		top: 0.6rem;
		left: 0;
		margin: auto;
		border-top: solid 2px #81c795;
		border-right: solid 2px #81c795;
		-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
	}
	.txt-link-item.-white{
		color: #fff;
	}
	.txt-link-item.-white::before{
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
	}
	.main-contents{
		width: 100%;
		padding: 2.5rem 2rem 2rem 2rem;
		margin: 0 auto;
	}
	.mgn-sm-center{
		margin-left: auto;
		margin-right: auto;
	}
	#footer{
		width: 100%;
		margin-top: 5rem;
		background-color: #467d4f
	}
	/*#footer.footer-top{
		margin-top: 20rem !important;
	}*/
	#footer .footer-area{
		width: 100%;
		padding: 2.5rem 1rem;
		margin: 0 auto;
		color: #fff;
		text-align: center;
	}
	#footer .footer-area .bnr{
		display: block;
		width: 100%;
		max-width: 18rem;
		margin: 0 auto 1rem auto;
	}
	#header .header-area .nav-area .gnav{
		display: none!important;
	}
	.mt-sm-20{
		margin-top: 2rem !important;
	}
	.pc-only{
		display: none !important;
	}
}