@charset "utf-8";

html {
	font-size: 62.5%;
}
body {
	color: #222;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.6em;
	line-height: 1.625;
    letter-spacing: 0;
}
a {
	transition: .25s;
}
img{
	max-width: 100%;
}
a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
}
.wrapper {
	width: 1250px;
	max-width: 100%;
	padding: 0 25px;
	margin: auto;
}
.serif {
	font-family: 'Noto Serif JP', serif;
}
.btn {
	position: relative;
	display: inline-block;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: .0075em;
}
.btn_green {
	color: #fff;
	background: #67A762;
	border: 1px solid #67A762;
}
.btn_green::after {
	position: absolute;
	content: "";
    width: 26px;
    height: 8px;
    right: 21px;
	top: 50%;
	transform: translateY(-50%);
	background: url(../images/common/btn_arrow_white.svg) no-repeat center center / contain;
}
.btn_white {
	color: #67A762;
	background: #fff;
	border: 1px solid #fff;
}
.btn_white::after {
	position: absolute;
	content: "";
	width: 24px;
	height: 6px;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	background: url(../images/common/btn_arrow_green.svg) no-repeat center center / contain;
}
.text_link {
	display: inline-block;
}
.text_link::after {
	content: "";
	display: block;
	width: 0;
	transition: width 0.3s;
	border-bottom: 1px solid #000;
	margin: auto;
}
.point {
	position: relative;
	display: block;
	padding-left: 0.7em;
	text-indent: -1em;
}
.point::before {
	content: "・";
}
.asterisk {
	position: relative;
	display: block;
	padding-left: 1em;
	text-indent: -1em;
}
.asterisk::before {
	content: "※";
	color: #CB3339;
}
.caution {
	position: relative;
	display: inline-block;
	font-size: 1.6rem;
	padding-left: 1em;
	text-indent: -1em;
}
.caution::before {
	content: "※";
}
.circle {
	position: relative;
	display: block;
	padding-left: 1em;
	text-indent: -1em;
}
.circle::before {
	content: "●";
	color: #67A762;
	margin-right: 4px;
}

@media screen and (min-width: 769px) {
	.btn_green:hover {
		color: #67A762;
		background: #fff;
	}
	.btn_green:hover::after {
		background: url(../images/common/btn_arrow_green.svg) no-repeat center center / contain;
	}
	.btn_white:hover {
		color: #fff;
		background: #67A762;
	}
	.btn_white:hover::after {
		background: url(../images/common/btn_arrow_white.svg) no-repeat center center / contain;
	}
	.text_link:hover::after {
		width: 100%;
	}
}

/* Header
------------------------------ */
.header_inner {
	position: fixed;
	left: 0;
	top: 0;
	height: 100px;
	width: 100%;
	background: #fff;
	transition: .3s;
	z-index: 100;
}
.customize-support .header_inner {
	top: 32px;
}
.header_inner.header_fixed {
	height: 80px;
	box-shadow: 2px 2px 3px #d8d8d8;
}
.header_inner .wrapper {
	height: inherit;
}
.header_wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: inherit;
	padding: 20px 0 20px;
}
.header_logo {
	width: 100%;
	max-width: 287px;
	transition: .3s;
}
.header_fixed .header_logo {
	max-width: 330px;
}
.header_fixed .header_wrapper {
    padding: 10px 0 10px;
}
.header_nav {
	width: 100%;
	max-width: 763px;
	display: flex;
	align-items: center;
}
.header_lists {
	display: flex;
	margin-right: 30px;
}
.header_list {
	position: relative;
	text-align: center;
	margin-right: 38px;
}
.header_list:last-of-type {
	margin-right: 0;
}
.header_list_link {
	display: block;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.015em;
	padding: 14.5px 0;
	white-space: nowrap;
}
.header_list_link::after {
	content: "";
	display: block;
	width: 0;
	transition: width 0.3s;
	border-bottom: 1px solid #000;
	margin: auto;
}
.header_recruit {
	position: relative;
}
.header_btn a {
	position: relative;
	font-size: 1.4rem;
	font-weight: 500;
	color: #fff;
	background: #67A762;
	border: 1px solid #67A762;
	white-space: nowrap;
	padding: 20px 23px 20px 57px;
}
.header_btn a::before {
	position: absolute;
	content: "";
	width: 26px;
	height: 32px;
	left: 22px;
	top: 50%;
	transform: translateY(-50%);
	background: url(../images/common/header_btn_icon_white.png) no-repeat center center / contain;
}
.hamburger {
	display: none;
}
#hamburger_toggle {
	display: none;
}
.header_list_menus {
    position: absolute;
    top: 55px;
    left: 50%;
	width: 220px;
	transform: scaleY(0) translateX(-50%);
    transform-origin: center top;
    transition: all .3s;
}
.header_list_menu {
    display: block;
	text-align: center;
}
.header_list_menu a {
	display: inline-block;
	width: 100%;
    color: #fff;
	background: #67A762;
	border: 1px solid #fff;
	padding: 10px 10px;
}
.header_list_menu a:hover{
	color: #67A762;
    background: #fff;
	border-color: #67A762;
}

@media screen and (min-width: 769px) {
	.header_list a:hover::after {
		width: 100%;
	}
	.header_btn a:hover {
		color: #67A762;
		background: #fff;
	}
	.header_btn a:hover::before {
		background: url(../images/common/header_btn_icon_green.png) no-repeat center center / contain;
	}
	.header_list:hover .header_list_menus {
		transform: scaleY(1) translateX(-50%);
	}
	.header_recruit:hover .header_list_menus {
		transform: scaleY(1) translateX(-50%);
	}
}

main {
	margin-top: 100px;
}

