@charset "UTF-8";

/* ---------------------------------------------------------
 *	Main Visual
 *---------------------------------------------------------- */
#p-home #main {
	width: 100%;
	/*height: 1181px;*/
    height: 1281px;
	position: relative;
	background: url(../image/img/bg_mainvisual.jpg) no-repeat center center;
	background-size: cover;
	margin-bottom: 50px;
}

#p-home #main::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 185px;
	background: url(../image/img/bg_main_02.png) repeat-x left top;
	z-index: 1;
}

@media screen and (max-width: 959px) {
	#p-home #main {
		height: auto;
		background: #fff;
	}
}

@media screen and (max-width: 480px) {
	#p-home #main {
		margin-bottom: 20px;
	}
}

#p-home #main .slide {
	position: absolute;
	top: 0;
	left: calc(50% - 790px);
	width: 1749px;
}

#p-home #main .slide img {
	max-width: none;
}

#p-home #main .slide .illust_16 {
	width: 100%;
	position: absolute;
	bottom: 15px;
	left: 0;
}

#p-home #main .slide .illust_16 img {
	width: 100%;
}

@media screen and (max-width: 480px) {
	#p-home #main .slide {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		background: url(../image/img/bg_mainvisual_sp.jpg) no-repeat center bottom;
		background-size: cover;
		padding-bottom: 60px;
	}

	#p-home #main .slide img {
		width: 100%;
	}
}

#p-home #main .slide .slick-dots {
	bottom: 40px;
	left: -80px;
}

@media screen and (max-width: 480px) {
	#p-home #main .slide .slick-dots {
		bottom: -80px;
		left: 0;
		z-index: 1;
	}
}

#p-home #main .slide .slick-dots li {
	margin: 0;
}

#p-home #main .slide .slick-dots li button {
	background: rgba(115, 99, 87, 0.5);
	width: 10px;
	height: 10px;
	border-radius: 5px;
}

#p-home #main .slide .slick-dots li button::before {
	font-size: 0;
}

#p-home #main .slide .slick-dots li.slick-active button {
	background: rgba(115, 99, 87, 1);
}

#p-home #main h1 {
	color: #593f14;
	font-size: 12px;
	font-weight: normal;
	line-height: 1;
	position: absolute;
	left: 30px;
	top: 10px;
	white-space: nowrap;
	z-index: 2;
}

@media screen and (max-width: 959px) {
	#p-home #main h1 {
		display: none;
	}
}

#p-home #main h2 {
	width: 484px;
	height: 259px;
	color: #593f14;
	font-size: 42px;
	position: absolute;
	left: calc(50% - 244px);
	top: 282px;
	background: url(../image/img/bg_main_01.png);
	text-align: center;
	padding-top: 35px;
	padding-left: 20px;
	font-family: ModeMinBLargeProN-D, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	z-index: 1;
	letter-spacing: 2px;
}

#p-home #main h2 span {
	display: inline-block;
	background: url(../image/img/line_main_01.png) no-repeat center bottom;
}

@media screen and (max-width: 480px) {
	#p-home #main h2 {
		width: 303px;
		height: 231px;
		font-size: 26px;
		left: calc(50% - 152px);
		top: 65vw;
		background: url(../image/img/bg_main_01_sp.png);
		padding-top: 35px;
		padding-left: 20px;
	}

	#p-home #main h2 span {
		display: inline-block;
		background: url(../image/img/line_main_01_sp.png) no-repeat center bottom;
	}
}

#p-home #main .illust_25 {
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	animation-name: illust_25;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
}

@keyframes illust_25 {
	0% {
		transform: translate(0, 20px);
	}

	100% {
		transform: translate(0, -20px);
	}
}

#p-home #main .illust_25 img {
	max-width: none;
}

#p-home #main .illust_26 {
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	animation-name: illust_26;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
}

@keyframes illust_26 {
	0% {
		transform: translate(0, -20px);
	}

	100% {
		transform: translate(0, 20px);
	}
}

#p-home #main .illust_26 img {
	max-width: none;
}

#p-home #main .gNav .logo {
	margin-top: 17px;
}

@media screen and (max-width: 480px) {
	#p-home #main .gNav .logo {
		display: none;
	}
}

#p-home #main .gNav .logo img {
	width: 611px;
}

@media screen and (max-width: 1420px) {
	#p-home #main .gNav .logo img {
		width: 500px;
	}
}

@media screen and (max-width: 1300px) {
	#p-home #main .gNav .logo img {
		width: 400px;
	}
}

#p-home #main .gNav .tel {
	font-size: 22px;
	color: #008e3e;
	position: absolute;
	right: 330px;
	top: 0;
	font-family: DINMittelschriftLTPro, "Roboto Condensed", sans-serif;
}

#p-home #main .gNav .tel a {
	color: #534741;
	font-size: 47px;
	letter-spacing: 2px;
	line-height: 1;
}


@media screen and (max-width: 1300px) {
	#p-home #main .gNav .tel {
		font-size: 18px;
		top: 5px;
	}

	#p-home #main .gNav .tel a {
		font-size: 30px;
	}
}

@media screen and (max-width: 1120px) {
	#p-home #main .gNav .tel {
		font-size: 16px;
		top: 10px;
		right: 310px;
	}

	#p-home #main .gNav .tel a {
		font-size: 24px;
	}
}

#p-home #main .access {
	position: absolute;
	right: 20px;
	top: 20px;
	z-index: 11;
	width: 192px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	letter-spacing: 0.1em;
	border-radius: 4px;
	background: #ddc480;
	background: -moz-linear-gradient(left, #ddc480 0%, #b08003 100%);
	background: -webkit-linear-gradient(left, #ddc480 0%, #b08003 100%);
	background: linear-gradient(to right, #ddc480 0%, #b08003 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ddc480', endColorstr='#b08003', GradientType=1);
}

#p-home #main .access a {
	color: #fff;
}

#p-home #main .gNav {
	width: calc(100% - 60px);
	position: absolute;
	top: 25px;
	left: 60px;
	z-index: 3;
}

@media screen and (max-width: 1460px) {
	#p-home #main .gNav {
		width: calc(100% - 30px);
		left: 30px;
	}
}

@media screen and (max-width: 960px) {
	#p-home #main .gNav {
		left: 10px;
	}
}

#p-home #main .gNav .btn {
	position: absolute;
	right: 30px;
	top: 0;
	text-align: center;
}

#p-home #main .gNav .btn a {
	display: block;
	font-size: 16px;
	background: url(../image/img/btn_01.png);
	letter-spacing: 0.2em;
	width: 126px;
	height: 44px;
	line-height: 44px;
	float: left;
}

#p-home #main .gNav .btn a:first-child {
	margin-right: 10px;
}

@media screen and (max-width: 960px) {

	#p-home #main .gNav .tel,
	#p-home #main .gNav .btn,
	#p-home #main .gNav nav {
		display: none;
	}
}

#p-home #main .information-time {
	background: #fff;
}

#p-home #main .information {
	width: 515px;
	position: absolute;
	left: calc(50% - 600px);
	bottom: 50px;
	font-size: 16px;
}

@media screen and (max-width: 1260px) {
	#p-home #main .information {
		left: 20px;
	}
}

@media screen and (max-width: 1100px) {
	#p-home #main .information {
		width: 46%;
	}
}

@media screen and (max-width: 1203px) {
	#p-home #main .information {
		bottom: 60px;
	}
}

@media screen and (max-width: 959px) {
	#p-home #main .information {
		position: static;
		width: 520px;
		margin: 0 auto;
		padding-top: 870px;
	}
}

@media screen and (max-width: 560px) {
	#p-home #main .information {
		width: calc(100% - 40px);
		margin: 0 20px;
		padding-top: 860px;
	}
}

@media screen and (max-width: 480px) {
	#p-home #main .information {
		padding-top: 185vw;
		margin-bottom: 30px;
	}
}

@media screen and (max-width: 440px) {
	#p-home #main .information {
		padding-top: 188vw;
	}
}

@media screen and (max-width: 380px) {
	#p-home #main .information {
		padding-top: 190vw;
	}
}

#p-home #main .information address {
	font-size: 18px;
	font-style: normal;
	margin-bottom: 20px;
	white-space: nowrap;
}

@media screen and (max-width: 480px) {
	#p-home #main .information address {
		font-size: 16px;
		letter-spacing: 0;
		width: 260px;
		margin: 0 auto 10px;
		white-space: nowrap;
	}
}

#p-home #main .information .logo {
	width: 478px;
	margin-bottom: 20px;
}

@media screen and (max-width: 1130px) {
	#p-home #main .information .logo {
		width: 100%;
	}
}

@media screen and (max-width: 480px) {
	#p-home #main .information .logo {
		display: none;
	}
}

#p-home #main .information .logo span {
	color: #00a13e;
	font-size: 18px;
	letter-spacing: 0.2em;
	width: 100%;
	height: 37px;
	line-height: 37px;
	border-radius: 19px;
	text-align: center;
	background: #fff;
	display: block;
	margin-bottom: 5px;
}

#p-home #main .information .tel_02 {
	font-size: 50px;
	letter-spacing: 2px;
	font-family: DINMittelschriftLTPro, "Roboto Condensed", sans-serif;
	font-style: normal;
	font-weight: 400;
	line-height: 1;
	white-space: nowrap;
}

@media screen and (max-width: 480px) {
	#p-home #main .information .tel_02 {
		text-align: center;
	}
}

#p-home #main .information .tel_02 span {
	padding-left: 55px;
	background: url(../image/img/ico_tel_01.svg) no-repeat left center;
	background-size: 41px;
}

@media screen and (max-width: 1130px) {
	#p-home #main .information .tel_02 {
		font-size: 36px;
	}

	#p-home #main .information .tel_02 span {
		padding-left: 40px;
		background: url(../image/img/ico_tel_01.svg) no-repeat left center;
		background-size: 30px;
	}
}

#p-home #main .information .btn_01 a {
	font-size: 16px;
	width: 122px;
	height: 42px;
	line-height: 42px;
	letter-spacing: 0.15em;
	color: #000;
	background: url(../image/img/btn_01.png);
	background-size: 122px 42px;
	text-align: center;
	display: block;
	float: right;
	margin-top: -42px;
	transition: 0.2s ease;
	-webkit-transition: 0.2s ease;
}

@media screen and (max-width: 1030px) {
	#p-home #main .information .btn_01 a {
		margin-top: -40px;
	}
}

@media screen and (max-width: 480px) {
	#p-home #main .information .btn_01 a {
		display: none;
	}
}

#p-home #main .information .btn_01 a:hover {
	transform: scale(1.2);
	transition-duration: 0.2s;
}

#p-home #main .time {
	width: 556px;
	position: absolute;
	left: calc(50% + 60px);
	bottom: 50px;
}

@media screen and (max-width: 1260px) {
	#p-home #main .time {
		width: 46%;
		left: auto;
		right: 20px;
	}
}

@media screen and (max-width: 1203px) {
	#p-home #main .time {
		bottom: 30px;
	}
}

@media screen and (max-width: 959px) {
	#p-home #main .time {
		display: none;
	}
}

#p-home #main .time table {
	width: 100%;
	border-collapse: collapse;
	font-size: 16px;
	margin-bottom: 10px;
	line-height: 1.5;
	text-align: center;
}

#p-home #main .time table th {
	font-weight: normal;
	padding: 10px;
	border-bottom: 1px solid #736357;
}

#p-home #main .time table th:first-child {
	letter-spacing: 0.2em;
}

#p-home #main .time table td {
	padding: 10px;
	border-bottom: 1px solid #736357;
}

#p-home #main .time table td:first-child {
	width: 150px;
}

#p-home #main .time table td span {
	color: #008e3e;
}

#p-home #main .time p {
	text-align: right;
}

#p-home #main .time p strong {
	color: #008e3e;
	font-weight: normal;
	display: block;
}

#p-home #main #globalNav {
	position: absolute;
	top: 60px;
	right: 30px;
}

#p-home #main #globalNav ul li {
	font-size: 16px;
	margin-right: 10px;
	display: inline-block;
	vertical-align: top;
}

#p-home #main #globalNav ul li:last-child {
	margin-right: 0;
}

#p-home #main #globalNav ul li a {
	margin-bottom: 20px;
	padding-bottom: 10px;
	position: relative;
	transition: 0.2s ease;
	-webkit-transition: 0.2s ease;
}

#p-home #main #globalNav ul li a small {
	color: #7faa26;
	font-size: 10px;
	display: block;
	letter-spacing: 0.2em;
}

#p-home #main #globalNav ul li a span {
	font-size: 16px;
	padding: 10px;
	letter-spacing: 0.1em;
}

#p-home #main #globalNav ul li.pulldown {
	position: relative;
	padding-bottom: 10px;
}

#p-home #main #globalNav ul li.pulldown a.link_none {
	pointer-events: none;
	cursor: pointer;
}

#p-home #main #globalNav ul li.pulldown a span {
	padding-right: 25px;
	background: url(../image/img/ico_arrow_01.svg) no-repeat right 10px center;
	background-size: 10px;
}

#p-home #main #globalNav ul li a:hover span {
	color: #fff;
	background: rgba(127, 170, 38, 0.85);
	transition: 0.2s ease;
	-webkit-transition: 0.2s ease;
}

#p-home #main #globalNav ul li:first-child span {
	color: #fff;
	background: rgba(127, 170, 38, 0.85);
}

#p-home #main #globalNav ul li.pulldown a:hover span {
	background: rgba(127, 170, 38, 0.85) url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%208.46%207.33%22%3E%3Cpath%20d%3D%22M0%200h8.46L4.23%207.33z%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fsvg%3E") no-repeat right 10px center;
	background-size: 10px;
}

#p-home #main #globalNav ul li.pulldown ul.menu__second-level {
	position: absolute;
	top: 41px;
	left: -47px;
	width: 200px;
	-webkit-transition: all .2s ease;
	transition: all .2s ease;
	opacity: 0;
}

#p-home #main #globalNav ul li.pulldown:hover ul.menu__second-level {
	display: block;
	top: 61px;
	visibility: visible;
	opacity: 1;
}

#p-home #main #globalNav ul li.pulldown ul.menu__second-level a {
	color: #fff;
	background: rgba(127, 170, 38, 0.85);
	display: block;
	width: 200px;
	margin: 0;
	padding: 10px 0;
	border-bottom: 1px solid #fff;
}

#p-home #main #globalNav ul li.pulldown ul.menu__second-level a:hover {
	color: #7faa26;
	background: #fff;
}

#p-home #main #globalNav ul li.pulldown ul.menu__second-level li:last-child a {
	border-bottom: none;
}

#p-home #main .illust_03 {
	position: absolute;
	/*bottom: 310px;*/
    bottom: 410px;
	right: calc(50% + 345px);
}

#p-home #main .illust_03 img {
	max-width: none;
}

#p-home #main .illust_04 {
	position: absolute;
	/*bottom: 298px;*/
    bottom: 380px;
	left: calc(50% + 571px);
}

#p-home #main .illust_04 img {
	max-width: none;
}

#p-home #main .illust_05 {
	position: absolute;
	bottom: 680px;
	left: calc(50% - 938px);
	animation-name: illust_05;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
}

@keyframes illust_05 {
	0% {
		transform: translate(0, 20px);
	}

	100% {
		transform: translate(0, -20px);
	}
}

#p-home #main .illust_05 img {
	max-width: none;
}

#p-home #main .illust_05_2 {
	position: absolute;
	bottom: 680px;
	left: calc(50% - 938px);
	animation-name: illust_05_2;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
}

@keyframes illust_05_2 {
	0% {
		transform: translate(0, -20px);
	}

	100% {
		transform: translate(0, 20px);
	}
}

#p-home #main .illust_05_2 img {
	max-width: none;
}

#p-home #main .illust_06 {
	position: absolute;
	bottom: 762px;
	left: calc(50% - 745px);
	animation-name: illust_06;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
}

@keyframes illust_06 {
	0% {
		transform: translate(0, 20px);
	}

	100% {
		transform: translate(0, -20px);
	}
}

#p-home #main .illust_06 img {
	max-width: none;
}

@media screen and (max-width: 480px) {

	#p-home #main .illust_05,
	#p-home #main .illust_06 {
		display: none;
	}
}

/* ---------------------------------------------------------
 *	Schedule & News
 *---------------------------------------------------------- */
#p-home #schedule {
	margin-top: -66px;
	padding-top: 66px;
}

#p-home #schedule-news {
	padding: 0 0 55px;
	overflow: hidden;
}

@media screen and (max-width: 690px) {
	#p-home #schedule-news {
		padding: 0 0 20px;
	}
}

#p-home #schedule-news .inner {
	max-width: 1295px;
	margin: 0 auto;
}

#p-home #schedule-news .schedule {
	float: left;
}

@media screen and (max-width: 1295px) {
	#p-home #schedule-news .inner {
		margin: 0 20px;
	}

	#p-home #schedule-news .schedule {
		margin-bottom: 30px;
		width: 48%;
	}

	#p-home #schedule-news .schedule iframe {
		width: 100% !important;
	}
}

@media screen and (max-width: 690px) {
	#p-home #schedule-news .inner {
		width: auto;
		margin: 0 20px;
	}

	#p-home #schedule-news .schedule {
		float: none;
		margin-bottom: 20px;
		width: 100%;
	}
}

#p-home #schedule-news .news {
	float: right;
	max-width: 669px;
	height: 348px;
	background: url(../image/img/bg_schedule_news_01.png) no-repeat center top, url(../image/img/bg_schedule_news_03.png) no-repeat center bottom, url(../image/img/bg_schedule_news_02.png) repeat-y center top;
	background-size: 100%;
	padding: 50px;
}

@media screen and (max-width: 1295px) {
	#p-home #schedule-news .news {
		width: 48%;
	}
}

#p-home #schedule-news h2 {
	color: #008e3e;
	font-size: 22px;
	font-weight: normal;
	letter-spacing: 0.2em;
	line-height: 1;
	text-align: center;
	margin-bottom: 30px;
}

@media screen and (max-width: 690px) {
	#p-home #schedule-news .news {
		float: none;
		width: auto;
		height: 310px;
		padding: 30px 20px;
	}

	#p-home #schedule-news h2 {
		margin-bottom: 20px;
	}
}

#p-home #schedule-news h2 span {
	padding-left: 60px;
	background: url(../image/img/ico_news.svg) no-repeat left center;
}

#p-home #schedule-news ul {
	height: 195px;
	overflow-y: scroll;
	font-size: 16px;
}

#p-home #schedule-news ul li {
	margin-bottom: 10px;
}

#p-home #schedule-news ul::-webkit-scrollbar {
	width: 4px;
	background-color: #ccc;
}

#p-home #schedule-news ul::-webkit-scrollbar-thumb {
	background-color: #008e3e;
}

#p-home #schedule-news ul li a {
	display: block;
	padding-right: 80px;
	background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%205.88%2010.62%22%3E%3Cpath%20d%3D%22M957.38%2C545.7a.75.75%2C0%2C0%2C1-.54-1.27l3.88-4-3.88-4a.75.75%2C0%2C0%2C1%2C1.08-1l4.39%2C4.56a.77.77%2C0%2C0%2C1%2C0%2C1l-4.39%2C4.56A.76.76%2C0%2C0%2C1%2C957.38%2C545.7Z%22%20transform%3D%22translate(-956.63%20-535.08)%22%20fill%3D%22%2391a0a8%22%2F%3E%3C%2Fsvg%3E") no-repeat right 50px center;
	background-size: 6px;
}