/* top
------------------------------ */
.main_view_inner {
}
.main_view_slide {
	position: relative;
}
.main_view_pic {
	width: 100%;
	margin: auto;
}
.main_view_pic img {
	width: 100%;
	max-height: 612px;
    object-fit: cover;
}
.main_view_content {
	position: absolute;
	width: 100%;
	max-width: 1250px;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
	padding: 0 25px;
}
.about {
	margin-top: 124px;
}
.about_inner {
	position: relative;
	display: flex;
}
.about_img {
    position: absolute;
    top: 0;
    bottom: 0;
	width: 68.5333%;
}
.about_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.about_main {
	position: relative;
	width: 64.5333%;
	margin-left: auto;
	background: linear-gradient(90deg, rgba(255,255,255,.85) 0% 20%, rgb(204, 234, 185,.85));
}
.about_content {
	position: relative;
	width: 100%;
	max-width: 865px;
    padding: 90px 25px 90px 70px;
}
.about_num {
	position: absolute;
	width: 100%;
	max-width: 112px;
    top: -47px;
    right: 47px;
}
.about_title_en {
	font-size: 1.2rem;
	font-weight: 700;
	color: #198050;
	text-align: right;
	width: 100%;
	max-width: 578px;
	border-bottom: 1px solid #198050;
}
.about_title_ja {
	font-size: clamp(2.8rem, 2.4vw, 3.6rem);
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.4;
    margin-top: 36px;
}
.about_text {
    line-height: 2;
    margin-top: 33px;
}
.about_btn {
	margin-top: 53px;
}
.about_btn .btn {
	width: 100%;
	max-width: 258px;
	padding: 19px 23px;
}
.product {
	margin-top: 130px;
}
.product_inner {
	position: relative;
	display: flex;
}
.product_img {
    position: absolute;
    top: 0;
    bottom: 0;
	width: 68.5333%;
}
.product_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.product_main {
	position: relative;
	width: 64.5333%;
	margin-left: auto;
	background: linear-gradient(90deg, rgba(255,255,255,.85) 0% 20%, rgb(204, 234, 185,.85));
}
.product_content {
	position: relative;
	width: 100%;
	max-width: 865px;
    padding: 90px 25px 142px 70px;
}
.product_num {
	position: absolute;
    width: 100%;
    max-width: 127px;
    top: -47px;
    right: 51px;
}
.product_title_en {
	font-size: 1.2rem;
	font-weight: 700;
	color: #198050;
	text-align: right;
	width: 100%;
	max-width: 555px;
	border-bottom: 1px solid #198050;
	padding-bottom: 4px;
}
.product_title_ja {
	font-size: clamp(2.8rem, 2.4vw, 3.6rem);
	font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.4;
    margin-top: 31px;
}
.product_text {
    line-height: 2;
	margin-top: 32px;
}
.product_btn {
	margin-top: 53px;
}
.product_btn .btn {
	width: 100%;
	max-width: 258px;
	padding: 20px 23px;
}
.access_head {
	color: #fff;
	background: #67A762;
}
.access_title {
	position: relative;
	display: flex;
	align-items: center;
    padding: 37px 25px 37px;
}
.access_title::after {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	left: 0;
    bottom: -29px;
    border-style: solid;
    border-width: 30px 32px 0 30px;
	border-color: #67a762 transparent transparent transparent;
}
.access_title_ja {
	font-size: clamp(2.8rem, 2.4vw, 3.6rem);
	font-weight: 500;
	margin-right: 20px;
}
.access_title_en {
	font-size: 1.2rem;
	font-weight: 700;
}
.access_map iframe {
	width: 100%;
}
.premises_inner {
	display: flex;
}
.premises_main {
	display: grid;
    align-items: center;
	width: 51.0667%;
	background: linear-gradient(270deg, rgba(255,255,255,.85) 0% 20%, rgb(204, 234, 185,.85));
    padding: 76px 0 77px;
}
.premises_content {
	width: 100%;
	max-width: 640px;
	padding: 0 25px;
	margin-left: auto;
}
.premises_title_ja {
	font-size: clamp(2.8rem, 2.4vw, 3.6rem);
	font-weight: 500;
}
.premises_text {
	margin-top: 35px;
}
.premises_btn {
	margin-top: 55px;
}
.premises_btn .btn {
	width: 100%;
	max-width: 258px;
	padding: 21px 23px;
}
.premises_img {
	width: 48.9333%;
	max-height: 420px;
}
.premises_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.calender_inner {
	color: #fff;
	background: #67A762;
	padding: 91px 0 130px;
}
.calender_title {
	display: flex;
	align-items: center;
}
.calender_title_ja {
	font-size: clamp(2.8rem, 2.4vw, 3.6rem);
	font-weight: 500;
	margin-right: 33px;
}
.calender_title_en {
	font-size: 1.2rem;
	font-weight: 700;
}
.calender_wrapper {
	display: flex;
	justify-content: space-between;
	margin-top: 35px;
}
.calender_schedule {
	width: 100%;
	max-width: 648px;
	background: #fff;
	padding: 26px 38px 26px;
	margin-right: 20px;
}
.widget {
	display: flex;
}
.widget  table {
	width: 100%;
}
.biz_calendar {
	margin: 0;
}
#biz_calendar1 {
	width: 100%;
	max-width: 100%;
	margin-right: 20px;
}
#biz_calendar2 {
	width: 100%;
	max-width: 100%;
}
.widget tr {
	border-bottom: 1px solid #ccc;
}
.widget tr:first-of-type {
	border-bottom: none;
}
.widget th {
	color: #000;
	text-align: center;
	padding: 2px 4px;
}
.widget td.calmonth {

}
.widget td {
	color: #000;
	text-align: center;
	padding: 2px 4px;
}
.widget td.holiday {
	color: #fff;
	background: #67A762;
}
.calender_schedule_message {
	color: #000;
	margin-top: 20px;
}
.calender_schedule_message span {
	color: #67A762;
}
.calender_img {
	width: 100%;
	max-width: 501px
}
.associated_inner {
	padding: 95px 0 110px;
	background: linear-gradient(270deg, rgba(255,255,255,.85) 0% 20%, rgb(204, 234, 185,.85));
}
.associated_wrapper {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.associated_head {
	width: 49.1333%;
	border-bottom: 1px solid #198050;
	margin-right: 20px;
}
.associated_title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 615px;
	margin-left: auto;
	padding-left: 25px;
}
.associated_title_ja {
	font-size: clamp(2.8rem, 2.4vw, 3.6rem);
	font-weight: 500;
	margin-right: 33px;
}
.associated_title_en {
	font-size: 1.2rem;
	font-weight: 700;
	color: #198050;
	margin-top: 23px;
}
.associated_items {
	width: 41.4%;
	padding-right: 25px;
	margin-top: 26px;
}
.associated_item {
	width: 100%;
	max-width: 336px;
}
.associated_item:nth-of-type(n + 2) {
	margin-top: 33px;
}
.news_inner {
	background: url(../images/top/news_bg.jpg) no-repeat center center / cover;
	padding: 131px 0;
}
.news_wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
}
.news_head {
	position: relative;
	width: calc(50% - 282px);
	color: #fff;
	background: #67A762;
	padding: 57px 0 70px 25px;
	margin-right: 49px;
}
.news_content {
	width: 100%;
	max-width: 317px;
	margin-left: auto;
	padding-right: 20px;
}
.news_title {
	display: flex;
	align-items: center;
}
.news_title_ja {
	font-size: clamp(2.8rem, 2.4vw, 3.6rem);
	font-weight: 500;
	margin-right: 22px;
}
.news_title_en {
	font-size: 1.2rem;
	font-weight: 700;
}
.news_btn {
	margin-top: 34px;
}
.news_btn .btn {
	width: 100%;
	max-width: 200px;
	padding: 14px 21px 14px;
}
.news_lists {
	width: calc(50% + 233px);
    padding-right: 25px;
}
.news_list {
	width: 100%;
	max-width: 833px;
	border-bottom: 1px solid #fff;
}
.news_list:last-of-type {
	border-bottom: none;
}
.news_lists .none {
	color: #fff;
}
.news_list_link {
	display: flex;
	align-items: center;
	color: #fff;
    padding: 18px 25px 18px 0;
	transition: .3s;
}
.news_list_time {
	font-size: 1.4rem;
	margin-right: 23px;
}
.news_list_cat {
	font-size: 1.4rem;
	color: #198050;
	background: #fff;
	padding: 5px 21px;
	margin-right: 25px;
	text-align: center;
	min-width: 140px;
}

@media screen and (min-width: 769px) {
	.news_list_link:hover {
		color: #000;
		background: rgba(255, 255, 225,.8);
	}
	.news_list_link:hover .news_list_cat {
		color: #fff;
		background: #198050;
	}
}

/* sub
------------------------------ */
.sub_main_view {
	height: 350px;
}
.sub_main_view .wrapper {
	height: inherit;
}
.sub_main_view_title {
	width: 100%;
	max-width: 601px;
	height: inherit;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.sub_main_view_title_ja {
	font-size: clamp(3.8rem, 3.07vw, 4.6rem);
	font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.2;
    color: #67A762;
    background: #fff;
    padding: 10px 14px;
}
.sub_main_view_title_en {
	font-size: clamp(2rem, 1.47vw, 2.2rem);
	line-height: 1.4;
	font-weight: 500;
	text-transform: uppercase;
	color: #fff;
	background: #67A762;
	padding: 10px 14px;
	margin-top: 12px;
}
.breadcrumbs {
}
.breadcrumbs_menu {
	font-size: 1.4rem;
	color: #198050;
	border-bottom: 1px solid #198050;
	padding: 28px 0;
}
.breadcrumbs_menu span span:nth-of-type(n + 2) {
	margin-left: 18px;
}
.breadcrumbs_menu a {
	font-weight: 500;
	margin-right: 17px;
}
.breadcrumbs_menu a:nth-of-type(n + 2) {
	margin-left: 17px;
}
.breadcrumb_last {
	color: #000;
	margin-left: 18px;
}
.subsection_title {
	position: relative;
	text-align: center;
    padding-top: 19px;
}
.subsection_title::before {
	position: absolute;
	content: "";
	width: 70px;
	height: 7px;
	left: 50%;
	transform: translateX(-50%);
	top: 0;
	background: #67A762;
}
.subsection_title_ja {
	font-size: clamp(2.8rem, 2.4vw, 3.6rem);
	font-weight: 500;
}
.subsection_title_en {
	font-size: 1.2rem;
	font-weight: 700;
	color: #198050;
	margin-top: 9px;
}
.border_title {
	position: relative;
	color: #198050;
	font-weight: 500;
	border-bottom: 1px solid #198050;
}
.border_title::before {
	position: absolute;
	content: "";
	width: 120px;
	height: 5px;
	left: 0;
	bottom: 0;
	background: #198050;
}

/* product
------------------------------ */
#product .sub_main_view {
	background: url(../images/common/product_main_view.jpg) no-repeat center center / cover;
}
.product_section {
	margin-top: 120px;
}
.product_guide_about {
	margin-top: 80px;
}
.product_guide_about_head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border: 1px solid #198050;
    padding: 47px 108px 50px 80px;
}
.product_guide_about_title {
	font-size: clamp(2.6rem, 2.13vw, 3.2rem);
	font-weight: 500;
	color: #198050;
	margin-right: 20px;
}
.product_guide_about_text {
	line-height: 1.8;
}
.product_guide_about_items {
	margin-top: 76px;
}
.product_guide_about_item {
	display: flex;
	background: #EBF5E4;
}
.product_guide_about_item:nth-of-type(n + 2) {
	margin-top: 30px;
}
.product_guide_about_item_img {
	width: 100%;
	max-width: 400px;
}
.product_guide_about_item_content {
	width: calc(100% - 400px);
	padding: 36px 50px 37px;
}
.product_guide_about_item_title {
	font-size: clamp(2.4rem, 2vw, 3rem);
	letter-spacing: 0.03em;
	font-weight: 500;
	color: #198050;
	border-bottom: 1px solid #198050;
	padding-bottom: 6px;
}
.product_guide_about_item_text {
    line-height: 1.8;
    margin-top: 21px;
}
.product_guide_about_btn {
	width: 100%;
	max-width: 258px;
	margin: 120px auto 0;
}
.product_guide_about_btn .btn {
	width: 100%;
	padding: 20px 25px;
}
.product_guide_materials {
	margin-top: 120px;
}
.product_guide_materials_head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border: 1px solid #198050;
    padding: 50px 43px 52px 80px;
}
.product_guide_materials_title {
	font-size: clamp(2.6rem, 2.13vw, 3.2rem);
	font-weight: 500;
	color: #198050;
    min-width: 290px;
    margin-right: 20px;
}
.product_guide_materials_text {
	line-height: 1.8;
}
.product_guide_materials_items {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 73px;
}
.product_guide_materials_item {
	width: calc(33% - 20px);
}
.product_guide_materials_item:nth-of-type(n + 4) {
	margin-top: 30px;
}
.product_guide_materials_item_title {
	font-size: clamp(2.4rem, 2vw, 3rem);
	font-weight: 500;
	color: #198050;
	background: #EBF5E4;
    padding: 21px 5px 22px 30px;
}
.product_guide_materials_item_title span {
	font-size: clamp(2rem, 1.73vw, 2.6rem);
}
.product_about_inner {
	padding: 0  0 120px;
}
.product_about_wrapper {
	display: flex;
	justify-content: space-between;
	margin-top: 70px;
}
.product_about_frow {
	width: clamp(300px, 35.13vw, 527px);
}
.product_about_plant {
	width: clamp(300px, 42.07vw, 631px);
}
.plant_item:nth-of-type(n + 2) {
	margin-top: clamp(30px, 5.53vw, 84px);
}
.plant_item_title {
	font-size: clamp(1.2rem, 2vw, 3rem);
	padding-bottom: clamp(3px, 1.1vw, 16px);
}
.plant_item_desc_materials {
	margin-top: clamp(10px, 1.85vw, 28px);
}
.plant_item_desc_pulverization {
	margin-top: clamp(10px, 1.67vw, 25px);
}
.plant_item_desc_flake {
	margin-top: clamp(10px, 2.33vw, 35px);
}
.plant_item_desc_combination {
	margin-top: clamp(10px, 2.67vw, 40px);
}
.plant_item_desc_pellet {
	margin-top: clamp(10px, 3vw, 45px);
}
.plant_item_desc_product {
	margin-top: clamp(10px, 3.47vw, 52px);
}
.plant_item_desc_drops {
	margin-top: clamp(10px, 1.87vw, 28px);
}
.plant_item_desc_flexible {
	margin-top: clamp(10px, 3.53vw, 53px);
}
.plant_item_desc_paper {
	margin-top: clamp(10px, 3.33vw, 50px);
}
.plant_item_desc_title {
	font-size: clamp(1.2rem, 1.6vw, 2.4rem);
	font-weight: 500;
	line-height: 1.4;
	color: #198050;
	margin-bottom: clamp(5px, 0.93vw, 14px);
}
.plant_item_desc_text {
	font-size: clamp(1.2rem, 1.07vw, 1.6rem);
	line-height: 1.8;
}
.plant_item_pics {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.plant_item_pics_materials {
	margin-top: clamp(10px, 2.13vw, 32px)
}
.plant_item_pics_pulverization {
	margin-top: clamp(10px, 1.73vw, 26px)
}
.plant_item_pics_flake {
	margin-top: clamp(10px, 1.73vw, 26px)
}
.plant_item_pics_combination {
	margin-top: clamp(10px, 2.07vw, 31px)
}
.plant_item_pics_pellet {
	margin-top: clamp(5px, 0.67vw, 10px)
}
.plant_item_pics_product {
	margin-top: clamp(10px, 1.73vw, 26px)
}
.plant_item_pics_drops {
	margin-top: clamp(10px, 1.4vw, 21px)
}
.plant_item_pics_flexible {
	margin-top: clamp(10px, 1.27vw, 19px)
}
.plant_item_pics_paper {
	margin-top: clamp(10px, 1.4vw, 21px)
}
.plant_item_pic {
	width: clamp(150px, 20vw, 300px);
}
.plant_item_pic:nth-of-type(n + 3) {
	margin-top: clamp(10px, 1.67vw, 25px)
}
.plant_item_pic_title {
	font-size: clamp(1.2rem, 1.07vw, 1.6rem);
	font-weight: 500;
	margin-top: clamp(2px, 0.47vw, 4px);
}
.plant_item_pics_product .plant_item_pic_title {
	font-size: clamp(1.4rem, 1.33vw, 2rem);
}
.plant_btn {
	width: 100%;
	max-width: 258px;
	margin: 79px auto 0;
}
.plant_btn .btn {
	width: 100%;
	padding: 21px 25px;
}

/* effort
------------------------------ */
#effort .sub_main_view {
	background: url(../images/common/effort_main_view.jpg) no-repeat center center / cover;
}
.effort_section {
	margin-top: 120px;
}
.effort_plant_wrapper {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.effort_plant_content {
	width: 100%;
	max-width: 571px;
}
.effort_plant_title {
	font-size: clamp(2.4rem, 2vw, 3rem);
	letter-spacing: 0.03em;
	padding-bottom: 19px;
}
.effort_plant_text {
	line-height: 1.8;
	margin-top: 30px;
}
.effort_plant_btn {
	width: 100%;
	max-width: 258px;
	margin-top: 50px;
	margin-left: auto;
}
.effort_plant_btn .btn {
	width: 100%;
	padding: 21px 25px;
}
.effort_plant_images {
	width: 100%;
	max-width: 570px;
	margin-right: 20px;
}
.effort_plant_image:nth-of-type(2) {
	width: 66.6666%;
	transform: translateX(58%);
    margin-top: -14.5%;
    margin-left: auto;
}
.effort_quality_inner {
	padding: 0 0 120px;
}
.effort_quality_wrapper {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.effort_quality_main {
	width: 100%;
	max-width: 571px;
}
.effort_quality_title {
	font-size: clamp(2.4rem, 2vw, 3rem);
	letter-spacing: 0.03em;
	padding-bottom: 19px;
}
.effort_quality_content {
	margin-top: 26px;
}
.effort_quality_unit:nth-of-type(2) {
	margin-top: 50px;
}
.effort_quality_subtitle {
	font-size: clamp(1.8rem, 1.6vw, 2.4rem);
	letter-spacing: 0.03em;
	font-weight: 600;
	color: #198050;
}
.effort_quality_text {
    line-height: 1.8;
    margin-top: 12px;
}
.effort_quality_main_image {
	width: 100%;
	max-width: 380px;
	margin-top: 46px;
}
.effort_quality_images {
	width: 100%;
	max-width: 570px;
	margin-right: 20px;
}
.effort_quality_image:nth-of-type(n + 2) {
	margin-top: 30px;
}

/* company
------------------------------ */
#company .sub_main_view {
	background: url(../images/common/company_main_view.jpg) no-repeat center center / cover;
}
.company_section {
	margin-top: 120px;
}
.company_message_wrapper {
	display: flex;
	/* justify-content: space-between; */
	justify-content: center;
	gap: 20px;
	/* flex-direction: row-reverse; */
	margin-top: 80px;
}
.company_message_img {
	width: 100%;
	max-width: 542px;
}
.company_message_content {
	width: 100%;
	/* max-width: 550px; */
	max-width: 800px;
}
.company_message_text {
	line-height: 1.8;
}
.company_message_host {
	font-size: 1.8rem;
	font-weight: 700;
	text-align: right;
	margin-top: 31px;
}
.company_message_name {
	font-size: clamp(2.2rem, 1.87vw, 2.8rem);
	font-weight: 700;
	color: #67A762;
	text-align: right;
	margin-top: 5px;
}
.company_menu_lists {
	display: flex;
	justify-content: space-between;
	margin-top: 80px;
}
.company_menu_list {
	width: 100%;
	max-width: 258px;
	margin-right: 10px;
}
.company_menu_list:last-of-type {
	margin-right: 0;
}
.company_menu_list a {
	width: 100%;
	padding: 20px 25px;
}
.company_map_inner {
	padding: 0 0 144px;
}
.company_map_img {
	margin-top: 79px;
}
.company_map_unit {
	display: flex;
	align-items: center;
	margin-top: -17px;
}
.company_map_text {
	position: relative;
	font-weight: 600;
	margin-right: 9px;
}
.company_map_link {
	display: inline-block;
	position: relative;
	font-size: 1.4rem;
	font-weight: 500;
	width: 100%;
	max-width: 154px;
	color: #fff;
	background: #67A762;
	border: 1px solid #67A762;
	padding: 4px 13px;
}
.company_map_link::after {
	position: absolute;
	content: "";
	width: 14px;
	height: 15px;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	background: url(../images/company/company_map_link_white.png) no-repeat center center / contain;
}
@media screen and (min-width: 769px) {
	.company_map_link:hover {
		color: #67A762;
		background: #fff;
	}
	.company_map_link:hover::after {
		background: url(../images/company/company_map_link_green.png) no-repeat center center / contain;
	}
}

/* info
------------------------------ */
#info .sub_main_view {
	background: url(../images/common/info_main_view.jpg) no-repeat center center / cover;
}
.info_section {
	margin-top: 120px;
}
.info_company_figure {
	margin-top: 80px;
}
.info_company_figure dl {
	display: flex;
	margin-top: 3px;
}
.info_company_figure dl:first-of-type {
	margin-top: 0;
}
.info_company_figure dt {
	min-width: 366px;
	background: rgba(172, 218, 143,.55);
    padding: 23px 31px 19px;
}
.info_company_figure dd {
	width: calc(100% - 366px);
	background: #EBF5E4;
    padding: 22px 32px 21px;
}
.info_company_figure_btn {
	margin-top: 27px;
}
.info_company_figure_btn .btn {
	width: 100%;
	max-width: 258px;
	padding: 20px 25px;
}
.info_company_figure_links {
	display: flex;
}
.info_company_figure_link {
	margin-right: 35px;
}
.info_company_figure_link:last-of-type {
	margin-right: 0;
}
.info_company_figure_link a {
	position: relative;
	font-weight: 600;
	color: #198050;
}
.info_company_figure_link a::after {
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	left: 0;
	bottom: 0;
	background: #198050;
	transform: scale(1,1);
	transform-origin: left;
	transition: .3s;
}
.info_company_figure_qualification {
	display: flex;
}
.info_company_figure_lists:first-of-type {
	margin-right: 133px;
}
.info_company_figure_list {
	line-height: 1.45;
}
.info_chart_img {
	margin-top: 77px;
}
.info_affiliated_inner {
	padding: 0 0 120px;
}
.info_affiliated_lists {
	display: flex;
	justify-content: center;
	margin-top: 78px;
}
.info_affiliated_list {
	width: 100%;
	max-width: 336px;
	margin-right: 94px;
}
.info_affiliated_list:last-of-type {
	margin-right: 0;
}
@media screen and (min-width: 769px) {
	.info_company_figure_link a:hover::after {
		transform: scale(0,1);
	}
}