#p-home #schedule-news ul li dt {
	color: #008e3e;
	width: 120px;
	float: left;
}

@media screen and (max-width: 480px) {
	#p-home #schedule-news h2 {
		font-size: 18px;
	}

	#p-home #schedule-news h2 span {
		padding-left: 50px;
	}

	#p-home #schedule-news ul {
		font-size: 14px;
	}

	#p-home #schedule-news ul li dt {
		width: 60px;
	}
}

#p-home #schedule-news ul li dd {
	overflow: hidden;
}

#p-home #schedule-news ul li dd span {
	color: #7faa26;
	display: block;
}


/* ---------------------------------------------------------
 *	Banner
 *---------------------------------------------------------- */
#p-home #banner {
	padding: 0 20px 75px;
	text-align: center;
	display: flex;
	justify-content: center;
}

#p-home #banner div:first-child {
	margin-right: 120px;
	margin-right: 10.43478%;
}

@media screen and (max-width: 480px) {
	#p-home #banner {
		padding: 0 20px 40px;
		text-align: center;
		display: block;
	}

	#p-home #banner div:first-child {
		margin-right: 0;
		margin-bottom: 10px;
	}
}

/* ---------------------------------------------------------
 *	Policy
 *---------------------------------------------------------- */
#p-home #policy {
	min-height: 855px;
	background: url(../image/img/bg_policy.jpg) no-repeat center center;
	background-size: cover;
	position: relative;
	text-align: center;
}

@media screen and (max-width: 1024px) {
	#p-home #policy {
		padding-top: 300px;
	}
}

@media screen and (max-width: 480px) {
	#p-home #policy {
		min-height: 0;
		background: none;
		padding: 0 0 20px;
	}

	#p-home #policy .pic_01 {
		margin-bottom: 20px;
	}
}

#p-home #policy.active::after {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 50px;
	height: 0;
	background: #7faa26;
	animation: sizeScale 2s ease forwards;
}

@media screen and (max-width: 960px) {
	#p-home #policy.active::after {
		width: 25px;
	}
}

@media screen and (max-width: 480px) {
	#p-home #policy.active::after {
		width: 12px;
	}
}

@keyframes sizeScale {
	0% {
		height: 0;
	}

	100% {
		height: 100%;
	}
}

#p-home #policy .frame {
	width: 680px;
	padding: 70px 0;
	background: url(../image/img/bg_policy_01.png) no-repeat left top, url(../image/img/bg_policy_02.png) no-repeat right bottom, url(../image/img/bg_policy_03.png) no-repeat center center;
	position: absolute;
	left: calc(50% - 20px);
	top: 150px;
}

@media screen and (max-width: 1460px) {
	#p-home #policy .frame {
		left: auto;
		right: 70px;
	}
}

@media screen and (max-width: 1024px) {
	#p-home #policy .frame {
		position: static;
		margin: 0 40px 0 auto;
	}
}

@media screen and (max-width: 730px) {
	#p-home #policy .frame {
		width: auto;
		margin: 0 50px 0 20px;
		background: url(../image/img/bg_policy_01.png) no-repeat left top, url(../image/img/bg_policy_02.png) no-repeat right bottom, url(../image/img/bg_policy_03.png) no-repeat center center;
		background-size: auto, auto, 100% 100%;
	}
}

@media screen and (max-width: 480px) {
	#p-home #policy .frame {
		padding: 40px 0;
		margin: 0 22px 0 10px;
		background: url(../image/img/bg_policy_01.png) no-repeat left top, url(../image/img/bg_policy_02.png) no-repeat right bottom, url(../image/img/bg_policy_03.png) no-repeat center center;
		background-size: 50px, 50px, 100% 100%;
	}
}

#p-home #policy h2 {
	font-size: 42px;
	margin-bottom: 30px;
	padding-top: 40px;
	background: url(../image/img/txt_policy_01.png) no-repeat left 130px top, url(../image/img/bg_policy_04.png) no-repeat calc(50% + 280px) 90px;
	font-family: ModeMinBLargeProN-D, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	letter-spacing: 2px;
}

#p-home #policy h2 span {
	padding-bottom: 10px;
	background: url(../image/img/line_03.png) repeat-x left bottom;
}

#p-home #policy p {
	font-size: 18px;
	line-height: 2;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 480px) {
	#p-home #policy h2 {
		font-size: 24px;
		line-height: 1.8;
		padding-top: 30px;
		background: url(../image/img/txt_policy_01.png) no-repeat left 40px top, url(../image/img/bg_policy_04.png) no-repeat calc(50% + 160px) 60px;
		background-size: 63px, 30px;
	}

	#p-home #policy h2 span {
		padding-bottom: 5px;
		background: url(../image/img/line_03.png) repeat-x left bottom;
	}

	#p-home #policy p {
		font-size: 16px;
		letter-spacing: 0;
	}
}

/* ---------------------------------------------------------
 *	Worries
 *---------------------------------------------------------- */
#p-home #worries {
	min-height: 1041px;
	background: url(../image/img/bg_worries.png) no-repeat center bottom;
	background-size: cover;
	text-align: center;
	padding-top: 70px;
	position: relative;
}

@media screen and (max-width: 480px) {
	#p-home #worries {
		min-height: 0;
		background: url(../image/img/bg_worries_02_sp.png) no-repeat center bottom, url(../image/img/bg_worries_01_sp.png) no-repeat center 120px, url(../image/img/bg_01.jpg);
		background-size: 100% auto, 100% auto, cover;
		padding-top: 40px;
	}
}

#p-home #worries h2 {
	font-size: 28px;
	line-height: 1.5;
	letter-spacing: 0.2em;
	background: url(../image/img/ttl_worries.png);
	width: 608px;
	height: 181px;
	margin: 0 auto 30px;
	font-family: ModeMinBLargeProN-D, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

#p-home #worries h2 span {
	border-bottom: 2px dashed #7faa26;
	padding-top: 70px;
	padding-bottom: 5px;
	display: inline-block;
}

@media screen and (max-width: 480px) {
	#p-home #worries h2 {
		font-size: 21px;
		background: url(../image/img/ttl_worries_sp.png);
		width: 313px;
		height: 159px;
		margin: 0 auto 20px;
	}

	#p-home #worries h2 span {
		padding-top: 45px;
	}
}

#p-home #worries ul {
	width: 1313px;
	margin: -68px auto 0;
	font-size: 0;
	z-index: 1;
	position: relative;
}

@media screen and (max-width: 1313px) {
	#p-home #worries ul {
		width: 1035px;
		padding-bottom: 210px;
	}
}

@media screen and (max-width: 1035px) {
	#p-home #worries ul {
		width: 622px;
	}
}

@media screen and (max-width: 622px) {
	#p-home #worries ul {
		width: 244px;
	}
}

@media screen and (max-width: 480px) {
	#p-home #worries ul {
		padding-bottom: 90px;
	}
}

#p-home #worries ul li {
	width: 277px;
	font-size: 16px;
	vertical-align: top;
	display: inline-block;
	margin: 68px 68px 0 0;
	border: 2px dashed #7faa26;
	background: #fff;
	box-shadow: 10px 10px 10px 0px rgba(203, 223, 230, 1);
}

@media screen and (max-width: 1313px) {
	#p-home #worries ul li:first-child {
		margin: 68px 68px 0 0;
	}

	#p-home #worries ul li:nth-child(3n) {
		margin: 68px 0 0 0;
	}
}

@media screen and (max-width: 1035px) {
	#p-home #worries ul li:nth-child(2n) {
		margin: 68px 0 0 0;
	}

	#p-home #worries ul li:nth-child(3) {
		margin: 68px 68px 0 0;
	}
}

#p-home #worries ul li:last-child {
	margin: 68px 0 0 0;
}

@media screen and (max-width: 622px) {
	#p-home #worries ul {
		width: auto;
		margin: 0 20px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	#p-home #worries ul li:first-child {
		margin: 2% 0 0 0;
	}

	#p-home #worries ul li:nth-child(2n) {
		margin: 2% 0 0 0;
	}

	#p-home #worries ul li:nth-child(3) {
		margin: 2% 0 0 0;
	}

	#p-home #worries ul li:last-child {
		margin: 2% 0 0 0;
	}

	#p-home #worries ul li {
		width: 49%;
		margin: 2% 0 0 0;
	}
}

#p-home #worries ul li input {
	display: none;
}

#p-home #worries ul li .txt {
	height: 0;
	padding: 0;
	overflow: hidden;
	opacity: 0;
	transition: 1s;
	position: relative;
}

#p-home #worries ul li .txt::before {
	content: "";
	background: rgba(255, 255, 255, 0.8);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#p-home #worries ul li:nth-child(1) .txt {
	background: url(../image/img/pic_worries_08.jpg) center center;
	background-size: cover;
}

#p-home #worries ul li:nth-child(2) .txt {
	background: url(../image/img/pic_worries_02.jpg) center center;
	background-size: cover;
}

#p-home #worries ul li:nth-child(3) .txt {
	background: url(../image/img/pic_worries_03.jpg) center center;
	background-size: cover;
}

#p-home #worries ul li:nth-child(4) .txt {
	background: url(../image/img/pic_worries_04.jpg) center center;
	background-size: cover;
}

#p-home #worries ul li:nth-child(5) .txt {
	background: url(../image/img/pic_worries_05.jpg) center center;
	background-size: cover;
}

#p-home #worries ul li:nth-child(6) .txt {
	background: url(../image/img/pic_worries_06.jpg) center center;
	background-size: cover;
}

#p-home #worries ul li:nth-child(7) .txt {
	background: url(../image/img/pic_worries_07.jpg) center center;
	background-size: cover;
}

#p-home #worries ul li input:checked ~ .txt {
	height: auto;
	opacity: 1;
}