/* news
------------------------------ */
#news .sub_main_view {
	background: url(../images/common/news_main_view.jpg) no-repeat center center / cover;
}
.news_archive {
	margin-top: 120px;
}
.news_archive_inner {
	padding: 0 0 130px;
}
.news_archive_wrapper {
	display: flex;
	justify-content: space-between;
}
.news_archive_group {
	width: 100%;
	max-width: 850px;
	margin-right: 20px;
}
.news_archive_item {
	background: #EBF5E4;
	padding: 32px 35px 31px;
	margin-top: 42px;
}
.news_archive_item:first-of-type {
	margin-top: 0;
}
.news_archive_item_head {

}
.news_archive_item_unit {
	display: flex;
}
.news_archive_item_date {
	font-size: 1.4rem;
	color: #198050;
	margin-right: 24px;
}
.news_archive_item_cat {
	font-size: 1.4rem;
	color: #fff;
	background: #67A762;
    padding: 1px 27px;
}
.news_archive_item_title {
	font-size: clamp(1.8rem, 1.47vw, 2.2rem);
	font-weight: 600;
	color: #198050;
	border-bottom: 1px solid #198050;
	padding-bottom: 5px;
	margin-top: 17px;
}
.news_archive_item_wrapper {
	display: flex;
	justify-content: space-between;
	margin-top: 27px;
}
.news_archive_item_img {
	width: 100%;
	max-width: 230px;
	margin-top: 10px;
	margin-right: 20px;
}
.news_archive_item_content {
	width: 100%;
	max-width: 511px;
}
.news_archive_item_text {
	line-height: 1.8;
}
.news_archive_item_btn {
	width: 100%;
	max-width: 210px;
	margin-left: auto;
	margin-top: 45px;
}
.news_archive_item_btn .btn {
	width: 100%;
	padding: 12px 23px;
}