#p-home #worries ul li input:checked ~ .btn {
	height: 0;
	padding: 0;
	overflow: hidden;
	opacity: 0;
}

#p-home #worries ul li strong {
	color: #008e3e;
	font-size: 17px;
	letter-spacing: 0.04em;
	line-height: 1.5;
	padding: 20px;
	display: block;
	background: url(../image/img/ico_arrow_02.svg) no-repeat right top;
	background-size: 14px;
	font-family: FP-HiraginoUDSansStdN-W5, sans-serif;
}

#p-home #worries ul li .txt strong {
	padding: 20px;
	background: none;
	position: relative;
}

#p-home #worries ul li .txt strong::after {
	content: "";
	position: absolute;
	width: 164px;
	height: 1px;
	background: #736357;
	left: calc(50% - 82px);
	bottom: 10px;
}

#p-home #worries ul li p {
	text-align: left;
	line-height: 1.3;
	padding: 0 10px 10px;
}

@media screen and (max-width: 480px) {
	#p-home #worries ul li strong {
		font-size: 13px;
		letter-spacing: 0;
		padding: 5px 5px;
	}

	#p-home #worries ul li p {
		font-size: 12px;
	}
}

#p-home #worries ul li .txt p {
	position: relative;
}

#p-home #worries .illust_07 {
	position: absolute;
	bottom: 0;
	left: calc(50% - 555px);
	animation-name: illust_07;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
}

@keyframes illust_07 {
	0% {
		transform: translate(20px, 0);
	}

	100% {
		transform: translate(-20px, 0);
	}
}

#p-home #main .illust_07 img {
	max-width: none;
}

@media screen and (max-width: 960px) {
	#p-home #worries .illust_07 {
		left: 20px;
		width: 12vw;
	}
}

#p-home #worries .illust_08 {
	position: absolute;
	top: 180px;
	right: calc(50% - 690px);
	animation-name: illust_08;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
}

@keyframes illust_08 {
	0% {
		transform: translate(0, 20px);
	}

	100% {
		transform: translate(0, -20px);
	}
}

#p-home #main .illust_08 img {
	max-width: none;
}

@media screen and (max-width: 960px) {
	#p-home #worries .illust_08 {
		position: absolute;
		top: 50vw;
		right: 2vw;
		width: 15vw;
	}
}

#p-home #worries .illust_09 {
	position: absolute;
	top: 335px;
	left: calc(50% - 709px);
	animation-name: illust_09;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
}

@keyframes illust_09 {
	0% {
		transform: translate(0, -20px);
	}

	100% {
		transform: translate(0, 20px);
	}
}

#p-home #main .illust_09 img {
	max-width: none;
}

@media screen and (max-width: 960px) {
	#p-home #worries .illust_09 {
		display: none;
	}
}

#p-home #worries .illust_27 {
	position: absolute;
	top: 103vw;
	left: 3vw;
	animation-name: illust_27;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
	width: 15vw;
}

@keyframes illust_27 {
	0% {
		transform: translate(0, -20px);
	}

	100% {
		transform: translate(0, 20px);
	}
}

#p-home #main .illust_27 img {
	max-width: none;
}

#p-home #worries .illust_28 {
	position: absolute;
	top: 150vw;
	right: 6vw;
	animation-name: illust_28;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
	width: 5vw;
}

@keyframes illust_28 {
	0% {
		transform: translate(0, 20px);
	}

	100% {
		transform: translate(0, -20px);
	}
}

#p-home #main .illust_28 img {
	max-width: none;
}

#p-home #worries .illust_29 {
	position: absolute;
	top: 187vw;
	left: 5vw;
	animation-name: illust_29;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
	width: 14vw;
}

@keyframes illust_29 {
	0% {
		transform: translate(0, -20px);
	}

	100% {
		transform: translate(0, 20px);
	}
}

#p-home #main .illust_29 img {
	max-width: none;
}

#p-home #worries .illust_30 {
	position: absolute;
	top: 303vw;
	right: 3vw;
	animation-name: illust_30;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
	width: 6vw;
}

@keyframes illust_30 {
	0% {
		transform: translate(0, 20px);
	}

	100% {
		transform: translate(0, -20px);
	}
}

#p-home #main .illust_30 img {
	max-width: none;
}

#p-home #worries .illust_31 {
	position: absolute;
	top: 365vw;
	left: 7vw;
	animation-name: illust_31;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
	width: 5vw;
}

@keyframes illust_31 {
	0% {
		transform: translate(0, -20px);
	}

	100% {
		transform: translate(0, 20px);
	}
}

#p-home #main .illust_31 img {
	max-width: none;
}

#p-home #worries .illust_32 {
	position: absolute;
	top: 428vw;
	right: 7vw;
	animation-name: illust_32;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
	width: 14vw;
}

@keyframes illust_32 {
	0% {
		transform: translate(0, 20px);
	}

	100% {
		transform: translate(0, -20px);
	}
}

#p-home #main .illust_32 img {
	max-width: none;
}

/* ---------------------------------------------------------
 *	Check
 *---------------------------------------------------------- */
#p-home #check {
	margin-bottom: 30px;
	text-align: center;
}

@media screen and (max-width: 480px) {
	#p-home #check {
		padding-top: 30px;
	}
}

#p-home #check h2 {
	font-size: 45px;
	line-height: 1.5;
	letter-spacing: 0.2em;
	background: url(../image/img/ttl_check.png);
	width: 664px;
	height: 120px;
	margin: 0 auto 50px;
	font-family: ModeMinBLargeProN-D, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

#p-home #check h2 span {
	padding-right: 0.2em;
	padding-top: 35px;
	display: inline-block;
}

@media screen and (max-width: 960px) {
	#p-home #check h2 {
		font-size: 30px;
		background: url(../image/img/ttl_check.png);
		background-size: 460px;
		width: 460px;
		height: 83px;
	}

	#p-home #check h2 span {
		padding-top: 25px;
	}
}

@media screen and (max-width: 480px) {
	#p-home #check h2 {
		font-size: 24px;
		line-height: 1.5;
		background: url(../image/img/ttl_check_sp.png);
		width: 260px;
		height: 115px;
		margin: 0 auto 20px;
	}

	#p-home #check h2 span {
		padding-top: 30px;
	}
}

#p-home #check .inner {
	position: relative;
}

#p-home #check.active .inner::before {
	content: "";
	background: #7faa26;
	width: 50px;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	animation: sizeScale2 2s ease forwards;
}

@keyframes sizeScale2 {
	0% {
		height: 0;
	}

	100% {
		height: 100%;
	}
}

#p-home #check.active .inner::after {
	content: "";
	background: #7faa26;
	width: 50px;
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
	animation: sizeScale3 2s ease forwards;
}

@keyframes sizeScale3 {
	0% {
		height: 0;
	}

	100% {
		height: 100%;
	}
}

@media screen and (max-width: 960px) {
	#p-home #check.active .inner::before {
		width: 25px;
	}

	#p-home #check.active .inner::after {
		width: 25px;
	}
}

@media screen and (max-width: 480px) {
	#p-home #check.active .inner::before {
		display: none;
	}

	#p-home #check.active .inner::after {
		display: none;
	}
}

#p-home #check ul {
	width: 100%;
	display: flex;
}

#p-home #check ul li {
	width: 50%;
	font-size: 17px;
	position: relative;
}

#p-home #check ul li:nth-child(1) {
	text-align: right;
	background: url(../image/img/pic_check_01.jpg) no-repeat center center;
	background-size: cover;
	padding: 50px 70px 130px;
}

#p-home #check ul li:nth-child(2) {
	text-align: left;
	background: url(../image/img/pic_check_02.jpg) no-repeat center center;
	background-size: cover;
	padding: 50px 70px 130px;
}

@media screen and (max-width: 960px) {
	#p-home #check ul li:nth-child(1) {
		padding: 40px 40px 130px;
	}

	#p-home #check ul li:nth-child(2) {
		padding: 40px 40px 130px;
	}
}

@media screen and (max-width: 480px) {
	#p-home #check ul {
		display: block;
	}

	#p-home #check ul li {
		width: auto;
		font-size: 14px;
	}

	#p-home #check ul li:nth-child(1) {
		background: #f2f7e9;
		text-align: left;
		padding: 0 0 30px;
	}

	#p-home #check.active ul li:nth-child(1)::after {
		content: "";
		background: #7faa26;
		width: 12px;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
		z-index: 1;
		animation: sizeScale5 2s ease forwards;
	}

	@keyframes sizeScale5 {
		0% {
			height: 0;
		}

		100% {
			height: 100%;
		}
	}

	#p-home #check ul li:nth-child(2) {
		background: #f2f7e9;
		text-align: right;
		padding: 0 0 30px;
	}

	#p-home #check.active ul li:nth-child(2)::after {
		content: "";
		background: #7faa26;
		width: 12px;
		height: 100%;
		position: absolute;
		right: 0;
		top: 0;
		z-index: 1;
		animation: sizeScale6 2s ease forwards;
	}

	@keyframes sizeScale6 {
		0% {
			height: 0;
		}

		100% {
			height: 100%;
		}
	}
}

#p-home #check ul li h3 {
	font-size: 50px;
	background: #fff;
	padding: 10px;
	display: inline-block;
	letter-spacing: 0.25em;
	padding-left: 0.5em;
	line-height: 1;
	margin-bottom: 30px;
	font-family: ModeMinBLargeProN-D, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

#p-home #check ul li strong {
	font-size: 24px;
	display: block;
	letter-spacing: 0.3em;
	line-height: 1.5;
	margin-bottom: 20px;
	font-family: ModeMinBLargeProN-D, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

#p-home #check ul li strong span {
	border-bottom: 1px solid #7faa26;
}

#p-home #check ul li p {
	letter-spacing: 0.1em;
}

@media screen and (max-width: 960px) {
	#p-home #check ul li h3 {
		font-size: 36px;
	}

	#p-home #check ul li strong {
		font-size: 18px;
	}
}

@media screen and (max-width: 480px) {
	#p-home #check ul li h3 {
		font-size: 30px;
		padding: 6px;
		margin-bottom: 0;
	}

	#p-home #check ul li strong {
		margin: 20px 35px 20px 35px;
	}

	#p-home #check ul li p {
		font-size: 14px;
		letter-spacing: 0;
		text-align: left;
		margin: 0 35px;
	}

}

#p-home #check ul li .btn {
	width: 302px;
	position: absolute;
	bottom: 40px;
	right: 80px;
}

#p-home #check ul li:nth-child(2) .btn {
	bottom: 40px;
	left: 80px;
}

@media screen and (max-width: 960px) {
	#p-home #check ul li .btn {
		width: calc(100% - 80px);
		right: auto;
	}

	#p-home #check ul li:nth-child(2) .btn {
		width: calc(100% - 80px);
		left: auto;
	}
}

#p-home #check ul li .btn a {
	height: 60px;
	display: block;
	background: #fff;
	color: #008e3e;
	font-size: 18px;
	letter-spacing: 0.35em;
	text-align: center;
	transition: 0.2s ease;
	-webkit-transition: 0.2s ease;
}

#p-home #check ul li .btn a:hover {
	color: #fff;
	background: #7faa26;
	transform: scale(1.2);
	transition-duration: 0.2s;
}

#p-home #check ul li .btn a span {
	background: url(../image/img/ico_arrow_03.svg) no-repeat center bottom;
	background-size: 159px;
	display: inline-block;
	width: 159px;
	padding: 10px 0 5px;
}

#p-home #check ul li .btn a:hover span {
	background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20159.78%206.89%22%3E%3Cpolygon%20points%3D%22159.78%206.89%200%206.89%200%205.89%20157.37%205.89%20152.18%200.71%20152.89%200%20159.78%206.89%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fsvg%3E") no-repeat center bottom;
	background-size: 159px;
}

@media screen and (max-width: 480px) {

	#p-home #check ul li .btn {
		position: static;
		width: 238px;
		margin: 20px auto 0;
	}

	#p-home #check ul li:nth-child(2) .btn {
		width: 238px;
	}

	#p-home #check ul li .btn a {
		height: 47px;
		font-size: 14px;
	}

	#p-home #check ul li .btn a span {
		background: url(../image/img/ico_arrow_03.svg) no-repeat center bottom;
		background-size: 125px;
		padding: 6px 0 4px;
	}

	#p-home #check ul li .pic {
		background: url(../image/img/pic_check_01_sp.jpg);
		background-size: cover;
		padding: 120px 35px 20px 34px;
	}

	#p-home #check ul li:nth-child(2) .pic {
		background: url(../image/img/pic_check_02_sp.jpg);
		background-size: cover;
	}
}

#p-home #check .block {
	width: 100%;
	display: flex;
	justify-content: center;
	min-height: 400px;
	background: url(../image/img/pic_check_03.jpg) no-repeat center center;
	background-size: cover;
	padding: 40px;
}

#p-home #check .block .frame {
	width: 525px;
	padding: 40px 40px 110px;
	background: rgba(255, 255, 255, 0.65);
	position: relative;
}

#p-home #check .block .frame:first-child {
	margin-right: 50px;
}

#p-home #check .block .frame h4 {
	color: #008e3e;
	font-size: 26px;
	line-height: 1.5;
	letter-spacing: 0.27em;
	margin-bottom: 20px;
	font-family: ModeMinBLargeProN-D, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media screen and (max-width: 1170px) {
	#p-home #check .block .frame {
		padding: 40px 20px 110px;
	}

	#p-home #check .block .frame:first-child {
		margin-right: 20px;
	}

	#p-home #check .block .frame h4 {
		color: #008e3e;
		font-size: 24px;
		letter-spacing: 0.1em;
	}
}

@media screen and (max-width: 480px) {
	#p-home #check .block {
		display: block;
		min-height: 0;
		padding: 20px;
		background: url(../image/img/pic_check_03_sp.jpg) no-repeat center center;
		background-size: cover;
	}

	#p-home #check .block .frame {
		width: auto;
		padding: 20px;
	}

	#p-home #check .block .frame:first-child {
		margin-right: 0;
		margin-bottom: 20px;
	}

	#p-home #check .block .frame h4 {
		font-size: 21px;
		letter-spacing: 0.27em;
	}

	#p-home #check .block .frame p {
		font-size: 14px;
		text-align: left;
	}
}

#p-home #check .block .frame:last-child h4 {
	letter-spacing: 0.17em;
	letter-spacing: 0.1em;
}

#p-home #check .block .frame h4 span {
	background: url(../image/img/ico_brackets_01.svg) no-repeat left center, url(../image/img/ico_brackets_02.svg) no-repeat right center;
	background-size: auto 47px;
	padding: 5px 20px;
	display: block;
}

@media screen and (max-width: 480px) {
	#p-home #check .block .frame h4 span {
		background: url(../image/img/ico_brackets_01.svg) no-repeat left center, url(../image/img/ico_brackets_02.svg) no-repeat right center;
		background-size: auto 37px;
	}
}

#p-home #check .block .frame .btn {
	width: 272px;
	position: absolute;
	bottom: 40px;
	left: calc(50% - 136px);
}

#p-home #check .block .frame .btn a {
	height: 54px;
	display: block;
	border: 1px solid #534741;
	color: #008e3e;
	letter-spacing: 0.3em;
	text-align: center;
	transition: 0.2s ease;
	-webkit-transition: 0.2s ease;
}

@media screen and (max-width: 960px) {
	#p-home #check .block .frame .btn {
		width: calc(100% - 40px);
		bottom: 40px;
		left: auto;
	}
}

#p-home #check .block .frame:last-child .btn a {
	letter-spacing: 0.15em;
}

#p-home #check .block .frame .btn a:hover {
	color: #fff;
	background: #7faa26;
	transform: scale(1.2);
	transition-duration: 0.2s;
}

#p-home #check .block .frame .btn a span {
	background: url(../image/img/ico_arrow_04.svg) no-repeat center bottom;
	background-size: 143px;
	width: 143px;
	display: inline-block;
	padding: 7px 0 5px;
}

#p-home #check .block .frame:last-child .btn a span {
	background: url(../image/img/ico_arrow_05.svg) no-repeat center bottom;
	background-size: 209px;
	width: 209px;
}

#p-home #check .block .frame .btn a:hover span {
	background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20143.8%206.2%22%3E%3Cpolygon%20points%3D%22143.8%206.2%200%206.2%200%205.3%20141.6%205.3%20137%200.6%20137.6%200%20143.8%206.2%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fsvg%3E") no-repeat center bottom;
	background-size: 143px;
}

@media screen and (max-width: 480px) {
	#p-home #check .block .frame .btn {
		position: static;
		width: 238px;
		margin: 20px auto 0;
	}

	#p-home #check .block .frame .btn a {
		height: 47px;
		font-size: 14px;
	}

	#p-home #check .block .frame .btn a span {
		background: url(../image/img/ico_arrow_04.svg) no-repeat center bottom;
		background-size: 125px;
		padding: 6px 0 4px;
	}

	#p-home #check .block .frame:last-child .btn a span {
		background: url(../image/img/ico_arrow_04.svg) no-repeat center bottom;
		background-size: 125px;
	}
}

/* ---------------------------------------------------------
 *	Menu
 *---------------------------------------------------------- */
#p-home #menu {
	padding-top: 70px;
	min-height: 826px;
	text-align: center;
	position: relative;
}

@media screen and (max-width: 1186px) {
	#p-home #menu {
		padding-bottom: 115px;
	}
}

@media screen and (max-width: 480px) {
	#p-home #menu {
		min-height: 0;
	}
}

#p-home #menu::before {
	content: "";
	position: absolute;
	top: 10px;
	left: -30px;
	width: 421px;
	height: 808px;
	background: url(../image/img/bg_menu_01.png);
	animation: bgAnime 1s ease forwards;
}

@keyframes bgAnime {
	0% {
		left: -230px;
	}

	100% {
		left: -30px;
	}
}

#p-home #menu::after {
	content: "";
	position: absolute;
	top: 16px;
	right: -70px;
	width: 456px;
	height: 795px;
	background: url(../image/img/bg_menu_02.png);
	animation: bgAnime2 1s ease forwards;
}

@keyframes bgAnime2 {
	0% {
		right: -270px;
	}

	100% {
		right: -70px;
	}
}

@media screen and (max-width: 960px) {
	@keyframes bgAnime {
		0% {
			left: -430px;
		}

		100% {
			left: -230px;
		}
	}

	@keyframes bgAnime2 {
		0% {
			right: -470px;
		}

		100% {
			right: -270px;
		}
	}
}

@media screen and (max-width: 480px) {
	#p-home #menu::before {
		content: "";
		position: absolute;
		top: 40px;
		left: -80px;
		width: 171px;
		/* height: 556px; */
		background: url(../image/img/bg_menu_01_sp.png);
		animation: bgAnime 1s ease forwards;
	}

	#p-home #menu::after {
		content: "";
		position: absolute;
		top: 40px;
		right: -80px;
		width: 171px;
		/* height: 561px; */
		background: url(../image/img/bg_menu_02_sp.png);
		animation: bgAnime2 1s ease forwards;
	}

	@keyframes bgAnime {
		0% {
			left: -260px;
		}

		100% {
			left: -80px;
		}
	}

	@keyframes bgAnime2 {
		0% {
			right: -260px;
		}

		100% {
			right: -80px;
		}
	}
}

#p-home #menu h2 {
	font-size: 28px;
	line-height: 1.5;
	letter-spacing: 0.25em;
	background: url(../image/img/ttl_menu.png);
	width: 458px;
	height: 181px;
	margin: 0 auto 40px;
	text-align: center;
	font-family: ModeMinBLargeProN-D, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