/* news - sidebar
------------------------------ */
.news_archive_side {
	width: 100%;
	max-width: 300px;
	margin-top: -5px;
}
.news_archive_side_title {
	font-size: clamp(2rem, 1.6vw, 2.4rem);
	font-weight: 600;
	color: #198050;
}
.news_archive_side_lists {
	border-top: 7px solid #198050;
	margin-top: 10px;
}
.news_archive_side_list {
	border-bottom: 1px solid #198050;
}
.news_archive_side_list a {
	display: block;
	font-size: 1.8rem;
	font-weight: 500;
	color: #198050;
	padding: 20px 41px 20px;
}
@media screen and (min-width: 769px) {
	.news_archive_side_list a:hover {
		background: #EBF5E4;
	}
}

/* news - pagenavi
------------------------------ */
.pagenavi{
	position: relative;
	display: flex;
	justify-content: center;
	font-weight: 700;
    margin: 50px 0 0;
}
.pagenavi span,.pagenavi a{
	display: block;
	position: relative;
    color: #198050;
    width: 30px;
    height: 30px;
    line-height: 1.8;
    text-align: center;
    border: none;
    margin: 0 4.5px;
}
.pagenavi span{
    color: #fff;
    background: #198050;
    font-weight: 400;
}
.pagenavi a{
    color: #198050;
}
.pagenavi .next,.pagenavi .prev{
	font-size: 0;
}
.pagenavi .prev:before,
.pagenavi .next::after {
    position: absolute;
    content: "";
    width: 20px;
    height: 5px;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
.pagenavi .prev:before {
	background: url(../images/common/prev_arrow_green.png) no-repeat center center / contain;
}
.pagenavi .next::after {
	background: url(../images/common/next_arrow_green.png) no-repeat center center / contain;
}
@media screen and (min-width: 769px) {
	.pagenavi a:hover{
		color: #fff;
		background: #198050;
	}
	.pagenavi .prev:hover:before {
		background: url(../images/common/prev_arrow_white.png) no-repeat center center / contain;
	}
	.pagenavi .next:hover::after {
		background: url(../images/common/next_arrow_white.png) no-repeat center center / contain;
	}
}
.wp-pagenavi {
	display: flex;
	justify-content: center;
	font-weight: 700;
	margin-top: 50px;
}
.wp-pagenavi .pages {
	display: none;
}
.wp-pagenavi a, 
.wp-pagenavi span {
	display: block;
	color: #198050;
	width: 30px;
	height: 30px;
	line-height: 1.4;
    text-align: center;
	border: none;
	margin: 0 4.5px;
}
.wp-pagenavi span.current {
	color: #fff;
	background: #198050;
}
.nextpostslink,
.previouspostslink {
	position: relative;
	font-size: 0;
}
.nextpostslink::before,
.previouspostslink::before {
	position: absolute;
	content: "";
	width: 20px;
	height: 5px;
	left: 50%;
	top: 50%;
    transform: translate(-50%, -50%);
}
.nextpostslink::before {
	background: url(../images/common/next_arrow_green.png) no-repeat center center / contain;
}
.previouspostslink:before {
	background: url(../images/common/prev_arrow_green.png) no-repeat center center / contain;
}
@media screen and (min-width: 769px) {
	.wp-pagenavi a:hover {
		color: #fff;
		background: #198050;
	}
	.nextpostslink:hover:before {
		background: url(../images/common/next_arrow_white.png) no-repeat center center / contain;
	}
	.previouspostslink:hover:before {
		background: url(../images/common/prev_arrow_white.png) no-repeat center center / contain;
	}
}

/* news - single
------------------------------ */
.news_single {
	margin-top: 120px;
}
.news_single_inner {
	padding: 0 0 130px;
}
.news_single_wrapper {
	display: flex;
	justify-content: space-between;
}
.news_single_main {
	width: 100%;
	max-width: 850px;
	margin-right: 20px;
}
.news_article {
	background: #EBF5E4;
	padding: 33px 35px 38px;
}
.news_article_unit {
	display: flex;
}
.news_article_date {
	font-size: 1.4rem;
	color: #198050;
	margin-right: 23px;
}
.news_article_cat {
    font-size: 1.4rem;
    color: #fff;
    background: #67A762;
    padding: 1px 28px;
}
.news_article_title {
	font-size: clamp(1.8rem, 1.47vw, 2.2rem);
	font-weight: 600;
	color: #198050;
	border-bottom: 1px solid #198050;
	padding-bottom: 5px;
	margin-top: 17px;
}
.news_article_img {
	width: 100%;
	max-width: 377px;
	margin-top: 30px;
}
.news_article_content {
	line-height: 1.8;
    margin-top: 30px;
}
.news_article_buttons {
	display: flex;
	justify-content: space-between;
	margin-top: 55px;
}
.news_article_button_previous {
	width: 100%;
	max-width: 232px;
	text-align: right;
	order: 1;
}
.news_article_button_previous a::before {
	position: absolute;
	content: "";
	width: 24px;
	height: 6px;
	left: 23px;
	top: 50%;
	transform: translateY(-50%);
	background: url(../images/common/prev_arrow_white.png) no-repeat center center / contain;
}
.news_article_button_all {
	width: 100%;
	max-width: 258px;
	text-align: center;
	order: 2;
}
.news_article_button_next {
	width: 100%;
	max-width: 232px;
	order: 3;
}
.news_article_button_next a::before {
	position: absolute;
	content: "";
	width: 24px;
	height: 6px;
	right: 23px;
	top: 50%;
	transform: translateY(-50%);
	background: url(../images/common/next_arrow_white.png) no-repeat center center / contain;
}
.news_article_button a {
	position: relative;
	display: inline-block;
	font-weight: 500;
	width: 100%;
	color: #fff;
	background: #67A762;
	border: 1px solid #67A762;
	padding: 18px 20px 18px;
}

@media screen and (min-width: 769px) {
	.news_article_button a:hover {
		color: #67A762;
		background: #fff;
	}
	.news_article_button_previous a:hover::before {
		background: url(../images/common/prev_arrow_green.png) no-repeat center center / contain;
	}
	.news_article_button_next a:hover::before {
		background: url(../images/common/next_arrow_green.png) no-repeat center center / contain;
	}
}

/* recruit
------------------------------ */
.recruit_main_view_img {
	max-width: 2000px;
	margin: auto;
}
.recruit_main_view_head {
	margin-top: -88px;
	padding: 0 25px;
}
.recruit_main_view_title {
	position: relative;
	font-size: clamp(3.8rem, 3.33vw, 5rem);
	letter-spacing: 0.1em;
	color: #fff;
	text-align: center;
	width: 100%;
	max-width: 948px;
    padding: 30px 10px 37px;
	margin: auto;
	overflow: hidden;
	z-index: 1;
}
.recruit_main_view_title:after {
	position: absolute;
	content: '';
	top:0;
	left: 0;
	background: linear-gradient(90deg, #67A762  0 , #ACDA8F 100%);
	width: 100%;
	height: 100%;
	z-index: -1;
	transform: translateX(-100%);
	animation-name: recruit_main_view_title_bg;
	animation-duration:.5s;
	animation-fill-mode: forwards;
	transform: translateX(-100%);
}
@keyframes recruit_main_view_title_bg {
	0% {
	transform: translate(-100%,0)
	}
	100% {
	transform: translate(0,0)
	}
}
.recruit_main_view_title span {
	animation-name: recruit_main_view_title_text;
	animation-duration: 1s;
	animation-delay: 0.6s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes recruit_main_view_title_text {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.recruit_section {
	margin-top: 120px;
}
.recruit_job_stoppage {
	text-align: center;
	margin-top: 100px;
	padding-bottom: 100px;
}
.recruit_about_items {
	margin-top: 80px;
}
.recruit_about_item {
	display: flex;
	align-items: center;
}
.recruit_about_item:nth-of-type(even) {
	flex-direction: row-reverse;
}
.recruit_about_item:nth-of-type(n + 2) {
	margin-top: 80px;
}
.recruit_about_item_img {
	width: 100%;
	max-width: 601px;
}
.recruit_about_item_content {
	width: 100%;
	max-width: 550px;
}
.recruit_about_item:nth-of-type(odd) .recruit_about_item_content {
	margin-left: 50px;
}
.recruit_about_item:nth-of-type(even) .recruit_about_item_content {
	margin-right: 50px;
}
.recruit_about_item_title {
	font-size: clamp(2.6rem, 2.13vw, 3.2rem);
	font-weight: 500;
	line-height: 1.4;
	color: #198050;
}
.recruit_about_item_text {
    line-height: 1.8;
	margin-top: 30px;
}
.recruit_message_wrapper {
	display: flex;
	margin-top: 80px;
}
.recruit_message_img {
	width: 100%;
	max-width: 601px;
	margin-right: 50px;
}
.recruit_message_content {
	width: 100%;
	max-width: 550px;
}
.recruit_message_text {
	line-height: 1.8;
}
.recruit_message_logo {
	font-size: clamp(2.2rem, 1.87vw, 2.8rem);
	font-weight: 700;
    margin-top: 35px;
	text-align: right;
}
.recruit_voice_items {
	display: flex;
	justify-content: space-between;
	margin-top: 77px;
}
.recruit_voice_item {
	width: calc(25% - 24px);
	background: #EBF5E4;
	display: flex;
	flex-direction: column;
}
.recruit_voice_item_title {
	color: #198050;
	font-weight: 500;
	border-bottom: 1px solid #198050;
    padding: 12px 0 10px;
    width: calc(100% - 30px);
    margin: 0 auto;
}
.recruit_voice_item_text {
    line-height: 1.4;
    padding: 10px 15px 20px;
}
.recruit_voice_item_btn {
	width: 100%;
	max-width: 210px;
	margin: auto auto 0;
    padding: 0 0 28px;
}
.recruit_voice_item_btn .btn {
	width: 100%;
	padding: 14px 22px;
}
.recruit_voice_btn {
	width: 100%;
	max-width: 258px;
	margin: 70px auto 0;
}
.recruit_voice_btn .btn {
	width: 100%;
	padding: 20px 24px;
}
.recruit_number_items {
	display: grid;
	grid-template-columns:1fr 1fr;
	gap: 6px 6px;
	grid-template-areas:
		"recruit_number_item_01 recruit_number_item_01"
		"recruit_number_item_02 recruit_number_item_03"
		"recruit_number_item_04 recruit_number_item_05"
		"recruit_number_item_06 recruit_number_item_07"
		"recruit_number_item_08 recruit_number_item_09"
		"recruit_number_item_10 recruit_number_item_09";	
	margin-top: 80px;
}
.recruit_number_item {
	display: flex;
	justify-content: space-between;
	background: #EBF5E4;
}
.recruit_number_item_01 {
	grid-area: recruit_number_item_01;
}
.recruit_number_item_02 {
	grid-area: recruit_number_item_02;
}
.recruit_number_item_03 {
	grid-area: recruit_number_item_03;
}
.recruit_number_item_04 {
	grid-area: recruit_number_item_04;
}
.recruit_number_item_05 {
	grid-area: recruit_number_item_05;
}
.recruit_number_item_06 {
	grid-area: recruit_number_item_06;
}
.recruit_number_item_07 {
	grid-area: recruit_number_item_07;
}
.recruit_number_item_08 {
	grid-area: recruit_number_item_08;
}
.recruit_number_item_09 {
	grid-area: recruit_number_item_09;
}
.recruit_number_item_10 {
	grid-area: recruit_number_item_10;
}
.recruit_number_item_production {
	padding: 20px 35px;
}
.recruit_number_item_normal {
	padding: 27px 35px;
}
.recruit_number_item_ratio {
	padding: 35px 35px;
}
.recruit_number_item_production .recruit_number_item_title {
	font-size: clamp(3.2rem, 2.67vw, 4rem);
	font-weight: 600;
	min-width: 160px;
}
.recruit_number_item_normal .recruit_number_item_title {
	font-size: clamp(1.7rem, 1.33vw, 2rem);
	font-weight: 600;
	min-width: 140px;
}
.recruit_number_item_ratio .recruit_number_item_title {
	font-size: clamp(1.7rem, 1.33vw, 2rem);
	font-weight: 600;
	min-width: 60px;
}
.recruit_number_item_digit {
	text-align: right;
	white-space: nowrap;
}
.recruit_number_item_num {
	font-size: clamp(4rem, 5.33vw, 8rem);
	font-weight: 700;
	line-height: 1;
	color: #67A762;
	margin-right: 10px;
	margin-left: 10px;
}
.recruit_number_item_credit {
	font-size: clamp(2.6rem, 2.13vw, 3.2rem);
	font-weight: 600;
}
.recruit_number_item_production_body {
	display: flex;
	align-items: center;
}
.recruit_number_item_production_img {
	width: 100%;
	max-width: 336px;
	margin-right: 41px;
}
.recruit_number_item_worker {
	display: flex;
	align-items: center;
}
.recruit_number_item_worker_img {
	width: 100%;
	max-width: 75px;
	margin-right: 39px;
}
.recruit_number_item_ratio_body {
	display: flex;
	align-items: center;
}
.recruit_number_item_ratio_img {
	width: 100%;
	max-width: 159px;
	margin-right: 28px;
}
.recruit_number_item_middle {
	display: flex;
	align-items: center;
}
.recruit_number_item_middle_img {
	width: 100%;
	max-width: 61px;
	margin-right: 28px;
}
.recruit_number_item_age {
	text-align: right;
}
.recruit_number_item_building_text {
	font-weight: 600;
	color: #67A762;
	vertical-align: top;
}
.recruit_number_item_ratio_text {
	text-align: right;
	margin-top: 10px;
}
.recruit_number_item_ratio_content div + div {
	margin-top: 20px;
}
.recruit_job_production {
	margin-top: 80px;
}
.recruit_job_operation {
	margin-top: 115px;
}
.recruit_job_manufacture {
	margin-top: 120px;
}
.recruit_job_subtitle {
	font-size: clamp(2.4rem, 2vw, 3rem);
	letter-spacing: 0.03em;
    padding-bottom: 9px;
}
.recruit_job_non_content {
	text-align: center;
	margin-top: 30px;
}
.recruit_job_content {
	margin-top: 47px;
}
.recruit_job_content dl {
	display: flex;
}
.recruit_job_content dl + dl {
	margin-top: 3px;
}
.recruit_job_content dt {
	background: rgb(172, 218, 143,.55);
	width: 100%;
	max-width: 366px;
    padding: 21px 35px 23px;
}
.recruit_job_content dd {
	background: #EBF5E4;
	width: calc(100% - 366px);
    line-height: 1.45;
    padding: 21px 36px;
}
.recruit_job_btn {
	width: 100%;
	max-width: 420px;
	margin: 63px auto 0;
}
.recruit_job_btn .btn {
	font-size: 1.4rem;
	width: 100%;
	padding: 20px 33px;
}
.recruit_form_inner {
	padding: 0 0 126px;
}
.recruit_form_text {
	margin-top: 74px;
}
.recruit_form_text span {
	color: #198050;
}
.recruit_form_main {
	margin-top: 35px;
}
.recruit_form_row {
	display: flex;
	border-top: 1px solid #198050;
}
.recruit_form_row:last-of-type {
	border-bottom: 1px solid #198050;
}
.recruit_form_title {
	min-width: 366px;
	padding: 20px 20px 21px;
}
.recruit_form_title span {
	color: #198050;
}
.recruit_form_input {
	width: calc(100% - 366px);
	padding: 10px 0;
}
.recruit_form_input input[type=text],
.recruit_form_input input[type=tel],
.recruit_form_input input[type=email] {
	width: 100%;
	max-width: 415px;
	background: #EBF5E4;
	padding: 10px 15px;
}
.recruit_form_input textarea {
	width: 100% !important;
	height: 209px !important;
	background: #EBF5E4;
	padding: 10px 15px;
}
.recruit_form_radio_buttons {
	display: flex;
	align-items: center;
    min-height: 50px;
}
.recruit_form_radio_button {
	margin-right: 50px;
}
.recruit_form_radio_button:last-of-type {
	margin-right: 0;
}
.recruit_form_select {
	position: relative;
	width: 100%;
	max-width: 252px;
}
.recruit_form_select::after {
	position: absolute;
	content: "";
	width: 18px;
	height: 9px;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	background: url(../images/recruit/recruit_form_select_arrow.png) no-repeat center center / contain;
}
.recruit_form_select select {
	width: 100%;
	color: #198050;
	background: #EBF5E4;
	padding: 13px 16px;
}
.recruit_form_message {
	margin-top: 46px;
}
.recruit_form_message span {
	font-weight: 500;
}
.recruit_form_privacy {
    height: 200px;
    overflow-y: scroll;
	background: #EBF5E4;
	padding: 24px 28px;
    margin-top: 18px;
}
.recruit_form_privacy_title {
	font-size: 2rem;
	font-weight: 700;
	color: #198050;
}
.recruit_form_check_text {
	font-weight: 500;
	text-align: center;
	margin-top: 71px;
}
.recruit_form_checkbox.none {
    display: none;
}
.recruit_form_checkbox {
	text-align: center;
    margin-top: 17px;
}
.checkbox_parts {
	position:relative;
    padding-left: 43px;
}
.checkbox_parts::before {
    content: "";
    display: block;
    position: absolute;
    top: -4px;
    left: -4px;
    width: 32px;
    height: 32px;
    background: #EBF5E4;
    border: none;
    border-radius: 1px;
}
.checkbox_input {
	display: none;
}
.checkbox_input:checked + .checkbox_parts::after {
    content: "";
    display: block;
    position: absolute;
    top: 1px;
    left: 5px;
    width: 12px;
    height: 20px;
    transform: rotate(40deg);
    border-bottom: 3px solid #198050;
    border-right: 3px solid #198050;
}
.checkbox_err .mfp_err {
	width: 228px;
	max-width: 100%;
	margin: auto;
	padding: 5px 0;
}
.recruit_form_btn {
	width: 100%;
	max-width: 258px;
	margin: 70px auto 0;
}
.recruit_form_btn button {
	font-size: 1.4rem;
	width: 100%;
	padding: 20px 25px;
}

/* recruit_thanks
------------------------------ */
#recruit_thanks .sub_main_view {
	background: url(../images/common/contact_main_view.jpg) no-repeat center center / cover;
}
.recruit_thanks {
	margin-top: 50px;
}
.recruit_thanks_inner {
	padding: 0 0 100px;
}
.recruit_thanks_text {
	margin-top: 30px;
}
.recruit_thanks_btn {
	margin-top: 30px;
}
.recruit_thanks_btn .btn {
	width: 100%;
	max-width: 210px;
	padding: 12px 23px;
}

/* voices
------------------------------ */
#voices .sub_main_view {
	background: url(../images/common/voices_main_view.jpg) no-repeat center center / cover;
}
.voices_section {
	margin-top: 120px;
}
.voices_wrapper {
	display: flex;
	justify-content: space-between;
}
.voices_main {
	width: 100%;
	max-width: 570px;
	margin-right: 20px;
}
.voices_main_head {
	background: #EBF5E4;
	padding: 23px 30px 26px;
}
.voices_main_head_title {
	font-size: clamp(2rem, 1.6vw, 2.4rem);
	font-weight: 600;
	color: #198050;
}
.voices_main_head_message {
	font-size: clamp(1.8rem, 1.47vw, 2.2rem);
	font-weight: 500;
	margin-top: 6px;
}
.voices_main_unit {
	margin-top: 47px;
}
.voices_main_unit_title {
	font-size: clamp(2rem, 1.6vw, 2.4rem);
	padding-bottom: 18px;
}
.voices_main_unit_text {
	line-height: 1.8;
    margin-top: 25px;
}
.voices_flow {
	width: 100%;
	max-width: 570px;
	background: #EBF5E4;
	padding: 24px 30px 38px;
}
.voices_flow_title {
	font-size: clamp(2rem, 1.6vw, 2.4rem);
	font-weight: 600;
	color: #198050;
	border-bottom: 7px solid #198050;
	padding-bottom: 12px;
}
.voices_flow_figure {
	margin-top: 30px;
}
.voices_flow_figure dl {
	position: relative;
	display: flex;
	align-items: flex-start;
	background: #fff;
	padding: 21px 15px;
	margin-top: 29px;
}
.voices_flow_figure dl:first-of-type {
	margin-top: 0;
}
.voices_flow_figure dl::after {
	position: absolute;
	content: "";
	width: 1px;
	height: 25px;
	left: 49%;
	transform: translateX(-50%);
	bottom: -25px;
	background: #198050;
}
.voices_flow_figure dl:last-of-type:after {
	display: none;
}
.voices_flow_figure dt {
	position: relative;
	color: #198050;
	min-width: 184px;
	padding-left: 52px;
}
.voices_flow_figure dt::before {
	position: absolute;
	content: "";
	width: 31px;
	height: 31px;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	background: url(../images/voices/voices_time.png) no-repeat center center / contain;
}
.voices_flow_figure  dd {
	width: calc(100% - 170px);
}
.voices_pics {
	display: flex;
	justify-content: space-between;
	margin-top: 60px;
}
.voices_pic {
	width: calc(50% - 30px);
}
.voices_btn {
	width: 100%;
	max-width: 420px;
	margin: 60px auto 0;
}
.voices_btn .btn {
	width: 100%;
	padding: 20px 33px;
}
.voices_faq_inner {
	padding: 0 0 120px;
}
.voices_faq_items {
	margin-top: 80px;
}
.voices_faq_item {
	margin-top: 56px;
}
.voices_faq_item:first-of-type {
	margin-top: 0;
}
.voices_faq_item_q {
	position: relative;
	font-size: clamp(2rem, 1.6vw, 2.4rem);
	letter-spacing: 0.03em;
    padding-bottom: 13px;
    padding-left: 40px;
}
.voices_faq_item_q_icon {
	position: absolute;
	content: "";
	font-size: clamp(2.4rem, 2vw, 3rem);
	left: 0;
	top: -10px;
}
.voices_faq_item_a {
	line-height: 1.8;
	margin-top: 25px;
}

/* contact
------------------------------ */
#contact .sub_main_view {
	background: url(../images/common/contact_main_view.jpg) no-repeat center center / cover;
}
.contact_tel {
	margin-top: 120px;
}
.contact_tel_message {
	text-align: center;
}
.contact_tel_title {
	margin-top: 103px;
}
.contact_tel_unit {
	width: 100%;
	max-width: 704px;
	background: #EBF5E4;
	text-align: center;
	padding: 27px 46px 38px;
	margin: 78px auto 0;
}
.contact_tel_link a {
	font-size: clamp(2.8rem, 2.4vw, 3.6rem);
	font-weight: 500;
	color: #198050;
}
.contact_tel_link {
	border-bottom: 1px solid #67A762;
	padding-bottom: 9px;
}
.contact_tel_time {
    margin-top: 16px;
}
.contact_mail {
	margin-top: 130px;
}
.contact_mail_inner {
	padding: 0 0 130px;
}
.contact_mail_text {
	margin-top: 78px;
}
.contact_mail_text span {
	color: #198050;
}
.contact_mail_form {
	margin-top: 31px;
}
.contact_form_row {
	display: flex;
	border-top: 1px solid #198050;
}
.contact_form_row:last-of-type {
	border-bottom: 1px solid #198050;
}
.contact_form_title {
	min-width: 366px;
	padding: 21px 20px;
}
.contact_form_title span {
	color: #198050;
}
.contact_form_input {
	width: calc(100% - 366px);
	padding: 10px 0;
}
.contact_form_input input[type=text],
.contact_form_input input[type=tel],
.contact_form_input input[type=email] {
	width: 100%;
	max-width: 415px;
	background: #EBF5E4;
	padding: 10px 15px;
}
.contact_form_input textarea {
	width: 100% !important;
	height: 209px !important;
	background: #EBF5E4;
	padding: 10px 15px;
}
.contact_form_radio_buttons {
	display: flex;
	align-items: center;
    min-height: 50px;
}
.contact_form_radio_button {
	margin-right: 60px;
}
.contact_form_radio_button:last-of-type {
	margin-right: 0;
}
.contact_form_message {
	line-height: 1.5;
    margin-top: 50px;
}
.contact_form_message span {
	font-weight: 500;
}
.contact_form_privacy {
    height: 200px;
    overflow-y: scroll;
	background: #EBF5E4;
    padding: 25px 30px;
    margin-top: 20px;
}
.contact_form_privacy_title {
	font-size: 2rem;
	font-weight: 700;
	color: #198050;
}
.contact_form_check_text {
	font-weight: 500;
	text-align: center;
	margin-top: 71px;
}
.contact_form_checkbox.none {
    display: none;
}
.contact_form_checkbox {
	text-align: center;
	margin-top: 18px;
}
.contact_form_btn {
	width: 100%;
	max-width: 258px;
	margin: 68px auto 0;
}
.contact_form_btn button {
	font-size: 1.4rem;
	width: 100%;
	padding: 20px 25px;
}

/* contact_thanks
------------------------------ */
#contact_thanks .sub_main_view {
	background: url(../images/common/contact_main_view.jpg) no-repeat center center / cover;
}
.contact_thanks {
	margin-top: 50px;
}
.contact_thanks_inner {
	padding: 0 0 100px;
}
.contact_thanks_text {
	margin-top: 30px;
}
.contact_thanks_btn {
	margin-top: 30px;
}
.contact_thanks_btn .btn {
	width: 100%;
	max-width: 210px;
	padding: 12px 23px;
}