#p-home #menu h2 span {
	border-bottom: 2px dashed #7faa26;
	padding-top: 70px;
	padding-bottom: 5px;
	display: inline-block;
}

@media screen and (max-width: 480px) {
	#p-home #menu h2 {
		font-size: 21px;
		background: url(../image/img/ttl_menu.png) no-repeat;
		background-size: 100%;
		width: 340px;
		height: 134px;
		margin: 0 auto 20px;
	}

	#p-home #menu h2 span {
		padding-top: 50px;
	}
}

#p-home #menu .btn_01 {
	font-size: 0;
	width: 1186px;
	margin: 0 auto 30px;
}

#p-home #menu .btn_01 li {
	font-size: 24px;
	letter-spacing: 0.1em;
	width: 369px;
	display: inline-block;
	vertical-align: top;
	margin: 0 39px 30px 0;
}

#p-home #menu .btn_01 li:nth-child(3n) {
	margin: 0 0 30px 0;
}

@media screen and (max-width: 1186px) {
	#p-home #menu .btn_01 {
		width: auto;
		margin: 0 20px 30px;
	}

	#p-home #menu .btn_01 li:first-child {
		margin-left: 0;
	}

	#p-home #menu .btn_01 li:nth-child(2n) {
		margin: 0 0 30px 0;
	}

	#p-home #menu .btn_01 li:nth-child(3n) {
		margin: 0 39px 30px 0;
	}

	#p-home #menu .btn_01 li:nth-child(6) {
		margin: 0 0 30px 0;
	}
}

#p-home #menu .btn_01 li a {
	color: #fff;
	display: block;
	width: 369px;
	height: 78px;
	box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.2);
	background: url(../image/img/bg_menu_03.jpg);
	position: relative;
	z-index: 1;
	transition: 0.2s ease;
	-webkit-transition: 0.2s ease;
}

#p-home #menu .btn_01 li a:hover {
	transform: scale(1.2);
	transition-duration: 0.2s;
}

#p-home #menu .btn_01 li span {
	background: url(../image/img/ico_arrow_06.svg) no-repeat center bottom;
	background-size: 246px;
	width: 246px;
	display: inline-block;
	padding: 12px 0 5px;
}

#p-home #menu .btn_01 li img {
	margin: 20px 10px 0 0;
}

#p-home #menu .btn_01 li:nth-child(1) img {
	width: 42px;
}

#p-home #menu .btn_01 li:nth-child(2) img {
	width: 30px;
}

#p-home #menu .btn_01 li:nth-child(3) img {
	width: 39px;
}

#p-home #menu .btn_01 li:nth-child(4) img {
	width: 56px;
}

#p-home #menu .btn_01 li:nth-child(5) img {
	width: 56px;
}

#p-home #menu .btn_01 li:nth-child(6) img {
	width: 41px;
	margin-top: 15px;
}

@media screen and (max-width: 816px) {
	#p-home #menu .btn_01 {
		margin: 0 auto 30px;
	}

	#p-home #menu .btn_01 li {
		font-size: 18px;
		width: 46%;
		display: inline-block;
		vertical-align: top;
		margin: 0 4% 4% 0;
	}

	#p-home #menu .btn_01 li a {
		width: auto;
		height: auto;
		padding: 10px;
	}

	#p-home #menu .btn_01 li:nth-child(3n) {
		margin: 0 4% 4% 0;
	}

	#p-home #menu .btn_01 li:nth-child(5) {
		margin: 0 4% 4% 0;
	}

	#p-home #menu .btn_01 li:nth-child(6) {
		margin: 0 0 4% 0;
	}

	#p-home #menu .btn_01 li span {
		background: url(../image/img/ico_arrow_06.svg) no-repeat right bottom;
		background-size: 200%;
		width: 80%;
        height: 120%;
		display: block;
		padding: 5px 0 0 0;
	}

	#p-home #menu .btn_01 li img {
		margin: 0;
	}

	#p-home #menu .btn_01 li:nth-child(1) img {
		width: 42px;
		margin: 3px 0 4px 0;
	}

	#p-home #menu .btn_01 li:nth-child(2) img {
		width: 30px;
		margin: 6px 0 7px 0;
	}

	#p-home #menu .btn_01 li:nth-child(3) img {
		width: 39px;
		margin: 6px 0 7px 0;
	}

	#p-home #menu .btn_01 li:nth-child(4) img {
		width: 56px;
		margin: 6px 0 6px 0;
	}

	#p-home #menu .btn_01 li:nth-child(5) img {
		width: 56px;
		margin: 6px 0 7px 0;
	}

	#p-home #menu .btn_01 li:nth-child(6) img {
		width: 41px;
		margin: 0;
	}
}

@media screen and (max-width: 480px) {
	#p-home #menu .btn_01 {
		margin: -2% 10px 20px;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	#p-home #menu .btn_01 li {
		margin: 2% 0 0;
		letter-spacing: 0;
	}

	#p-home #menu .btn_01 li:nth-child(1) {
		margin: 2% 0 0;
	}

	#p-home #menu .btn_01 li:nth-child(2) {
		margin: 2% 0 0;
	}

	#p-home #menu .btn_01 li:nth-child(3) {
		margin: 2% 0 0;
	}

	#p-home #menu .btn_01 li:nth-child(3n) {
		margin: 2% 0 0;
	}

	#p-home #menu .btn_01 li:nth-child(4) {
		margin: 2% 0 0;
	}

	#p-home #menu .btn_01 li:nth-child(5) {
		margin: 2% 0 0;
	}

	#p-home #menu .btn_01 li:nth-child(6) {
		margin: 2% 0 0;
	}

	#p-home #menu .btn_01 li {
		font-size: 12px;
		width: 32%;
	}

	#p-home #menu .btn_01 li a {
		height: 30vw;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-flow: column;
	}
}

#p-home #menu .btn_02 {
	font-size: 0;
}

#p-home #menu .btn_02 li {
	font-size: 18px;
	letter-spacing: 0.3em;
	width: 302px;
	display: inline-block;
	vertical-align: top;
}

#p-home #menu .btn_02 li:first-child {
	margin-right: 45px;
}

@media screen and (max-width: 816px) {
	#p-home #menu .btn_02 li {
		width: 46%;
	}

	#p-home #menu .btn_02 li:first-child {
		margin-right: 4%;
	}
}

#p-home #menu .btn_02 li a {
	color: #7faa26;
	height: 60px;
	display: block;
	background: #fff;
	border: 1px solid #736357;
	position: relative;
	z-index: 1;
	transition: 0.2s ease;
	-webkit-transition: 0.2s ease;
}

#p-home #menu .btn_02 li a:hover {
	color: #fff;
	background: #7faa26;
	transform: scale(1.2);
	transition-duration: 0.2s;
}

#p-home #menu .btn_02 li span {
	background: url(../image/img/ico_arrow_06.svg) no-repeat center bottom;
	background-size: 211px;
	width: 211px;
	display: inline-block;
	padding: 7px 0 5px;
}

#p-home #menu .btn_02 li a:hover span {
	background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20246.7%208.9%22%3E%3Cpolygon%20points%3D%22246.7%208.9%200%208.9%200%207.6%20243.6%207.6%20236.9%200.9%20237.8%200%20246.7%208.9%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fsvg%3E") no-repeat center bottom;
	background-size: 211px;
}

@media screen and (max-width: 816px) {
	#p-home #menu .btn_02 li {
		width: 46%;
	}

	#p-home #menu .btn_02 li:first-child {
		margin-right: 4%;
	}

	#p-home #menu .btn_02 li span {
		background: url(../image/img/ico_arrow_06.svg) no-repeat center bottom;
		background-size: calc(100% - 20px);
		width: 100%;
	}
}

@media screen and (max-width: 480px) {
	#p-home #menu .btn_02 li {
		font-size: 14px;
	}

	#p-home #menu .btn_02 li a {
		height: 50px;
	}
}

/* ---------------------------------------------------------
 *	Greeting
 *---------------------------------------------------------- */
#p-home #greeting {
	padding: 90px 0;
	min-height: 951px;
	background: url(../image/img/bg_greeting_01.jpg) no-repeat center center;
	background-size: cover;
	position: relative;
}

@media screen and (max-width: 480px) {
	#p-home #greeting {
		padding: 60px 0 40px;
		min-height: 0;
		background: url(../image/img/bg_greeting_01_sp.jpg) no-repeat center center;
		background-size: cover;
	}
}

#p-home #greeting .frame {
	width: 1104px;
	margin: 0 auto;
	position: relative;
	padding: 46px 0 45px;
	position: relative;
}

#p-home #greeting .frame::before {
	content: "";
	width: 1104px;
	height: 46px;
	background: url(../image/img/bg_greeting_02.png);
	position: absolute;
	left: 0;
	top: 0;
}

#p-home #greeting .frame::after {
	content: "";
	width: 1104px;
	height: 45px;
	background: url(../image/img/bg_greeting_04.png);
	position: absolute;
	left: 0;
	bottom: 0;
}

#p-home #greeting .inner {
	padding: 10px 70px;
	background: url(../image/img/bg_greeting_03.png) repeat-y center top;
}

@media screen and (max-width: 1280px) {
	#p-home #greeting .frame {
		width: calc(100% - 176px);
		margin: 0 88px;
		padding: 30px 0 30px;
	}

	#p-home #greeting .frame::before {
		width: 100%;
		height: 30px;
		background: url(../image/img/bg_greeting_02.png) no-repeat;
		background-size: 100% 100%;
	}

	#p-home #greeting .frame::after {
		width: 100%;
		height: 30px;
		background: url(../image/img/bg_greeting_04.png) no-repeat;
		background-size: 100% 100%;
	}

	#p-home #greeting .inner {
		background: url(../image/img/bg_greeting_03.png) repeat-y center top;
		background-size: 100% auto;
	}
}