/* 404
------------------------------ */
#yonmaruyon .sub_main_view {
	background: url(../images/common/product_main_view.jpg) no-repeat center center / cover;
}
#yonmaruyon_main {
	margin-top: 120px;
}
.yonmaruyon_btn {
    margin-top: 30px;
}
.yonmaruyon_btn .btn {
    width: 100%;
	max-width: 258px;
    padding: 20px 25px;
}
.yonmaruyon_inner {
	padding-bottom: 100px;
}

/* footer
------------------------------ */
.footer_inner {
	background: linear-gradient(90deg, rgba(255,255,255,.85) 0% calc(50% - 136px), #67A762  calc(50% - 136px) , #ACDA8F 100%);
	padding: 130px 0 0;
}
.footer_wrapper {
	display: flex;
	align-items: flex-start;
}
.footer_bnr {
	width: calc(50% + 125px);
	background: #67A762;
	padding-left: 25px;
	/* margin-right: 11.5%; */
	margin-right: 4.5%;
}
.footer_bnr_link {
	position: relative;
	display: block;
	width: 100%;
	max-width: 725px;
	margin-left: auto;
	overflow: hidden;
}
.footer_bnr_link::before{
	content:"";
	position: absolute;
	z-index: 2;
	left:0;
	right: 0;
	top:0;
	bottom: 0;
	opacity:0;
	transition: .3s ease-in-out;
	background:rgba(0, 0, 0,.15);
}
@keyframes shiny {
    0% {
        transform: scale(0) rotate(25deg);
        opacity: 0;
    }

    50% {
        transform: scale(1) rotate(25deg);
        opacity: 1;
    }

    100% {
        transform: scale(50) rotate(25deg);
        opacity: 0;
    }
}
.footer_bnr_link::after {
    content: '';
    position: absolute;
    top: -100px;
    left: -100px;
    width: 50px;
    height: 50px;
    background-image: linear-gradient(100deg,  rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 1) 100%, rgba(255, 255, 255, 0) 0%);
    animation-name: shiny;
    animation-duration: 3s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}
.footer_nav {
	width: calc(50% - 297px);
	display: flex;
	padding-right: 25px;
	margin-top: -4px;
}
.footer_lists:first-of-type {
    /* margin-right: 18%; */
	margin-right: 8%; 
}
.footer_list a {
	display: inline-block;
	font-size: 1.4rem;
	color: #fff;
	white-space: nowrap;
}
.footer_list a::after {
	content: "";
	display: block;
	width: 0;
	transition: width 0.3s;
	border-bottom: 1px solid #fff;
	margin: auto;
}
.footer_list_main a {
    font-weight: 700;
}
.footer_list_sub a {
    font-weight: 500;
	margin-left: 25px;
}
.footer_foot {
    padding: 71px 0 68px;
}
.footer_logo {
	width: 100%;
	max-width: 293px;
}
.footer_info {
    font-size: 1.4rem;
	margin-top: 13px;
}
.footer_tel {
	margin-top: 5px;
}
.copyright {
	color: #fff;
	background: #67A762;
    padding: 39px 0 46px;
}
.copyright .text_link::after {
    border-bottom: 1px solid #fff;
}
.copyright small {
	font-size: 1rem;
	letter-spacing: 0.03em;
}

@media screen and (min-width: 769px) {
	.footer_bnr_link:hover::before{
		opacity:1;
	}
	.footer_list a:hover::after {
		width: 100%;
	}
}

/* Page Top
------------------------------ */
.pagetop{
	position: fixed;
	bottom: 40px;
	right: 50px;
	width: 54px;
	height: 54px;
	transition: all .4s;
	opacity: 0;
	z-index: 10;
	box-sizing: border-box;
	border: 1px solid #fff;
	background: #67A762;
}
.pagetop.show{
	opacity: 1;
	text-indent: -9999px;
}
.pagetop:hover{
	color: #67A762;
	background: #fff;
	border: 1px solid #67A762;
}
.pagetop::before{
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	border-top: #fff solid 1px;
	border-left: #fff solid 1px;
	transform: rotate(45deg);
	left: 0;
	right: 0;
	margin: 0 auto;
	top: 26px;
	transition: .25s;
}
.pagetop:hover::before{
	border-top-color: #67A762;
	border-left-color: #67A762;
}