#p-home #greeting .ttl {
	top: -30px;
	left: -80px;
	position: absolute;
}

#p-home #greeting h2 {
	font-size: 40px;
	line-height: 1.5;
	letter-spacing: 0.15em;
	margin-bottom: 40px;
	font-family: ModeMinBLargeProN-D, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

#p-home #greeting .img {
	width: 330px;
	position: absolute;
	right: -80px;
	top: 60px;
	z-index: 1;
}

#p-home #greeting .txt {
	width: 820px;
	position: relative;
}

#p-home #greeting .txt p {
	width: 730px;
	font-size: 17px;
	line-height: 2;
	letter-spacing: 0.1em;
	margin-bottom: 10px;
}

#p-home #greeting .name strong {
	display: block;
	font-size: 30px;
	letter-spacing: 0.09em;
	text-align: right;
	border-bottom: 1px solid #736357;
	margin-bottom: 30px;
	padding-bottom: 10px;
	padding-right: 60px;
	line-height: 1;
	font-family: ModeMinBLargeProN-D, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

#p-home #greeting .name strong span {
	color: #7faa26;
	font-size: 20px;
	margin-right: 20px;
}

#p-home #greeting .name strong rt {
	font-size: 11px;
	margin-bottom: .5em;
	transform: translateY(-.5em);
}

#p-home #greeting .history {
	font-size: 17px;
	width: 730px;
	letter-spacing: 0.15em;
}

@media screen and (max-width: 1280px) {
	#p-home #greeting h2 {
		padding-right: 220px;
	}

	#p-home #greeting .txt {
		width: auto;
		padding-right: 220px;
	}

	#p-home #greeting .txt p {
		width: auto;
	}

	#p-home #greeting .history {
		width: auto;
	}
}

@media screen and (max-width: 960px) {
	#p-home #greeting h2 {
		font-size: 30px;
		padding-right: 0;
		margin-bottom: 10px;
	}

	#p-home #greeting .ttl {
		top: -40px;
		left: 40px;
	}

	#p-home #greeting .inner {
		padding: 320px 40px 20px;
	}

	#p-home #greeting .frame {
		width: calc(100% - 40px);
		margin: 0 20px;
	}

	#p-home #greeting .img {
		position: absolute;
		right: 0;
		top: -30px;
	}

	#p-home #greeting .txt {
		padding-right: 0;
	}

	#p-home #greeting .img img {
		width: 300px;
	}

	#p-home #greeting .name {
		position: absolute;
		left: 60px;
		top: 180px;
	}

	#p-home #greeting .name strong {
		display: inline-block;
		text-align: left;
		border-bottom: 1px solid #736357;
		margin: 0;
		padding: 0 10px 10px;
	}
}

@media screen and (max-width: 480px) {
	#p-home #greeting .ttl {
		top: -20px;
		left: 20px;
	}

	#p-home #greeting .ttl img {
		width: 174px;
	}

	#p-home #greeting .inner {
		padding: 10px 30px;
	}

	#p-home #greeting .frame {
		width: auto;
		margin: 0 20px;
		padding: 20px 0 20px;
	}

	#p-home #greeting .frame::before {
		height: 20px;
	}

	#p-home #greeting .frame::after {
		height: 20px;
	}

	#p-home #greeting h2 {
		margin-bottom: 20px;
	}

	#p-home #greeting .img {
		width: auto;
	}

	#p-home #greeting .img img {
		width: 50%;
		margin: 0 auto;
		display: block;
	}

	#p-home #greeting h2 {
		font-size: 18px;
		letter-spacing: 0.1em;
	}

	#p-home #greeting .inner {
		padding: 160px 20px 10px;
	}

	#p-home #greeting .txt p {
		font-size: 14px;
		line-height: 1.4;
	}

	#p-home #greeting .img {
		position: absolute;
		right: 0;
		top: -30px;
	}

	#p-home #greeting .img img {
		width: 120px;
	}

	#p-home #greeting .history {
		font-size: 13px;
		border-top: 2px dashed #d5d0cd;
		margin: 20px 10px 0;
		padding-top: 20px;
		letter-spacing: 0;
	}

	#p-home #greeting .name {
		position: absolute;
		left: 30px;
		top: 80px;
	}

	#p-home #greeting .name strong {
		font-size: 21px;
	}

	#p-home #greeting .name strong span {
		color: #7faa26;
		font-size: 14px;
		margin-right: 10px;
	}

	#p-home #greeting .name strong rt {
		font-size: 10px;
		margin-bottom: .5em;
		transform: translateY(-.5em);
	}
}

#p-home #greeting .btn {
	width: 302px;
	margin: 30px auto 0;
}

@media screen and (max-width: 382px) {
	#p-home #greeting .btn {
		width: 100%;
	}
}

#p-home #greeting .btn a {
	height: 54px;
	display: block;
	border: 1px solid #534741;
	color: #7faa26;
	letter-spacing: 0.3em;
	text-align: center;
	background: #fff;
	transition: 0.2s ease;
	-webkit-transition: 0.2s ease;
}

#p-home #greeting .btn a:hover {
	color: #fff;
	background: #7faa26;
	transform: scale(1.2);
	transition-duration: 0.2s;
}

#p-home #greeting .btn a span {
	background: url(../image/img/ico_arrow_05.svg) no-repeat center bottom;
	background-size: 210px;
	width: 210px;
	display: inline-block;
	padding: 7px 0 5px;
}

#p-home #greeting .btn a:hover span {
	background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20205.9%206.2%22%3E%3Cpolygon%20points%3D%22205.9%206.2%200%206.2%200%205.3%20203.7%205.3%20199.1%200.6%20199.7%200%20205.9%206.2%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fsvg%3E") no-repeat center bottom;
	background-size: 210px;
}

/* ---------------------------------------------------------
 *	Feature
 *---------------------------------------------------------- */

#p-home #feature {
	min-height: 2320px;
	margin-bottom: 30px;
	padding-top: 50px;
	background: url(../image/img/bg_feature_01.jpg) no-repeat center center, url(../image/img/bg_feature_02.jpg) repeat-x left center;
	position: relative;
}

@media screen and (max-width: 960px) {
	#p-home #feature {
		min-height: 0;
		margin-bottom: 40px;
		padding: 30px 0;
		background: url(../image/img/bg_feature_05_sp.png) no-repeat calc(50%) bottom, url(../image/img/bg_feature_04_sp.png) no-repeat right 10px bottom 590px, url(../image/img/bg_feature_03_sp.png) no-repeat calc(50%) 1200px, url(../image/img/bg_feature_02_sp.png) no-repeat calc(50%) 690px, url(../image/img/bg_feature_01_sp.png) no-repeat calc(50%) 40px, url(../image/img/bg_02.jpg);
		background-size: auto, auto, auto, auto, auto, auto 100%;
	}
}

#p-home #feature h2 {
	font-size: 26px;
	line-height: 1.5;
	letter-spacing: 0.2em;
	background: url(../image/img/ttl_feature.png);
	width: 553px;
	height: 181px;
	margin: 0 auto 60px;
	text-align: center;
	font-family: ModeMinBLargeProN-D, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

#p-home #feature h2 span {
	border-bottom: 2px dashed #7faa26;
	padding-top: 70px;
	padding-bottom: 5px;
	display: inline-block;
}

#p-home #feature .inner {
	width: 1327px;
	margin: 0 auto;
}

@media screen and (max-width: 1327px) {
	#p-home #feature .inner {
		width: auto;
		/* margin: 0 20px;  */
	}
}

@media screen and (max-width: 480px) {
	#p-home #feature h2 {
		font-size: 21px;
		background: url(../image/img/ttl_feature_sp.png);
		background-size: 313px 159px;
		width: 313px;
		height: 159px;
		margin: 0 auto 20px;
	}

	#p-home #feature h2 span {
		padding-top: 50px;
	}

	#p-home #feature .inner {
		margin: 0;
	}
}

#p-home #feature ol {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}

#p-home #feature ol li {
	height: 505px;
	padding-top: 60px;
}

#p-home #feature ol li:nth-child(1) {
	background: url(../image/img/pic_feature_01.jpg) no-repeat calc(50% + 310px) center;
}

#p-home #feature ol li:nth-child(2) {
	background: url(../image/img/pic_feature_02.jpg) no-repeat calc(50% - 310px) center;
}

#p-home #feature ol li:nth-child(3) {
	background: url(../image/img/pic_feature_03.jpg) no-repeat calc(50% + 310px) center;
}

#p-home #feature ol li:nth-child(4) {
	background: url(../image/img/pic_feature_04.jpg) no-repeat calc(50% - 310px) center;
}

#p-home #feature ol li .frame {
	width: 791px;
	background: rgba(255, 255, 255, 0.65);
	padding: 50px;
	position: relative;
	z-index: 2;
}

#p-home #feature ol li:nth-child(2n) .frame {
	width: 878px;
	float: right;
}

@media screen and (max-width: 960px) {
	#p-home #feature ol li .frame {
		width: auto;
	}

	#p-home #feature ol li:nth-child(2n) .frame {
		width: auto;
	}
}

#p-home #feature ol li .frame h3 {
	font-size: 41px;
	line-height: 1.5;
	margin-bottom: 20px;
	padding-left: 100px;
	font-family: ModeMinBLargeProN-D, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	letter-spacing: 0.1em;
}

#p-home #feature ol li:nth-child(1) .frame h3 {
	background: url(../image/img/txt_feature_01.png) no-repeat left center;
}

#p-home #feature ol li:nth-child(2) .frame h3 {
	background: url(../image/img/txt_feature_02.png) no-repeat left center;
}

#p-home #feature ol li:nth-child(3) .frame h3 {
	background: url(../image/img/txt_feature_03.png) no-repeat left center;
}

#p-home #feature ol li:nth-child(4) .frame h3 {
	background: url(../image/img/txt_feature_04.png) no-repeat left center;
}

#p-home #feature ol li .frame p {
	font-size: 17px;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 960px) {
	#p-home #feature ol li .frame h3 {
		font-size: 30px;
	}

	#p-home #feature ol {
		position: static;
	}

	#p-home #feature ol li {
		height: auto;
		padding-top: 25px;
		background: none !important;
	}

	#p-home #feature ol li:first-child {
		padding-top: 0;
	}

	#p-home #feature ol li .pic {
		margin: 0 0 0 60px;
		position: relative;
		z-index: 1;
	}

	#p-home #feature ol li:nth-child(2n) .pic {
		margin: 0 60px 0 0;
	}

	#p-home #feature ol li .frame {
		padding: 30px;
		margin: -15px 40px 0 0;
		position: relative;
	}

	#p-home #feature ol li:nth-child(2n) .frame {
		padding: 30px;
		margin: -15px 0 0 40px;
		float: none;
	}
}

@media screen and (max-width: 480px) {
	#p-home #feature ol li .frame h3 {
		font-size: 18px;
		padding-left: 70px;
	}

	#p-home #feature ol li .frame p {
		font-size: 16px;
	}

	#p-home #feature ol li:nth-child(1) .frame h3 {
		background: url(../image/img/txt_feature_01.png) no-repeat left center;
		background-size: 55px;
	}

	#p-home #feature ol li:nth-child(2) .frame h3 {
		background: url(../image/img/txt_feature_02.png) no-repeat left center;
		background-size: 55px;
	}

	#p-home #feature ol li:nth-child(3) .frame h3 {
		background: url(../image/img/txt_feature_03.png) no-repeat left center;
		background-size: 55px;
	}

	#p-home #feature ol li:nth-child(4) .frame h3 {
		background: url(../image/img/txt_feature_04.png) no-repeat left center;
		background-size: 53px;
	}
}

#p-home #feature .illust_10 {
	position: absolute;
	top: 97px;
	right: calc(50% - 573px);
	animation-name: illust_10;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
}

@keyframes illust_10 {
	0% {
		transform: translate(0, 20px);
	}

	100% {
		transform: translate(0, -20px);
	}
}

#p-home #feature .illust_10 img {
	max-width: none;
}

@media screen and (max-width: 960px) {
	#p-home #feature .illust_10 {
		top: 43%;
		right: 1vw;
	}

	#p-home #feature .illust_10 img {
		width: 7vw;
	}
}

#p-home #feature .illust_11 {
	position: absolute;
	top: 529px;
	right: calc(50% + 745px);
	animation-name: illust_11;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
}

@keyframes illust_11 {
	0% {
		transform: translate(20px, 0);
	}

	100% {
		transform: translate(-20px, 0);
	}
}

#p-home #feature .illust_11 img {
	max-width: none;
}

@media screen and (max-width: 960px) {
	#p-home #feature .illust_11 {
		top: 24%;
		left: -6vw;
	}

	#p-home #feature .illust_11 img {
		width: 20vw;
	}
}

#p-home #feature .illust_12 {
	position: absolute;
	top: 860px;
	left: calc(50% + 825px);
	animation-name: illust_12;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
}

@keyframes illust_12 {
	0% {
		transform: translate(0, 20px);
	}

	100% {
		transform: translate(0, -20px);
	}
}

#p-home #feature .illust_12 img {
	max-width: none;
}

#p-home #feature .illust_13 {
	position: absolute;
	bottom: 135px;
	right: calc(50% - 884px);
	animation-name: illust_13;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
}

@keyframes illust_13 {
	0% {
		transform: translate(20px, 0);
	}

	100% {
		transform: translate(-20px, 0);
	}
}

#p-home #feature .illust_13 img {
	max-width: none;
}

@media screen and (max-width: 960px) {
	#p-home #feature .illust_13 {
		bottom: 3vw;
		right: 5vw;
	}

	#p-home #feature .illust_13 img {
		width: 13vw;
	}
}

/* ---------------------------------------------------------
 *	Facilities
 *---------------------------------------------------------- */
#p-home #facilities {
	text-align: center;
}

#p-home #facilities ul {
	position: relative;
	font-size: 0;
}

#p-home #facilities.active ul::before {
	content: "";
	font-size: 0;
	background: #7faa26;
	position: absolute;
	left: 0;
	top: 0;
	width: 50px;
	height: 100%;
	z-index: 1;
	animation: sizeScale4 2s ease forwards;
}

@media screen and (max-width: 960px) {
	#p-home #facilities.active ul::before {
		width: 25px;
	}
}

@media screen and (max-width: 480px) {
	#p-home #facilities.active ul::before {
		width: 10px;
	}
}

@keyframes sizeScale4 {
	0% {
		height: 0;
	}

	100% {
		height: 100%;
	}
}

#p-home #facilities ul li {
	font-size: 24px;
	letter-spacing: 0.15em;
	position: relative;
	display: inline-block;
	vertical-align: top;
}

#p-home #facilities ul li span {
	color: #fff;
	height: 73px;
	line-height: 73px;
	padding: 0 20px 0 40px;
	background: url(../image/img/bg_facilities_01.png) no-repeat left top, url(../image/img/bg_facilities_02.png) no-repeat 20px top;
	background-size: auto, 100%;
	position: absolute;
	right: 0;
	bottom: 0;
}

@media screen and (max-width: 960px) {
	#p-home #facilities ul li {
		font-size: 14px;
	}

	#p-home #facilities ul li:first-child {
		font-size: 18px;
		letter-spacing: 0;
	}

	#p-home #facilities ul li span {
		height: 50px;
		line-height: 50px;
	}
}

@media screen and (max-width: 680px) {
	#p-home #facilities ul li {
		font-size: 12px;
	}

	#p-home #facilities ul li:first-child {
		font-size: 16px;
	}

	#p-home #facilities ul li span {
		height: 36px;
		line-height: 36px;
		padding: 0 10px 0 20px;
		background: url(../image/img/bg_facilities_01.png) no-repeat left top, url(../image/img/bg_facilities_02.png) no-repeat 15px top;
		background-size: 15px, 100%;
	}
}

#p-home #facilities ul li:nth-child(1) {
	width: 41.801%;
}

#p-home #facilities ul li:nth-child(2) {
	width: 29.099%;
}

#p-home #facilities ul li:nth-child(3) {
	width: 29.099%;
}

#p-home #facilities ul li:nth-child(4) {
	width: 29.099%;
	margin-left: 41.801%;
	margin-top: -18.167%;
}

#p-home #facilities ul li:nth-child(5) {
	width: 29.099%;
	margin-top: -18.167%;
}

#p-home #facilities ul li img {
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 480px) {
	#p-home #facilities ul li:nth-child(1) {
		width: 100%;
	}

	#p-home #facilities ul li:nth-child(1) img {
		object-fit: cover;
		height: 70vw;
	}

	#p-home #facilities ul li:nth-child(2) {
		width: 50%;
	}

	#p-home #facilities ul li:nth-child(3) {
		width: 50%;
	}

	#p-home #facilities ul li:nth-child(4) {
		width: 50%;
		margin-left: 0;
		margin-top: 0;
	}

	#p-home #facilities ul li:nth-child(5) {
		width: 50%;
		margin-top: 0;
	}
}

/* ---------------------------------------------------------
 *	Information
 *---------------------------------------------------------- */

#p-home #information {
	background: url(../image/img/bg_information.png) no-repeat center center;
	min-height: 362px;
	position: relative;
}

@media screen and (max-width: 480px) {
	#p-home #information {
		background: url(../image/img/bg_information.png) no-repeat center center;
		background-size: cover;
	}
}

#p-home #information .inner {
	max-width: 903px;
	min-height: 362px;
	margin: 0 auto;
	display: table;
}

@media screen and (max-width: 903px) {
	#p-home #information .inner {
		margin: 0 20px;
	}
}

#p-home #information table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	display: table-cell;
	vertical-align: middle;
}

#p-home #information table th {
	width: 140px;
	font-weight: normal;
	padding: 10px 0;
	color: #008e3e;
	border-bottom: 1px solid #7faa26;
}

@media screen and (max-width: 480px) {
	#p-home #information table {
		font-size: 12px;
		padding: 30px 0 60px;
	}

	#p-home #information table th {
		width: 6em;
	}
}

#p-home #information table tr:last-child th {
	padding: 10px 0 0;
	border-bottom: none;
}

#p-home #information table td {
	padding: 10px 0;
	border-bottom: 1px solid #7faa26;
}

#p-home #information table tr:last-child td {
	padding: 10px 0 0;
	border-bottom: none;
}

#p-home #information .illust_01 {
	position: absolute;
	bottom: 46px;
	right: calc(50% + 481px);
}

#p-home #information .illust_01 img {
	max-width: none;
}

#p-home #information .illust_02 {
	position: absolute;
	bottom: 48px;
	left: calc(50% + 497px);
	animation-name: illust_02;
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-direction: alternate;
	animation-duration: 1.5s;
}

@keyframes illust_02 {
	0% {
		transform: translate(20px, 0);
	}

	100% {
		transform: translate(-20px, 0);
	}
}

#p-home #information .illust_02 img {
	max-width: none;
}

@media screen and (max-width: 480px) {
	#p-home #information .illust_01 {
		bottom: 46px;
		right: auto;
		left: 20px;
		bottom: 20px;
	}

	#p-home #information .illust_01 img {
		width: 40px;
	}

	#p-home #information .illust_02 {
		bottom: 20px;
		left: auto;
		right: 20px;
	}

	#p-home #information .illust_02 img {
		width: 28px;
	}
}
/*20230807編集*/
.recruit img{
	width:800px;
	display:block;
	margin:0 auto;
}
/*20250421編集*/
.line-bnr {
    margin-top: 20px;
}
