@charset "UTF-8";




/* CSS STYLE */

html {
	font-size: 2.666666vw;
}

body {
	padding-top: 6rem;
	min-width: 320px;
	font-size: 1.4rem;
	line-height: 1.8;
}

.link-line-v a {
	position: relative;
	text-decoration: none !important;
}

.link-line-v a:after {
	content: "";
	position: absolute;
	bottom: -0.3rem;
	left: 0;
	background-color: #1009af;
	width: 100%;
	height: 1px;
}

img {
	max-width: 100%;
	height: auto;
}

hr {
	border-top: 1px solid #eee;
	width: 100%;
	margin: 3rem 0;
}

.spnone {
	display: none !important;
}

.nolink {
	pointer-events: none;
	color: #999 !important;
}

.nolink.view,
.nolink .view {
	opacity: 0.4;
}

.anker-point {
	height: 7rem;
	margin-top: -7rem;
}

.anker-point2 {
	top: -7rem;
}










/* PARTS */

#contents {
	position: relative;
	width: 100%;
	padding: 0 0 10rem 0;
	overflow: hidden;
}

#contents.single .inner h2 {
	position: relative;
	margin: 6rem 0 3rem 0;
	padding-left: 6.5rem;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.2;
	color: #000;
	display: inline-block;
	width: 100%
}

#contents.single .inner h2:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	background-color: #4ca535;
	width: 5rem;
	height: 1px;
}

#contents.single .inner h3,
#contents.single .inner-mid h3 {
	margin: 4rem 0 2rem 0;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5;
	color: #4ca535;
}

#contents.single .inner .box .text h3,
#contents.single .inner-mid .text h3 {
	margin: 0 0 2rem 0;
}

#contents.single .inner h2+h3 {
	margin-top: 0;
}

#contents.single .inner h4,
#contents.single .inner-mid h4 {
	margin: 3rem 0 1.5rem 0;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5;
	color: #000;
}

#contents.single .inner .box .text h4,
#contents.single .inner-mid .text h4 {
	margin: 0 0 1.5rem 0;
}

#contents.single .inner h5,
#contents.single .inner-mid h5 {
	margin: 3rem 0 1.5rem 0;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5;
	color: #4ca535;
}

#contents.single .inner .box .text h5,
#contents.single .inner-mid .text h5 {
	margin: 0 0 1.5rem 0;
}

#contents .inner h5,
#contents .inner-mid h5 {
	margin: 3rem 0 0 0;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5;
	color: #000;
}

#contents .inner h5,
#contents .inner-mid h5 {
	margin: 3rem 0 0 0;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5;
	color: #4ca535;
}

#breadcrumb {
	position: relative;
	display: flex;
	background: #f8f8f8;
	width: 100%;
	padding: 1.6rem 2rem;
	font-size: 1.2rem;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1;
	white-space: nowrap;
	color: #888;
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
	z-index: 2;
}

#breadcrumb li {
	position: relative;
	padding-right: 1rem;
}

#breadcrumb li:after {
	content: "\a0-\a0";
	position: absolute;
	top: 0;
	right: 0;
}

#breadcrumb li:last-child {
	padding-right: 2rem;
}

#breadcrumb li:last-child:after {
	display: none;
}

#breadcrumb a {
	color: #888;
}

#title-area {
	position: relative;
	width: 100%;
}

#title-area .inner {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 18rem;
	padding-top: 5rem;
	padding-bottom: 5rem;
	z-index: 2;
}

#title-area h1 {
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.1em;
	color: #000;
}

#title-area h1 span {
	position: relative;
	display: table;
	margin-bottom: 2rem;
	padding: 0 1.5rem 0 0;
	font-family: Lato, sans-serif;
	font-size: 1.4rem;
	letter-spacing: 0.2em;
	color: #4ca535;
}

#title-area h1 span:before {
	content: "";
	position: absolute;
	top: 48%;
	right: -5rem;
	display: block;
	background-color: #ccc;
	width: 5rem;
	height: 1px;
}

#title-area.native {
	background-color: #666;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	margin-bottom: 8rem;
	color: #fff;
}

#title-area.native:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../img/main-mesh.png) center center;
	width: 100%;
	height: 100%;
	z-index: 1;
}

#title-area.native #breadcrumb {
	background-color: transparent;
	color: #fff;
}

#title-area.native #breadcrumb a {
	color: #fff;
}

#title-area.native .inner {
	height: 33rem;
	padding: 0 2rem 4rem 2rem;
}

#title-area.native h1 {
	color: #fff;
}

#title-area.native h1 span {
	color: #fff;
}

#title-area.native h1 span:before {
	background-color: #fff;
}

.first-readarea {
	background-color: #eef8ee;
	margin-bottom: 8rem;
	padding: 5.5rem 0 6rem 0;
	font-size: 1.6rem;
	line-height: 1.8;
}

.first-readarea a {
	text-decoration: underline;
}

#title-area.native+.first-readarea {
	margin-top: -8rem;
}

.first-readarea h2 {
	margin-bottom: 3rem;
	font-size: 2.4rem;
	line-height: 1.5;
	text-align: center;
	color: #4ca535;
}

.first-readarea p {
	margin-top: 1.5rem;
}

.first-readarea p:first-child {
	margin-top: 0;
}

.inner,
.inner-mid {
	position: relative;
	width: 100%;
	padding-left: 2rem;
	padding-right: 2rem;
}

.head1 {
	margin: 8rem 0 4rem 0;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.2;
	text-align: center;
	color: #000;
}

.head1 span {
	display: block;
	position: relative;
	margin-bottom: 4rem;
	font-family: lato, sans-serif;
	font-size: 1.4rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	line-height: 1;
	text-align: center;
	color: #4ca535;
}

.head1 span:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -2.2rem;
	display: block;
	background-color: #ccc;
	width: 3rem;
	height: 1px;
	margin-left: -1.5rem;
}

.head2 {
	margin: 4rem 0 2rem 0;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5;
	color: #4ca535;
}

.head3 {
	margin: 3rem 0 1.5rem 0;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5;
	color: #4ca535;
}

.head4 {
	margin: 3rem 0 1.5rem 0;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5;
	color: #000;
}

.head5 {
	margin: 2rem 0 1rem 0;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.5;
	color: #333;
}

.head6 {
	position: relative;
	margin: 6rem 0 3rem 0;
	padding-left: 6.5rem;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.2;
	color: #000;
}

.head6:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	background-color: #4ca535;
	width: 5rem;
	height: 1px;
}

.head1:first-child,
.head2:first-child,
.head3:first-child,
.head4:first-child,
.head5:first-child,
.head6:first-child {
	margin-top: 0 !important;
}

.head1+.head6 {
	margin-top: 0 !important;
}

.head6.narrow {
	margin: 6rem 0 3rem 0;
}

.btn {
	margin-top: 4rem;
	text-align: center;
}

.btn a,
.btn button,
.btn input {
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	vertical-align: bottom;
	border: none;
	border-radius: 0.4rem;
	background: #44aa00;
	background: -moz-linear-gradient(left, #aadd00 0%, #44aa00 100%);
	background: -webkit-linear-gradient(left, #aadd00 0%, #44aa00 100%);
	background: linear-gradient(to right, #aadd00 0%, #44aa00 100%);
	width: 100%;
	height: 6rem;
	padding: 0 4rem;
	white-space: nowrap;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: center;
	text-decoration: none !important;
	color: #fff !important;
	overflow: hidden;
}

.btn a span,
.btn button span {
	position: relative;
	padding-right: 2rem;
	z-index: 2;
}

.btn a span:after,
.btn button span:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	width: 1rem;
	height: 1rem;
	margin-top: -0.45rem;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}

.btn.contact a {
	font-size: 1.8rem;
	font-weight: 400;
}

.btn.contact a span {
	padding: 0 0 0 4rem;
}

.btn.contact a span:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	background: url(../img/icon-mail-w.svg) left center no-repeat;
	background-size: 2.6rem;
	width: 2.6rem;
	height: 1.8rem;
	margin-top: -0.9rem;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}

.btn.contact a span:after {
	display: none;
}

.btn.pdf a {
	background: #f63;
	background: -moz-linear-gradient(left, #fc3 0%, #f63 100%);
	background: -webkit-linear-gradient(left, #fc3 0%, #f63 100%);
	background: linear-gradient(to right, #fc3 0%, #f63 100%);
	font-size: 1.8rem;
	font-weight: 400;
}

.btn.pdf a span {
	padding: 0 0 0 4rem;
}

.btn.pdf a span:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	background: url(../img/icon-pdf-w.svg) left center no-repeat;
	background-size: 2.4rem;
	width: 2.4rem;
	height: 2.4rem;
	margin-top: -1.2rem;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}

.btn.pdf a span:after {
	display: none;
}

.btn.shop a {
	background: #f63;
	background: -moz-linear-gradient(left, #ee0 0%, #ec0 100%);
	background: -webkit-linear-gradient(left, #ee0 0%, #ec0 100%);
	background: linear-gradient(to right, #ee0 0%, #ec0 100%);
	font-size: 1.8rem;
	font-weight: 400;
	color: #000 !important;
}

.btn.shop a span {
	padding: 0 0 0 4.2rem;
}

.btn.shop a span:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	background: url(../img/icon-cart.svg) left center no-repeat;
	background-size: 3rem;
	width: 3rem;
	height: 3rem;
	margin-top: -1.5rem;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}

.btn.shop a span:after {
	display: none;
}

.btn.shop a+span {
	font-size: 1.2rem;
}

.btn-area {
	background-color: #f8f8f8;
	margin-top: 6rem;
	padding: 5rem 0;
	font-size: 1.2rem;
	line-height: 1.4;
}

.btn-area .box {
	margin-bottom: 1.5rem;
}

.btn-area .box:last-child {
	margin-bottom: 0;
}

.btn-area .btn {
	margin: 0;
}

.btn-area .btn a {
	width: 100%;
	height: 8rem;
	font-size: 1.8rem;
	font-weight: 400;
}

.btn-area .btn+p {
	margin-top: 1rem;
	text-align: center;
}

.btn-area .box+p {
	width: 100%;
	margin-top: 1rem;
	text-align: center;
}

.link a {
	position: relative;
	white-space: nowrap;
	padding-right: 1.6rem;
	text-decoration: underline !important;
}

.link a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0.2rem;
	display: block;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	width: 0.7rem;
	height: 0.7rem;
	margin-top: -0.25rem;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}

.link a[target="_blank"] {
	padding-right: 1.8rem;
}

.link a[target="_blank"]:before {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	background: url(../img/icon-blank.svg) center center no-repeat;
	background-size: contain;
	width: 1.1rem;
	height: 0.9rem;
	margin-top: -0.4rem;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}

.link a[target="_blank"]:after {
	display: none;
}

.column {
	margin: 2rem 0 4rem 0;
}

.column:first-child {
	margin-top: 0;
}

.column:last-child {
	margin-bottom: 0;
}

.column .box {
	display: block;
	margin-bottom: 2.5rem;
}

.column a.box {
	color: #333;
	text-decoration: none;
}

.column .box:last-child {
	margin-bottom: 0;
}

.column .img-box,
.column .img-free {
	margin-bottom: 1.5rem;
}

.column .head2,
.column .head3,
.column .head4,
.column .head5 {
	margin-bottom: 1.2rem;
}

.column .txt-box {
	margin: 1.5rem 0;
}

.column+.read-area {
	margin-top: -1rem;
}

.head3+.column,
.head4+.column,
.head5+.column {
	margin-top: 2rem;
}

.column+.read-area {
	margin-top: -1rem;
}

.img-box {
	position: relative;
	border-radius: 1rem;
	background-color: #eee;
	width: 100%;
	padding-top: 56.25%;
	font-size: 0;
	overflow: hidden;
}

.img-box img {
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	max-width: none;
	width: 100%;
	height: 100%;
}

.img-free {
	position: relative;
	border-radius: 1rem;
	background-color: #eee;
	width: 100%;
	font-size: 0;
	overflow: hidden;
}

.img-free img {
	width: 100%;
	height: auto;
}

.movie-area {
	position: relative;
	background-color: #fff;
	width: 100%;
	padding-top: 56.25%;
	overflow: hidden;
	box-shadow: 0.5rem 0.5rem 0 rgba(85, 170, 51, 0.5);
}

.movie-area iframe,
.movie-area video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.big {
	font-size: 112.5%;
}

.sml {
	font-size: 87.5%;
	line-height: 2.1;
}

.notes {
	font-size: 1.2rem;
	font-weight: 400;
	color: #bcbcbc;
}

.caution {
	font-size: 1.2rem;
	color: #c33;
}

.blur {
	-ms-filter: blur(5rem);
	filter: blur(5rem);
	-webkit-transition: 1.2s ease-out;
	transition: 1.2s ease-out;
}

.blur.active {
	-ms-filter: blur(0rem);
	filter: blur(0rem);
}

/*.fade {
	opacity: 0;
	-webkit-transition: 0.8s linear;
	transition: 0.8s linear;
}
.fade.active {
	opacity: 1;
}
.fade-l {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(-2rem, 0);
	transform: translate(-2rem, 0);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-l.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-r {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(2rem, 0);
	transform: translate(2rem, 0);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-r.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-t {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(0, -2rem);
	transform: translate(0, -2rem);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-t.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-b {
	position: relative;
	opacity: 0;
	-webkit-transform: translate(0, 2rem);
	transform: translate(0, 2rem);
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
}
.fade-b.active {
	opacity: 1;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
.fade-w {
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
	-webkit-transform: scale(1.1,1.1);
	transform: scale(1.1,1.1);
	opacity: 0;
}
.fade-z {
	-webkit-transition: 0.8s ease-out;
	transition: 0.8s ease-out;
	-webkit-transform: scale(0.9,0.9);
	transform: scale(0.9,0.9);
	opacity: 0;
}
.fade-w.active,
.fade-z.active {
	-webkit-transform: scale(1,1);
	transform: scale(1,1);
	opacity: 1;
}*/

.tab-content {
	display: none;
}

.tab-content.active,
.tab-content:first-of-type {
	display: block;
}










/* HEADER */

header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	font-size: 1.4rem;
	z-index: 1000;
}

header .header-top {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	width: 100%;
	height: 6rem;
	padding: 0 0 0 2rem;
	color: #fff;
	box-shadow: 0 0 2rem rgba(0, 0, 0, 0.05);
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
	z-index: 2;
}

header .logo {
	position: relative;
	width: 28rem;
	height: 3rem;
	z-index: 1;
}

header .logo a {
	position: relative;
	display: inline-block;
	background: url(../img/logo.svg) left center no-repeat;
	background-size: 11rem;
	width: 11rem;
	height: 3rem;
	padding-top: 3rem;
	font-size: 0;
	overflow: hidden;
}

header .logo span {
	font-size: 0.5rem;
	line-height: 1.5rem;
	height: 3rem;
	display: inline-block;
	vertical-align: top;
	padding-left: 1.5rem;
	color: #333;
}

header #menu-open {
	position: relative;
	background-color: #4ca535;
	width: 6rem;
	height: 6rem;
	z-index: 3;
}

header #menu-open span {
	position: absolute;
	top: 50%;
	left: 1.5rem;
	display: block;
	border-radius: 4px;
	background: #fff;
	width: 3rem;
	height: 4px;
	margin-top: -2px;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}

header #menu-open:before {
	content: "";
	position: absolute;
	top: 2rem;
	left: 1.5rem;
	display: block;
	border-radius: 4px;
	background: #fff;
	width: 3rem;
	height: 4px;
	margin-top: -2px;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}

header #menu-open:after {
	content: "";
	position: absolute;
	top: 4rem;
	left: 1.5rem;
	display: block;
	border-radius: 4px;
	background: #fff;
	width: 3rem;
	height: 4px;
	margin-top: -2px;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}

header #menu-open.active span {
	display: none;
}

header #menu-open.active:before {
	top: 50%;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

header #menu-open.active:after {
	top: 50%;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

#header-menu {
	display: none;
	position: fixed;
	top: 6rem;
	left: 0;
	background-color: #4ca535;
	width: 100%;
	height: 100%;
	height: calc(100% - 6rem);
	padding-bottom: 1px;
	line-height: 1;
	color: #fff;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	z-index: 1;
}

#header-menu a {
	text-decoration: none;
	color: #fff;
}

#header-menu .menu-area {
	margin-bottom: 2rem;
}

#header-menu .menu-area .main {
	border-bottom: 1px solid #abd599;
	padding: 0 2rem;
}

#header-menu .menu-area .tit {
	position: relative;
	display: block;
	padding: 2rem 0;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

#header-menu .menu-area .tit:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	width: 0.7rem;
	height: 0.7rem;
	margin-top: -0.4rem;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}

#header-menu .menu-area .p-open {
	display: block;
	position: relative;
}

#header-menu .menu-area .p-open .tit {
	pointer-events: none;
}

#header-menu .menu-area .p-open .tit:after {
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

#header-menu .menu-area .p-open.active .tit:after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

header .menu-area>li.search {
	border-radius: 0.4rem;
	width: 100%;
	margin-top: 3rem;
	padding: 0 2rem;
	white-space: nowrap;
	font-size: 0;
}

header .menu-area>li.search input[type="text"] {
	vertical-align: middle;
	border-radius: 0.4rem 0 0 0.4rem;
	background-color: #fff;
	width: 85%;
	height: 5rem;
	padding: 0 0 0 1.5rem;
	font-size: 1.6rem;
	line-height: 1;
	color: #888;
}

header .menu-area>li.search input[type="submit"] {
	vertical-align: middle;
	border-radius: 0 0.4rem 0.4rem 0;
	background: #fff url(../img/icon-search.svg) center center no-repeat;
	background-size: 2.4rem;
	width: 15%;
	height: 5rem;
	font-size: 0;
	color: #fff;
}

header .contact-area {
	display: flex;
	height: 8rem;
	margin-top: 2rem;
	margin-bottom: 8rem;
	padding: 0 2rem;
}

header .contact-area .shop {
	width: 32%;
	padding-right: 5px;
}

header .contact-area .shop a {
	display: block;
	border-radius: 0.4rem;
	background: #fff url(../img/icon-cart.svg) center 0.8rem no-repeat;
	background-size: 4rem;
	width: 100%;
	height: 8rem;
	padding-top: 5.1rem;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	color: #333 !important;
}

header .contact-area .contact {
	width: 68%;
}

header .contact-area .contact a {
	display: block;
	border-radius: 0.4rem;
	background: #fff url(../img/icon-mail.svg) center 0.9rem no-repeat;
	background-size: 3.6rem;
	width: 100%;
	height: 8rem;
	padding-top: 5.1rem;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	color: #4ca535 !important;
}

#header-menu .mega {
	display: none;
}

#header-menu .mega ul {
	padding-bottom: 2rem;
}

#header-menu .mega li {
	width: 100%;
}

#header-menu .mega li a {
	position: relative;
	display: block;
	border-bottom: none;
	padding: 1.2rem 0 1.2rem 1.2rem;
	font-size: 1.5rem;
	font-weight: 400;
}

#header-menu .mega li a:before {
	content: "-";
	position: absolute;
	top: 1.2rem;
	left: 0;
}










/* FOOTER */

#go-top {
	display: block;
	width: 100%;
	height: 6rem;
}

#go-top span {
	position: relative;
	display: block;
	background-color: #666;
	width: 100%;
	height: 6rem;
}

#go-top span:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	width: 1.4rem;
	height: 1.4rem;
	margin: -0.4rem 0 0 -0.4rem;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* footer */

footer {
	position: relative;
	display: block;
	width: 100%;
	line-height: 1;
	z-index: 1;
}

footer .footer-top {
	position: relative;
	background-color: #4ca535;
	padding: 5rem 2rem;
}

footer .footer-top p {
	width: 100%;
}

footer .footer-top p a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	vertical-align: bottom;
	border-radius: 0.4rem;
	background-color: #fff;
	width: 100%;
	height: 8rem;
	font-size: 1.8rem;
	line-height: 1;
	text-decoration: none;
	color: #4ca535;
	overflow: hidden;
}

footer .footer-top p a span {
	position: relative;
	display: inline-block;
	background: url(../img/icon-mail.svg) left center no-repeat;
	background-size: 2.6rem;
	padding-left: 4rem;
	font-size: 1.8rem;
	line-height: 1;
	z-index: 2;
}

footer .footer-btm {
	position: relative;
	background-color: #333;
	padding: 0 0 6rem 0;
	font-size: 1.4rem;
	color: #ccc;
}

footer .footer-btm a {
	text-decoration: none;
	color: #ccc;
}

footer .footer-btm .inner {
	position: relative;
}

footer .footer-btm .menu-area {
	position: relative;
	width: 100%;
	width: calc(100% + 4rem);
	margin: 0 -2rem 4rem -2rem;
}

footer .footer-btm .menu-area a {
	color: #fff;
}

footer .footer-btm .menu-area .main {
	position: relative;
	border-bottom: 1px solid #666;
	padding: 0 2rem;
}

/*footer .footer-btm .menu-area .main.bo:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	width: 100%;
	border-bottom: 1px solid #666;
}*/
footer .footer-btm .menu-area .main.bo a:before {
	content: "";
	position: absolute;
	bottom: 0;
	left: -2rem;
	display: block;
	width: calc(100% + 4rem);
	border-bottom: 1px solid #666;
}

footer .footer-btm .menu-area .main.bo a:last-child:before {
	border-bottom: none;
}

footer .footer-btm .menu-area .tit {
	position: relative;
	display: block;
	padding: 2rem 0;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

footer .footer-btm .menu-area .tit:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	width: 0.7rem;
	height: 0.7rem;
	margin-top: -0.4rem;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}

footer .footer-btm .menu-area .p-open {
	display: block;
	position: relative;
}

footer .footer-btm .menu-area .p-open .tit {
	pointer-events: none;
}

footer .footer-btm .menu-area .p-open .tit:after {
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

footer .footer-btm .menu-area .p-open.active .tit:after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

footer .footer-btm .mega {
	display: none;
}

footer .footer-btm .mega ul {
	padding-bottom: 2rem;
}

footer .footer-btm .mega li {
	width: 100%;
}

footer .footer-btm .mega li a {
	position: relative;
	display: block;
	border-bottom: none;
	padding: 1.2rem 0 1.2rem 1.2rem;
	font-size: 1.5rem;
	font-weight: 400;
}

footer .footer-btm .mega li a:before {
	content: "-";
	position: absolute;
	top: 1.2rem;
	left: 0;
}

footer .footer-btm .logo {
	position: relative;
	font-size: 0;
}

footer .footer-btm .logo a {
	position: relative;
	display: block;
	background: url(../img/logo-w.svg) left center no-repeat;
	background-size: 15rem;
	width: 15rem;
	height: 4rem;
	padding-top: 4rem;
	font-size: 0;
	overflow: hidden;
}

footer .footer-btm .add {
	margin-top: 2.8rem;
	line-height: 1.8;
}

footer .footer-btm .sns {
	display: flex;
	margin-top: 2.5rem;
}

footer .footer-btm .sns li {
	width: 3rem;
	height: 3rem;
	margin-right: 3rem;
}

footer .footer-btm .sns a {
	display: block;
	width: 3rem;
	height: 3rem;
	padding-top: 3rem;
	font-size: 0;
	overflow: hidden;
}

footer .footer-btm .sns li.twitter a {
	background: url(../img/sns-twitter.svg) left top no-repeat;
	background-size: 3rem;
}

footer .footer-btm .sns li.facebook a {
	background: url(../img/sns-facebook.svg) left top no-repeat;
	background-size: 3rem;
}

footer .footer-btm .sns li.instagram a {
	background: url(../img/sns-instagram.svg) left top no-repeat;
	background-size: 3rem;
}

footer .footer-btm .sns li.youtube a {
	background: url(../img/sns-youtube.svg) left top no-repeat;
	background-size: 3rem;
}

footer .footer-btm .sub-link {
	width: 100%;
	margin-top: 3.5rem;
	line-height: 1.8;
}

footer .footer-btm .sub-link li {
	display: inline-block;
	white-space: nowrap;
}

footer .footer-btm .sub-link li:after {
	content: "\3000|\3000";
	color: #666;
}

footer .footer-btm .sub-link li:last-child:after {
	display: none;
}

footer .copy {
	background-color: #fff;
	padding: 4rem 0 4rem 0;
	font-family: Lato;
	font-weight: 400;
	font-size: 1rem;
	line-height: 1;
	text-align: center;
}










/* INDEX */

#index-main {
	position: relative;
	width: 100%;
	color: #fff;
	overflow: hidden;
	z-index: 0;
}

#index-main .first-view {
	animation: first-view 5s 1s linear forwards;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: center;
	position: relative;
	width: 100%;
	height: 100vh;
	height: calc(100vh - 6rem);
	opacity: 1;
	/*-ms-filter: blur(10rem);
	filter: blur(10rem);*/
	z-index: 2;
}

/*@keyframes first-view {
	0% {
		opacity: 0;
		-ms-filter: blur(2rem);
		filter: blur(2rem);
	}
	50% {
		opacity: 1;
		-ms-filter: blur(1rem);
		filter: blur(1rem);
	}
	100% {
		opacity: 1;
		-ms-filter: blur(0);
		filter: blur(0);
	}
}*/
#index-main .first-view h1 {
	background: url(../img/main-title-sp.png) center center no-repeat;
	background-size: 37.5rem 14rem;
	width: 100%;
	height: 14rem;
	padding-top: 14rem;
	font-size: 0;
	line-height: 1;
	text-align: center;
	overflow: hidden;
}

#index-main .first-view p {
	width: 100%;
	padding: 0 0 3rem 0;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2;
	text-align: center;
	text-shadow: 0 0 1rem rgba(0, 51, 153, 0.5);
}

#index-main .second-view {
	position: relative;
	background: #001166;
	background: -moz-linear-gradient(left, #0055cc 0%, #0055cc 100%);
	background: -webkit-linear-gradient(left, #0055cc 0%, #0055cc 100%);
	background: linear-gradient(to right, #0055cc 0%, #0055cc 100%);
	padding: 3rem 0;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2;
	color: #fff;
	z-index: 2;
}

#index-main .second-view .inner .read {
	width: 100%;
}

#index-main .second-view .inner .image {
	border-radius: 1rem;
	background: url(../img/main-ph.jpg) center top no-repeat;
	background-size: cover;
	width: 100%;
	height: 20rem;
	margin-top: 2rem;
}

#index-main .second-view .inner p {
	margin-bottom: 1.2rem;
}

#index-main .second-view .inner .link {
	margin: 1.5rem 0 0 0;
	text-align: right;
}

#index-main .second-view .inner .link a {
	color: #fff;
}

#index-main .second-view .inner .link a:after {
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}

#index-main .movie {
	position: absolute;
	top: 0;
	left: 0;
	background: #fff url(../img/main-bg.jpg) center center no-repeat;
	background-size: cover;
	width: 100%;
	height: 100vh;
	height: calc(100vh - 6rem);
	overflow: hidden;
	z-index: 1;
}

/*#index-main .movie .over1,
#index-main .movie .over2 {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
#index-main .movie .over1 {
	animation: over1 2s 1s ease forwards;
	background: #442200;
	background: -moz-linear-gradient(top,  #442200 0%, #996633 100%);
	background: -webkit-linear-gradient(top,  #442200 0%,#996633 100%);
	background: linear-gradient(to bottom,  #442200 0%,#996633 100%);
	height: 100%;
	z-index: 3;
}
@keyframes over1 {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
#index-main .movie .over2 {
	animation: over2 5s 3s ease forwards;
	background: #442200;
	background: -moz-linear-gradient(top,  #442200 0%, #996633 50%, #ffcc66 100%);
	background: -webkit-linear-gradient(top,  #442200 0%,#996633 50%,#ffcc66 100%);
	background: linear-gradient(to bottom,  #442200 0%,#996633 50%,#ffcc66 100%);
	height: 200%;
	mix-blend-mode: multiply;
	z-index: 2;
}
@keyframes over2 {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}*/
#index-main .movie video {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 1;
}

.index-head {
	margin-bottom: 4rem;
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.08em;
	white-space: nowrap;
	color: #000;
}

.index-head span {
	position: relative;
	display: table;
	margin-bottom: 2rem;
	padding: 0 1.5rem 0 0;
	font-family: Lato, sans-serif;
	font-size: 1.4rem;
	letter-spacing: 0.2em;
	color: #4ca535;
}

.index-head span:before {
	content: "";
	position: absolute;
	top: 48%;
	right: -5rem;
	display: block;
	background-color: #ccc;
	width: 5rem;
	height: 1px;
}

.index-head.right {
	text-align: right;
}

.index-head.right span {
	margin-left: auto;
	padding: 0 0 0 1.5rem;
}

.index-head.right span:before {
	right: auto;
	left: -5rem;
}

.index-service {
	position: relative;
	width: 100%;
	padding: 8rem 0;
}

.index-service:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	background-color: #f8f8f8;
	width: 0;
	height: 27rem;
	-webkit-transition: 0.8s ease;
	transition: 0.8s ease;
	z-index: 1;
}

.index-service.active:before {
	width: 100%;
}

.index-service .inner {
	position: relative;
	z-index: 2;
}

.index-service-menu {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin-bottom: -1.4rem;
}

.index-service-menu li {
	width: 48%;
	height: 16rem;
	margin-bottom: 1.4rem;
}

.index-service-menu li a {
	display: block;
	border: 2px solid #eee;
	border-radius: 1rem;
	background-color: #fff;
	background-position: center 1rem;
	background-repeat: no-repeat;
	background-size: 10rem;
	width: 100%;
	height: 16rem;
	padding-top: 12.5rem;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	color: #333;
}

.index-service-menu li:nth-of-type(1) a {
	background-image: url(../img/service-icon_01.svg);
}

.index-service-menu li:nth-of-type(2) a {
	background-image: url(../img/service-icon_02.svg);
}

.index-service-menu li:nth-of-type(3) a {
	background-image: url(../img/service-icon_03.svg);
}

.index-service-menu li:nth-of-type(4) a {
	background-image: url(../img/service-icon_04.svg);
}

.index-service-menu li:nth-of-type(5) a {
	background-image: url(../img/service-icon_05.svg);
}

.index-case {
	position: relative;
	width: 100%;
	padding: 0 0 8rem 0;
}

.index-case:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	background-color: #eef8ee;
	width: 0;
	height: 50%;
	-webkit-transition: 0.8s ease;
	transition: 0.8s ease;
	z-index: 1;
}

.index-case.active:before {
	width: 44%;
}

.index-case .inner {
	position: relative;
	z-index: 2;
}

.index-workflow {
	position: relative;
	width: 100%;
	padding: 0 0 8rem 0;
}

.index-workflow .image {
	width: 100%;
	text-align: center;
}

.index-workflow .image {
	margin: 2rem 0;
}

.index-sustainable {
	position: relative;
	width: 100%;
	padding: 0 0 8rem 0;
	overflow: hidden;
}

.index-sustainable:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	background-color: #f8f8f8;
	width: 0;
	height: 50%;
	-webkit-transition: 0.8s ease;
	transition: 0.8s ease;
	z-index: 1;
}

.index-sustainable.active:before {
	width: 44%;
}

.index-sustainable .inner {
	position: relative;
	z-index: 2;
}

.index-sustainable-area {
	position: relative;
	background: #fff url(../img/index-sustainable-bg.jpg) center center no-repeat;
	background-size: cover;
	width: 100%;
	width: calc(100% + 4rem);
	margin: 0 -2rem;
	padding: 4rem 2rem;
}

.index-sustainable-area h3 {
	margin-bottom: 2rem;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	color: #4ca535;
}

.index-sustainable-area p {
	margin-top: 1.5rem;
	font-size: 1.6rem;
	line-height: 2;
}

.index-sustainable-area .btn {
	margin-top: 4rem;
}

.index-news {
	position: relative;
	width: 100%;
}










/* business */

#title-area.native.business {
	background-image: url(../img/business/business-main-sp.jpg);
}

#title-area.native.business-haisui {
	background-image: url(../img/business/haisui-main-sp.jpg);
}

#title-area.native.business-syuuki {
	background-image: url(../img/business/syuuki-main-sp.jpg);
}

#title-area.native.business-jyouka {
	background-image: url(../img/business/jyouka-main-sp.jpg);
}

#title-area.native.business-soil {
	background-image: url(../img/business/soil-main-sp.jpg);
}

#title-area.native.business-tikusan {
	background-image: url(../img/business/tikusan-main-sp.jpg);
}

#title-area.native.business-oem {
	background-image: url(../img/business/oem-main-sp.jpg);
}

.business-main {
	width: 100%;
}

.business-main .inner {
	position: relative;
	background-color: #f8f8f8;
	width: 100%;
	margin-top: 14rem;
	padding: 1px 2rem 4rem 2rem;
}

.business-main .inner:last-child {
	margin-bottom: 0;
}

.business-main .inner .img-area {
	position: relative;
	width: 100%;
	margin-top: -10rem;
	margin-bottom: 2rem;
}

.business-main .inner .page-area {
	margin-top: 3rem;
}

.business-main h3 {
	margin-bottom: 1.4rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.1em;
	color: #000;
}

.business-main h4 {
	margin-bottom: 1.2rem;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
}

.business-main .btn {
	margin-top: 1.5rem;
	text-align: right;
}

.business-main .btn a {
	width: 20rem;
	height: 5rem;
	line-height: 5rem;
}

.business-main ul li {
	margin-top: 0.4rem;
}

.business-main ul a {
	display: block;
	border-radius: 0.4rem;
	background-color: #fff;
	width: 100%;
	padding: 1.3rem 2rem;
	white-space: nowrap;
	font-size: 1.4rem;
	line-height: 1;
	text-align: center;
	color: #333;
}

.business-main ul a:after {
	display: block;
	height: 0;
	width: 0;
	position: absolute;
	bottom: 5px;
	right: 5px;
	border-left: 12px solid transparent;
	border-bottom: 12px solid #4ca535;
	content: "";
}

.business-topmenu {
	background-color: #f8f8f8;
	width: 100%;
	margin: -8rem 0 8rem 0;
	line-height: 1;
}

.business-topmenu li {
	border-top: 1px solid #fff;
}

.business-topmenu a {
	display: block;
	padding: 1.4rem 2rem;
	font-size: 1.4rem;
	font-weight: 700;
	text-align: center;
}

.business-btmmenu {
	width: 100%;
}

.business-btmmenu>li {
	position: relative;
	width: 100%;
	margin-bottom: 1rem;
}

.business-btmmenu>li:last-child {
	margin-bottom: 0;
}

.business-btmmenu>li>a {
	position: relative;
	display: flex;
	align-items: center;
	border: 1px solid #eee;
	border-radius: 0.4rem;
	background-color: #fff;
	width: 100%;
	height: 8rem;
	padding-right: 2.5rem;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	color: #4ca535;
	overflow: hidden;
	z-index: 1;
}

.business-btmmenu>li>a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1.5rem;
	display: block;
	border-top: 1px solid #4ca535;
	border-right: 1px solid #4ca535;
	width: 1rem;
	height: 1rem;
	margin-top: -0.45rem;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}

.business-btmmenu>li>a img {
	width: 8rem;
	height: 8rem;
	margin-right: 1.8rem;
}

.business-btmmenu .sub {
	display: none;
}

.business-products {
	position: relative;
	background-color: #000;
	margin-top: 8rem;
	padding: 2rem 0;
	overflow: hidden;
}

.business-products img {
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	max-width: none;
	width: 100%;
	height: 100%;
	opacity: 0.5;
	z-index: 1;
}

.business-products .inner {
	position: relative;
	z-index: 2;
}

.business-products a {
	position: relative;
	display: block;
	border: 1px solid #fff;
	border-radius: 0.4rem;
	padding: 2rem;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.1em;
	text-decoration: none;
	text-align: center;
	color: #fff;
	overflow: hidden;
}

.business-products a span {
	position: relative;
	z-index: 2;
}

.business-products a strong {
	display: block;
	margin-top: 1.2rem;
	font-size: 2.8rem;
	line-height: 1.3;
	text-align: center;
}

.business-products+.btn-area {
	margin-top: 0;
}

.btn-area .tel {
	display: block;
	border-radius: 0.4rem;
	background-color: #fff;
	width: 100%;
	height: 8rem;
	padding-top: 1.8rem;
	font-size: 1.2rem;
	list-style: 1;
	text-align: center;
}

.btn-area .tel strong {
	display: inline-block;
	margin-bottom: 1.2rem;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
	color: #4ca535;
	text-align: center;
}

/* oem */

.oem-support ul {
	width: 100%;
	margin-top: 3rem;
}

.oem-support li {
	display: flex;
	align-items: center;
	border: 2px solid #eee;
	border-radius: 1rem;
	background-color: #fff;
	width: 100%;
	margin-bottom: 1rem;
	padding: 1.5rem 2rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
}

.oem-support li:last-child {
	margin-bottom: 0;
}

.oem-support li img {
	display: block;
	width: 5rem;
	height: 5rem;
	margin: 0 1.5rem 0 0;
}

.oem-distress {
	position: relative;
	background-color: #eef8ee;
	width: 100vw;
	margin-left: -2rem;
	margin-right: -2rem;
	padding: 3rem 2rem;
}

.oem-distress ul {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.3;
	color: #4ca535;
}

.oem-distress li {
	background: url(../img/icon-check.svg) left 0.3rem no-repeat;
	background-size: 2rem;
	margin: 1rem 0;
	padding-left: 3rem;
}

.oem-flow {
	width: 100%;
}

.oem-flow .cb {
	display: none;
}

.oem-flow .img-area {
	position: relative;
	width: 100%;
	margin-bottom: 2.5rem;
	z-index: 2;
}

.oem-flow .read-area {
	position: relative;
	position: relative;
	width: 100%;
	margin-bottom: 2.5rem;
	padding-left: 4rem;
	font-size: 1.4rem;
}

.oem-flow .read-area:last-child {
	margin-bottom: 0;
}

.oem-flow .read-area span {
	position: absolute;
	top: -0.5rem;
	left: 0;
	display: block;
	border-radius: 8rem;
	background-color: #4ca535;
	width: 3rem;
	height: 3rem;
	font-family: Lato, sans-serif;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 3rem;
	letter-spacing: 0;
	text-align: center;
	color: #fff;
	z-index: 2;
}

.oem-flow .read-area:before {
	content: "";
	position: absolute;
	top: -3rem;
	left: 1.5rem;
	display: block;
	background-color: #4ca535;
	width: 4px;
	height: calc(100% + 6rem);
	margin-left: -2px;
	z-index: 1;
}

.oem-flow .read-area:nth-child(2):before {
	top: 1.5rem;
}

.oem-flow .read-area:last-child:before {
	top: inherit;
	bottom: calc(100% - 1.5rem);
}

.oem-flow h3 {
	margin-bottom: 1.4rem;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.2;
	color: #4ca535;
}

.faq-area {
	width: 100%;
	font-size: 1.4rem;
	line-height: 1.6;
}

.faq-area dt {
	position: relative;
	border-radius: 1rem;
	background-color: #eef8ee;
	min-height: 4rem;
	margin-bottom: 1rem;
	margin-left: 4rem;
	padding: 1.5rem 2rem 1.5rem 5rem;
	font-weight: 700;
	color: #4ca535;
}

.faq-area dt:before {
	content: "";
	position: absolute;
	top: 0;
	left: -4rem;
	display: block;
	background: url(../img/icon-faq-q.svg) left top no-repeat;
	background-size: 4rem;
	width: 4rem;
	height: 4rem;
}

.faq-area dt:after {
	content: "Q.";
	position: absolute;
	top: 50%;
	left: 1.5rem;
	font-family: lato, sans-serif;
	font-size: 2.4rem;
	font-weight: 700;
	color: #4ca535;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

.faq-area dd {
	position: relative;
	border-radius: 1rem;
	background-color: #eee;
	min-height: 4rem;
	margin-right: 4rem;
	margin-bottom: 2rem;
	padding: 1.5rem 2rem 1.5rem 5rem;
	font-size: 1.3rem;
}

.faq-area dd:before {
	content: "";
	position: absolute;
	top: 0;
	right: -4rem;
	display: block;
	background: url(../img/icon-faq-a.svg) left top no-repeat;
	background-size: 4rem;
	width: 4rem;
	height: 4rem;
}

.faq-area dd:after {
	content: "A.";
	position: absolute;
	top: 50%;
	left: 1.5rem;
	font-family: lato, sans-serif;
	font-size: 2.4rem;
	font-weight: 700;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}










/* case */

.case-category {
	border: 2px solid #eee;
	border-radius: 1rem;
	margin-bottom: 4rem;
	padding: 2rem 1.6rem 2rem 2rem;
}

.case-category dt {
	margin-bottom: 1.6rem;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
	color: #4ca535;
}

.case-category ul {
	display: flex;
	flex-wrap: wrap;
	font-size: 1.4rem;
	line-height: 1;
}

.case-category ul li {
	margin: 0.4rem 0.4rem 0 0;
}

.case-category ul a {
	display: block;
	border-radius: 0.4rem;
	background-color: #4ca535;
	padding: 0.7rem 1.2rem 0.9rem 1.2rem;
	white-space: nowrap;
	text-decoration: none;
	color: #fff;
}

.case-number {
	margin-bottom: 2rem;
	text-align: center;
	color: #4ca535;
}

.case-list {
	position: relative;
	width: 100%;
}

.case-list a {
	position: relative;
	display: block;
	width: 100%;
	margin-bottom: 3rem;
	text-decoration: none;
	color: #333;
}

.case-list .new {
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 1rem 0 1rem 0;
	background: #ee0 url(../img/icon-new.svg) center center no-repeat;
	background-size: cover;
	width: 6rem;
	height: 4rem;
	padding-top: 4rem;
	font-size: 0;
	overflow: hidden;
	z-index: 10;
}

.case-list .img-box {
	margin-bottom: 1.5rem;
}

.case-list dl {
	display: flex;
	justify-content: space-between;
	margin-bottom: 1.2rem;
	font-size: 1.4rem;
	line-height: 1;
}

.case-list dl dt {
	font-weight: 700;
	color: #4ca535;
}

.case-list dl dd {
	font-family: Lato, sans-serif;
	font-weight: 400;
	color: #888;
}

.case-list h3 {
	margin-bottom: 1.6rem;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.6;
}

.category-mini {
	display: flex;
	flex-wrap: wrap;
}

.category-mini li {
	display: block;
	background-color: #4ca535;
	height: 2.5rem !important;
	margin: 0 2px 2px 0 !important;
	padding: 0.6rem 1rem 0.4rem 1rem !important;
	white-space: nowrap;
	font-size: 1.2rem !important;
	line-height: 1 !important;
	color: #fff !important;
}

.case-title {
	background-color: #eef8ee;
	margin-bottom: 8rem;
	padding: 6rem 0;
}

.case-title .inner {
	display: block !important;
	padding: 0 2rem !important;
}

.case-title .read-area {
	width: 100%;
}

.case-title .img-area {
	width: 100%;
	margin-top: 3rem;
}

.case-title .company {
	position: relative;
	display: table;
	margin-bottom: 2rem;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	color: #4ca535;
}

.case-title .company:after {
	content: "";
	position: absolute;
	top: 50%;
	right: -7rem;
	display: block;
	background-color: #ccc;
	width: 5rem;
	height: 1px;
}

.case-title h1 {
	font-size: 2.4rem !important;
	line-height: 1.3 !important;
}

.case-title .intro {
	margin-top: 2.5rem;
	font-size: 1.4rem;
}

.case-outline {
	font-size: 1.4rem;
	line-height: 1.8;
	-webkit-font-feature-settings: 'pkna';
	font-feature-settings: 'pkna';
}

.case-outline dt {
	font-weight: 700;
}

.case-outline dt:after {
	content: "\FF1A";
}

.case-outline dd {
	margin-bottom: 0.5rem;
	padding-left: 1em;
	letter-spacing: 0;
}

.case-intro {
	width: 100%;
}

.case-intro .box {
	margin-bottom: 3rem;
}

.case-intro .box:last-child {
	margin-bottom: 0;
}

.case-intro .img-box {
	border: 1px solid #eee;
	margin-bottom: 1.5rem;
}

.case-intro .img-box img {
	object-fit: contain;
}

.case-intro h4 {
	margin: 0 0 1rem 0;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.2;
	color: #4ca535;
}

.case-intro .btn {
	margin-top: 2rem;
}

.case-profile {
	background-color: #4ca535;
	margin: 8rem 0;
	padding: 2.5rem 2rem;
	color: #fff;
}

.case-profile .read-area a {
	color: #fff;
}

#contents.single .inner .case-profile h3 {
	margin-bottom: 2rem;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1;
	color: #fff;
	margin-top: 0;
}

.case-profile h3 span {
	display: block;
	margin-bottom: 1rem;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.case-profile .img-area {
	margin-bottom: 2rem;
}

.case-profile .read-area {
	font-size: 1.2rem;
	line-height: 1.6;
}

#contents.single .inner .case-profile h4 {
	margin-bottom: 1rem;
	font-size: 1.5rem;
	line-height: 1.2
}

.case-profile h4 a {
	background: url(../img/icon-blank-w.svg) right center no-repeat !important;
	background-size: 1.8rem !important;
	padding-right: 2.4rem !important;
}

.case-ref h4 {
	font-size: 1.4rem;
	line-height: 1.5;
}










/* products */

#title-area.native.products {
	background-image: url(../img/products/products-main-sp.jpg);
}

.products-menu li {
	width: 100%;
	margin-bottom: 3rem;
}

.products-menu li:last-child {
	margin-bottom: 0;
}

.products-menu a {
	position: relative;
	display: block;
	color: #fff;
}

.products-menu a:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	border-radius: 0 0 1rem 1rem;
	width: 100%;
	height: 6rem;
	background-color: #4ca535;
	mix-blend-mode: multiply;
	z-index: 2;
}

.products-menu .img-box {
	z-index: 1;
}

.products-menu span {
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	width: 100%;
	height: 6rem;
	padding: 0 2rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 6rem;
	mix-blend-mode: normal;
	z-index: 3;
}

.products-menu span:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 2rem;
	display: block;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	width: 1rem;
	height: 1rem;
	margin-top: -0.5rem;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.products-menu p {
	margin-top: 1.2rem;
}

.first-txt {
	margin-bottom: 3rem;
	font-size: 1.4rem;
	text-align: center;
}

.head1+.first-txt {
	margin-top: -2rem;
}

.products-pagemenu {
	background-color: #f8f8f8;
	margin-bottom: 8rem;
}

.products-pagemenu .inner {
	padding: 0;
}

.products-pagemenu li {
	border-bottom: 2px solid #fff;
}

.products-pagemenu a {
	display: block;
	padding: 1.5rem 2rem;
	text-decoration: none;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	color: #4ca535;
}

.products-pagemenu a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 2rem;
	display: block;
	border-right: 1px solid #4ca535;
	border-bottom: 1px solid #4ca535;
	width: 1rem;
	height: 1rem;
	margin-top: -0.7rem;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.movie-column {
	width: 100%;
	margin: 2rem 0;
	text-align: center;
}

.movie-column h3,
.movie-column h4 {
	text-align: center;
}

.movie-box {
	position: relative;
	border-radius: 1rem;
	width: 100%;
	margin: 0;
	padding-top: 56.25%;
	overflow: hidden;
}

.movie-box iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.voice-area {
	margin: 2rem 0;
}

.voice-area li {
	position: relative;
	border-radius: 1rem;
	background-color: #eef8ee;
	width: 100%;
	min-height: 8rem;
	margin: 0 0 1rem 0;
	padding: 1.5rem 2rem 1.5rem 6rem;
	font-size: 1.3rem;
}

.voice-area li:last-child {
	margin-bottom: 0;
}

.voice-area li:before {
	content: "";
	position: absolute;
	top: 1.8rem;
	left: 2rem;
	background: url(../img/icon-faq-q.svg) left center no-repeat;
	background-size: 4rem;
	width: 2.5rem;
	height: 4rem;
}

.voice-area li:nth-of-type(2n) {
	padding: 1.5rem 6rem 1.5rem 2rem;
}

.voice-area li:nth-of-type(2n):before {
	left: inherit;
	right: 2rem;
}

.related-materials {
	border-top: 1px solid #eee;
	width: 100%;
	margin-bottom: 6rem;
}

.related-materials li {
	border-bottom: 1px solid #eee;
}

.related-materials li a {
	display: block;
	background-size: 2rem;
	padding: 1.5rem 0 1.5rem 1.5rem;
	font-size: 1.4rem;
	line-height: 1.3;
	text-decoration: none;
	color: #333;
}

.related-materials li a.pdf {
	background: #fff url(../img/icon-pdf.svg) 1rem center no-repeat;
	padding: 1.5rem 0 1.5rem 4rem;
	background-size: 2rem;
}

.related-materials li a:hover {
	background-color: #f8f8f8;
}

.products-shop .btn {
	margin: 0;
}

.products-shop .box {
	margin-bottom: 1rem;
}

.products-shop .btn a {
	height: 8rem;
}










/* company */

#title-area.native.company {
	background-image: url(../img/company/company-main-sp.jpg);
}

#title-area.native.philosophy {
	background-image: url(../img/company/philosophy-main-sp.jpg);
}

#title-area.native.sdgs {
	background-image: url(../img/company/sdgs-main-sp.jpg);
}

#title-area.native.recruit {
	background-image: url(../img/company/recruit-main-sp.jpg);
}

#title-area.native.interview {
	background-image: url(../img/company/interview-main-sp.jpg);
}

.company-menu {
	margin-top: 8rem;
}

.company-menu li {
	width: 100%;
	margin-bottom: 1rem;
}

.company-menu li:last-child {
	margin-bottom: 0;
}

.company-menu a {
	position: relative;
	display: block;
	color: #fff;
}

.company-menu a:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	border-radius: 0 0 1rem 1rem;
	width: 100%;
	height: 6rem;
	background-color: #4ca535;
	mix-blend-mode: multiply;
	z-index: 2;
}

.company-menu .img-box {
	z-index: 1;
}

.company-menu span {
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	width: 100%;
	height: 6rem;
	padding: 0 2rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 6rem;
	mix-blend-mode: normal;
	z-index: 3;
}

.company-menu span:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 2rem;
	display: block;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	width: 1rem;
	height: 1rem;
	margin-top: -0.5rem;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.infor-column {
	border-top: 1px solid #eee;
	width: 100%;
	margin: 4rem 0;
}

.infor-column>dl {
	border-bottom: 1px solid #eee;
	padding: 2rem 0;
}

.infor-column>dl>dt {
	position: relative;
	width: 100%;
	padding-bottom: 1.5rem;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	color: #000;
}

.infor-column>dl>dd {
	width: 100%;
	padding-left: 1em;
	font-size: 1.4rem;
	line-height: 1.5;
}

.infor-column dd dl {
	width: 100%;
}

.infor-column dd dl dt {
	margin-bottom: 0.4rem;
	font-weight: 400;
	color: #333;
}

.infor-column dd dl dd {
	margin-bottom: 1rem;
	color: #888;
}

.infor-column dd dl dd:last-child {
	margin-bottom: 0;
}

#supplierbox {
	margin-top: -10rem;
	padding-top: 15rem;

}

#supplierbox:before {
	top: calc((100% + 15rem) / 2);
}

.supplier {
	border-top: 1px solid #eee;
	width: 100%;
	margin: 4rem 0;
}

.supplier>dl {
	border-bottom: 1px solid #eee;
	padding: 2rem 0;
}

.supplier>dl>dt {
	position: relative;
	width: 100%;
	padding-bottom: 1.5rem;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	color: #000;
}

.supplier>dl>dd {
	width: 100%;
	padding-left: 1em;
	font-size: 1.4rem;
	line-height: 1.5;
}

.google-map {
	position: relative;
	border-radius: 1rem;
	width: 100%;
	height: 32rem;
	margin-top: 1.5rem;
	overflow: hidden;
}

.google-map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.company-history {
	border-top: 1px solid #eee;
	width: 100%;
	margin: 4rem 0;
}

.company-history dl {
	position: relative;
	border-bottom: 1px solid #eee;
	padding: 2rem 4rem 2rem 0;
}

.company-history dl:before {
	content: "";
	position: absolute;
	top: 50%;
	right: 0.5rem;
	display: block;
	border: 4px solid #4ca535;
	border-radius: 2rem;
	background-color: #fff;
	width: 2rem;
	height: 2rem;
	margin-top: -1rem;
	z-index: 2;
}

.company-history dl:after {
	content: "";
	position: absolute;
	top: -1%;
	right: 1.5rem;
	background-color: #4ca535;
	width: 4px;
	height: 102%;
	margin-right: -2px;
	z-index: 1;
}

.company-history dl:first-child:after {
	top: 50%;
}

.company-history dl:last-child:after {
	top: -50%;
}

.company-history dl dt {
	width: 100%;
	padding-bottom: 1.5rem;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	color: #000;
}

.company-history dl dd {
	width: 100%;
	padding-left: 1em;
	font-size: 1.4rem;
	line-height: 1.5;
}

.philosophy-mission {
	position: relative;
	background: url(../img/company/philosophy-bg-sp.jpg) center bottom no-repeat;
	background-size: cover;
	width: 100vw;
	height: 54rem;
	margin-left: -2rem;
	margin-right: -2rem;
	padding-top: 4rem;
}

.philosophy-mission p {
	font-size: 1.8rem;
	line-height: 2;
	text-align: center;
}

.philosophy-vision .box {
	border: 2px solid #eee;
	border-radius: 1rem;
	padding: 2rem 1.5rem 2.5rem 1.5rem;
	font-size: 1.3rem;
	line-height: 2;
}

.philosophy-vision h3 {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 1.5rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
	color: #000;
}

.philosophy-vision h3 img {
	width: 6.4rem;
	margin-right: 1rem;
}

.philosophy-vision p {
	text-align: center;
}

.philosophy-guide {
	counter-reset: item;
	border-top: 1px solid #eee;
}

.philosophy-guide .box {
	position: relative;
	border-bottom: 1px solid #eee;
	width: 100%;
	padding: 2.2rem 0 2.2rem 6rem;
	font-size: 1.4;
	line-height: 1.6;
}

.philosophy-guide .box:before {
	counter-increment: item;
	content: counter(item);
	position: absolute;
	top: 1.3rem;
	left: 0.5rem;
	font-size: 6rem;
	font-family: lato, sans-serif;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
	color: #4ca535;
}

.philosophy-guide h3 {
	margin-bottom: 1rem;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
	color: #4ca535;
}

.sdgs-sustainable {
	position: relative;
	background: url(../img/company/sdgs-bg.jpg) center center no-repeat;
	background-size: cover;
	width: 100vw;
	margin-left: -2rem;
	margin-right: -2rem;
	padding: 4rem 2rem;
}

.sdgs-sustainable h3 {
	margin-bottom: 2rem;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.1em;
	text-align: center;
	color: #4ca535;
}

.sdgs-sustainable p {
	margin-top: 1.5rem;
	font-size: 1.6rem;
	line-height: 2;
}

.sdgc-logo {
	margin-bottom: 2rem;
	text-align: center;
}

.sdgc-txt {
	margin-top: 1.5rem;
	font-size: 1.4rem;
}

.sdgc-icon {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: 2rem auto -0.8rem auto;
}

.sdgc-icon li {
	position: relative;
	width: 5rem;
	margin-bottom: 0.8rem;
}

.set-column {
	position: relative;
	width: 100%;
	margin: 3rem 0;
}

.set-column .img-area {
	position: relative;
	width: 100vw;
	margin: 0 -2rem 1.8rem -2rem;
}

.set-column .img-box {
	border-radius: 0;
	z-index: 1;
}

.set-column .img-area .icon {
	display: flex;
	position: absolute;
	bottom: 1rem;
	left: 2rem;
	width: 33rem;
	white-space: nowrap;
	z-index: 2;
}

.set-column .img-area .icon li {
	width: 4rem;
	margin: 0 0.3rem 0 0;
}

.set-column .read-area {
	width: 100%;
	font-size: 1.4rem;
}

.set-column .read-area li:before {
	color: #4ca535;
}

.set-column h3 {
	margin-bottom: 1.5rem;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.3;
	color: #4ca535;
}

.recruit-contribution {
	background: url(../img/company/recruit-bg-sp.jpg) center center no-repeat;
	background-size: cover;
	width: 100%;
	padding: 6rem 0;
	font-size: 1.6rem;
	line-height: 1.8;
	color: #fff;
}

.recruit-contribution h2 {
	margin-bottom: 3rem;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-align: center;
	text-shadow: 0 0 1rem rgba(0, 0, 0, 0.8);
}

.recruit-contribution p {
	margin-top: 1.5rem;
	text-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.8);
}

.recruit-member {
	margin-bottom: 6rem;
}

.recruit-flow {
	width: 100%;
}

.recruit-flow li {
	position: relative;
	border-radius: 1rem;
	background-color: #eef8ee;
	background-position: 3rem center;
	background-repeat: no-repeat;
	background-size: 5rem;
	width: 100%;
	margin-bottom: 3rem;
	padding: 0 4rem 0 8rem;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 8rem;
	text-align: center;
	color: #000;
}

.recruit-flow li:after {
	content: "";
	position: absolute;
	bottom: -2.5rem;
	left: 50%;
	width: 0;
	height: 0;
	margin-left: -2rem;
	border-style: solid;
	border-width: 2rem 2rem 0 2rem;
	border-color: #4ca535 transparent transparent transparent;
}

.recruit-flow li:last-child {
	margin-bottom: 0;
}

.recruit-flow li:last-child:after {
	display: none;
}

.recruit-flow li:nth-of-type(1) {
	background-image: url(../img/company/recruit-icon_01.svg);
}

.recruit-flow li:nth-of-type(2) {
	background-image: url(../img/company/recruit-icon_02.svg);
}

.recruit-flow li:nth-of-type(3) {
	background-image: url(../img/company/recruit-icon_03.svg);
}

.recruit-jobdata {
	border-radius: 1rem;
	background-color: #f8f8f8;
	width: 100%;
	margin-bottom: 2rem;
	padding: 2rem;
	font-size: 1.4rem;
	line-height: 1.6;
}

.recruit-jobdata h4 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #ddd;
	width: 100%;
	margin-bottom: 1.5rem;
	padding-bottom: 2rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1;
	color: #4ca535;
}

.recruit-jobdata h4 ul {
	display: flex;
}

.recruit-jobdata h4 ul li {
	border-radius: 0.4rem;
	background-color: #4ca535;
	margin-left: 0.4rem;
	padding: 0.4rem 0.8rem 0.5rem 0.8rem;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1;
	color: #fff;
}

.recruit-jobdata dl {
	width: 100%;
}

.recruit-jobdata dl dt {
	margin-bottom: 0.4rem;
}

.recruit-jobdata dl dd {
	margin-bottom: 1rem;
	padding-left: 1em;
}

.recruit-jobdata div {
	width: 100%;
	margin-top: 2.5rem;
	text-align: right;
}

.recruit-jobdata .btn {
	position: relative;
	margin: 0 0 1.2rem 0;
}

.recruit-jobdata .btn a {
	position: relative;
	z-index: 1;
}

.recruit-jobdata .btn .pre {
	position: absolute;
	top: -1.5rem;
	left: -1.5rem;
	display: block;
	border-radius: 4rem;
	background-color: #ee0;
	width: 4rem;
	height: 4rem;
	font-size: 1.2rem;
	font-weight: 700;
	text-align: center;
	line-height: 4rem;
	color: #4ca535;
	z-index: 2;
}

.recruit-jobdata .no-data {
	width: 100%;
	font-size: 1.6rem;
	font-weight: 700;
	text-align: center;
	line-height: 1;
}










/* about-us */

#title-area.native.about-us {
	background-image: url(../img/about-us/about-us-main-sp.jpg);
}

.top-message {
	font-size: 1.4rem;
	line-height: 1.8;
}

.top-message p {
	margin-top: 1.5rem;
}

.top-message .image {
	width: 15rem;
	margin: 0 auto;
}

.top-message .name {
	margin-top: 2rem;
	text-align: right;
	line-height: 1.2;
}

.top-message .name img {
	width: 10.6rem;
	margin-top: 1.2rem;
	vertical-align: bottom;
}

.our-value {
	width: 100%;
}

.our-value .box {
	width: 100%;
	margin-bottom: 4rem;
	font-size: 1.4rem;
	line-height: 1.8;
}

.our-value .box:last-child {
	margin-bottom: 0;
}

.our-value h3 {
	display: flex;
	justify-content: center;
	align-items: center;
	border: 2px solid #eee;
	border-radius: 1rem;
	width: 100%;
	margin-bottom: 2rem;
	padding: 1.6rem 2rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

.our-value h3 img {
	display: block;
	width: 6.4rem;
	margin: 0 2rem 0 0;
}

.president {
	position: relative;
	height: 48.728vw;
}

.president .head2 {
	position: absolute;
	margin: 0;
	top: 50%;
	left: 5%;
	transform: translate(0, -50%);
	width: 65%;
}

.top-message .president .image {
	position: absolute;
	margin: 0;
	width: 100%;
	float: none;
}

.top-message .president .pc {
	display: none;
}

.top-message .president .sp {
	display: block;
}









/* news */

.news-tab {
	position: relative;
	display: flex;
	width: 100%;
	width: calc(100% + 2rem);
	white-space: nowrap;
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
}

.news-tab:after {
	content: "";
	position: relative;
	display: block;
	width: 2rem;
	padding-right: 2rem;
	height: 1px;
}

.news-tab li {
	position: relative;
	border-bottom: 1px solid #eee;
	background-color: #fff;
	height: 3.6rem;
	padding: 0 2rem;
	font-size: 1.4rem;
	line-height: 1;
	white-space: nowrap;
	text-align: center;
}

.news-tab li:after {
	content: "";
	display: none;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #4ca535;
	width: 100%;
	height: 4px;
}

.news-tab li.active {
	font-weight: 700;
	color: #4ca535;
}

.news-tab li.active:after {
	display: block;
}

.news-list {
	width: 100%;
}

.news-list a {
	color: #333;
}

.news-list a:hover {
	color: #4ca535;
}

.news-list li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	border-bottom: 1px solid #eee;
	padding: 1.6rem 0;
	font-size: 1.4rem;
	line-height: 1;
}

.news-list li .day {
	width: 9.5rem;
	font-family: Lato, sans-serif;
	color: #888;
	white-space: nowrap;
}

.news-list li .cat {
	border-radius: 0.4rem;
	background-color: #f8f8f8;
	width: 11rem;
	height: 2.6rem;
	margin-right: 2rem;
	padding: 0 0.5rem;
	font-size: 1.1rem;
	line-height: 2.48rem;
	letter-spacing: 0;
	text-align: center;
	white-space: nowrap;
}

.news-list li a {
	display: block;
	width: 100%;
	margin-top: 0.9rem;
	line-height: 1.4;
}

.pager {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-top: 4rem;
}

.pager .page,
.pager .cut {
	width: 4rem;
	height: 4rem;
	margin: 0.1rem;
}

.pager .page a,
.pager .cut {
	display: block;
	border-radius: 0.4rem;
	background-color: #4ca535;
	width: 4rem;
	height: 4rem;
	font-family: "Lato", sans-serif;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 3.8rem;
	text-align: center;
	text-decoration: none;
	color: #fff;
}

.pager .page.active a {
	background-color: #f8f8f8;
	color: #888;
}

.pager .prev-page,
.pager .next-page {
	width: 50%;
	margin-top: 2rem;
	line-height: 1;
}

.pager .prev-page {
	order: 999;
	text-align: left;
}

.pager .next-page {
	order: 1000;
	text-align: right;
}

.pager .prev-page a,
.pager .next-page a {
	position: relative;
	font-size: 1.4rem;
	font-weight: 700;
	color: #4ca535;
}

.pager .prev-page a {
	padding-left: 1.5rem;
}

.pager .next-page a {
	padding-right: 1.5rem;
}

.pager .prev-page a:before,
.pager .next-page a:before {
	content: "";
	position: absolute;
	top: 50%;
	display: block;
	border-top: 2px solid #4ca535;
	border-right: 2px solid #4ca535;
	width: 0.7rem;
	height: 0.7rem;
	margin-top: -0.3rem;
}

.pager .prev-page a:before {
	left: 0;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

.pager .next-page a:before {
	right: 0;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#title-area .news-title {
	display: block;
	height: auto;
	margin-bottom: 6rem;
	padding-top: 6rem;
}

#title-area .news-title ul {
	display: flex;
	align-items: center;
}

#title-area .news-title .cat {
	border-radius: 0.4rem;
	background-color: #f8f8f8;
	width: 11rem;
	height: 3rem;
	margin-right: 1.5rem;
	padding: 0 0.5rem;
	font-size: 1.1rem;
	line-height: 2.8rem;
	letter-spacing: 0;
	text-align: center;
	white-space: nowrap;
}

#title-area .news-title .day {
	font-family: Lato, sans-serif;
	font-size: 1.4rem;
	font-weight: 400;
	color: #888;
	white-space: nowrap;
}

#title-area .news-title h1 {
	border-bottom: 1px solid #eee;
	width: 100%;
	margin-top: 1rem;
	padding-bottom: 6rem;
	font-size: 2.8rem;
	line-height: 1.4;
}

.txt-area {
	font-size: 1.4rem;
	line-height: 1.8;
}

.txt-area strong {
	font-weight: 700;
}

.txt-area em {
	font-style: italic;
	font-weight: 400;
}

.txt-area a {
	position: relative;
	color: #4ca535;
}

.txt-area a[target="_blank"] {
	background: url(../img/icon-blank.svg) right center no-repeat;
	background-size: 1.2rem;
	padding-right: 1.6rem;
	white-space: nowrap;
}

.txt-area p {
	margin: 2rem 0;
}

.txt-area ul {
	margin: 3rem 0;
}

.txt-area ol {
	counter-reset: item;
	margin: 3rem 0;
}

.txt-area ul li,
.txt-area ol li {
	position: relative;
	margin: 0.5rem 0;
	padding-left: 2.2rem;
	line-height: 1.6;
}

.txt-area ul li:before {
	content: "\30FB";
	position: absolute;
	top: 0;
	left: 0.5rem;
	font-weight: 700;
	color: #4ca535;
}

.txt-area ol li:before {
	counter-increment: item;
	content: counter(item);
	position: absolute;
	top: 0.1rem;
	left: 0;
	font-family: lato, sans-serif;
	font-weight: 700;
	letter-spacing: 0;
	color: #4ca535;
}

.txt-area h2 {
	position: relative;
	border-left: 5px solid #4ca535;
	margin: 6rem 0 3rem 0;
	padding-left: 1.4rem;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	color: #000;
}

.txt-area h3 {
	position: relative;
	margin: 4rem 0 2rem 0;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.4;
	color: #4ca535;
}

.txt-area h4 {
	position: relative;
	margin: 4rem 0 2rem 0;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	color: #000;
}

.txt-area hr {
	border-top: 2px solid #eee;
	margin: 4rem 0;
}

.txt-area table,
.read-area table {
	position: relative;
	display: block;
	width: 100%;
	margin: 2rem 0 3rem 0;
	white-space: nowrap;
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
}

.txt-area table:before,
.read-area table:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	border: 2px solid #fff;
	border-radius: 6rem;
	background: url(../img/icon-swipe.svg) center center no-repeat;
	background-size: 6rem;
	width: 6rem;
	height: 6rem;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 2;
}

.txt-area table.touch:before,
.read-area table.touch:before {
	display: none;
}

.txt-area table tbody,
.read-area table tbody {
	position: relative;
	display: table;
	width: 90rem;
}

.txt-area table th,
.read-area table th {
	vertical-align: top;
	border: 2px solid #fff;
	background-color: #4ca535;
	padding: 1.4rem 1rem;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	color: #fff;
}

.txt-area table td,
.read-area table td {
	vertical-align: top;
	border: 2px solid #fff;
	background-color: #f8f8f8;
	padding: 1.4rem 1rem;
	font-size: 1.3rem;
	line-height: 1.6;
	white-space: normal;
	word-wrap: break-word;
	word-break: break-word;
}

.txt-area table.table2,
.read-area table.table2 {
	width: 100%;
	margin: 2rem 0 3rem 0;
}

.txt-area table.table2 th,
.read-area table.table2 th {
	vertical-align: top;
	border: 1px solid #ededed;
	background-color: #4ca535;
	padding: 1.4rem 1rem;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	color: #fff;
}

.txt-area table.table2 tr td:first-child,
.read-area table.table2 tr td:first-child {
	vertical-align: top;
	border: 1px solid #ededed;
	background-color: #eef8ee;
	padding: 1.4rem 1rem;
	font-size: 1.3rem;
	line-height: 1.6;
	white-space: normal;
	word-wrap: break-word;
	word-break: break-word;
}

.txt-area table.table2 td,
.read-area table.table2 td {
	vertical-align: top;
	border: 1px solid #ededed;
	background-color: #fff;
	padding: 1.4rem 1rem;
	font-size: 1.3rem;
	line-height: 1.6;
	white-space: normal;
	word-wrap: break-word;
	word-break: break-word;
}

.txt-area table.table3,
.read-area table.table3 {
	width: 100%;
	margin: 2rem 0 3rem 0;
}

.txt-area table.table3 th,
.read-area table.table3 th {
	vertical-align: top;
	border: 1px solid #ededed;
	background-color: #eef8ee;
	padding: 1.4rem 1rem;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	color: #000;
}

.txt-area table.table3 td,
.read-area table.table3 td {
	vertical-align: top;
	border: 1px solid #ededed;
	background-color: #fff;
	padding: 1.4rem 1rem;
	font-size: 1.3rem;
	line-height: 1.6;
	white-space: normal;
	word-wrap: break-word;
	word-break: break-word;
}

.txt-area table.table4,
.read-area table.table4 {
	width: 100%;
	margin: 2rem 0 3rem 0;
}

.txt-area table.table4 th,
.read-area table.table4 th {
	vertical-align: top;
	border: 1px solid #ededed;
	background-color: #fff;
	padding: 1.4rem 1rem;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	color: #000;
}

.txt-area table.table4 td,
.read-area table.table4 td {
	vertical-align: top;
	border: 1px solid #ededed;
	background-color: #fff;
	padding: 1.4rem 1rem;
	font-size: 1.3rem;
	line-height: 1.6;
	white-space: normal;
	word-wrap: break-word;
	word-break: break-word;
}

.txt-area .image-txt {
	width: 100%;
	margin: 4rem 0;
}

.txt-area .image-txt .image {
	margin-bottom: 2rem;
}

.txt-area .image-single {
	width: 100%;
	margin: 4rem 0;
	font-size: 0;
}

.txt-area .image-list {
	width: 100%;
	margin: 4rem 0;
}

.txt-area .image-list div {
	margin-bottom: 1rem;
}

.txt-area .image-list div:last-child {
	margin-bottom: 0;
}

.txt-area .news-linkbtn {
	margin: 4rem 0;
}

.txt-area .news-linkbtn a {
	position: relative;
	display: block;
	border: 1px solid #eee;
	border-radius: 0.4rem;
	background: #fff;
	width: 100%;
	margin-bottom: 1rem;
	padding: 2rem 2.5rem 2rem 2rem;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	color: #4ca535;
}

.txt-area .news-linkbtn a:last-child {
	margin-bottom: 0;
}

.txt-area .news-linkbtn a:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 1.5rem;
	display: block;
	border-top: 1px solid #4ca535;
	border-right: 1px solid #4ca535;
	width: 1rem;
	height: 1rem;
	margin-top: -0.45rem;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
}

.txt-area .news-linkbtn a dt {
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.txt-area .news-linkbtn a dd {
	width: 100%;
	margin-top: 1.2rem;
	font-size: 1.8rem;
	font-weight: 700;
	color: #000;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.txt-area h2:first-child,
.txt-area h3:first-child,
.txt-area h4:first-child,
.txt-area p:first-child,
.txt-area ul:first-child,
.txt-area ol:first-child,
.txt-area hr:first-child,
.txt-area table:first-child,
.txt-area .image-txt:first-child,
.txt-area .image-single:first-child,
.txt-area .image-list:first-child {
	margin-top: 0 !important;
}

.txt-area h2:last-child,
.txt-area h3:last-child,
.txt-area h4:last-child,
.txt-area p:last-child,
.txt-area ul:last-child,
.txt-area ol:last-child,
.txt-area hr:last-child,
.txt-area table:last-child,
.txt-area .image-txt:last-child,
.txt-area .image-single:last-child,
.txt-area .image-list:last-child {
	margin-bottom: 0 !important;
}

.news-btm {
	border-top: 1px solid #eee;
	margin-top: 6rem;
}

.read-area {
	font-size: 1.4rem;
}

.read-area a {
	position: relative;
	text-decoration: underline;
	color: #4ca535;
}

.read-area p,
.read-area ul {
	margin: 1rem 0;
}

.read-area ol {
	counter-reset: item;
	margin: 1rem 0;
}

.read-area ul li {
	position: relative;
	padding-left: 2rem;
	line-height: 1.6;
}

.read-area ol li {
	position: relative;
	padding-left: 2.2rem;
	line-height: 1.6;
}

.read-area ul li:before {
	content: "\30FB";
	position: absolute;
	top: 0;
	left: 0.6rem;
	font-weight: 700;
	letter-spacing: 0;
	color: #4ca535;
}

.read-area ol li:before {
	counter-increment: item;
	content: counter(item)".";
	position: absolute;
	top: 0;
	left: 0;
	font-family: lato, sans-serif;
	letter-spacing: 0;
	color: #4ca535;
}

.read-area p:first-child,
.read-area ul:first-child,
.read-area ol:first-child {
	margin-top: 0;
}

.read-area p:last-child,
.read-area ul:last-child,
.read-area ol:last-child {
	margin-bottom: 0;
}

.txt-box {
	background-color: #eef8ee;
	margin: 2rem 0;
	padding: 2rem;
	font-size: 1.4rem;
}

.txt-box .head2,
.txt-box .head3,
.txt-box .head4,
.txt-box .head5 {
	margin: 2rem 0 1rem 0;
}

.txt-box strong {
	font-size: 1.4rem;
	color: #4ca535;
}

.txt-box-b {
	border: solid 1px #4ca535;
	margin: 2rem 0;
	padding: 2rem;
	font-size: 1.4rem;
}

#contents.single .inner .txt-box h2:first-child,
#contents.single .inner-mid .txt-box h2:first-child,
#contents.single .inner .txt-box-b h2:first-child,
#contents.single .inner-mid .txt-box-b h2:first-child,
#contents.single .inner .txt-box h3:first-child,
#contents.single .inner-mid .txt-box h3:first-child,
#contents.single .inner .txt-box-b h3:first-child,
#contents.single .inner-mid .txt-box-b h3:first-child,
#contents.single .inner .txt-box h4:first-child,
#contents.single .inner-mid .txt-box h4:first-child,
#contents.single .inner .txt-box-b h4:first-child,
#contents.single .inner-mid .txt-box-b h4:first-child,
#contents.single .inner .txt-box h5:first-child,
#contents.single .inner-mid .txt-box h5:first-child,
#contents.single .inner .txt-box-b h5:first-child,
#contents.single .inner-mid .txt-box-b h5:first-child {
	margin-top: 0;
}







/* contact */

.form-tel {
	font-weight: 700;
	color: #4ca535;
}

.form-tel strong {
	font-size: 2rem;
}

.form-req {
	color: #c33;
}

.infor-column.form-area dd {
	padding: 0;
}

.infor-column .form-req {
	position: absolute;
	top: 0;
	right: 0;
}

.form-area input[type="text"],
.form-area input[type="tel"],
.form-area input[type="email"],
.form-area input[type="url"],
.form-area select,
.form-area textarea {
	vertical-align: middle;
	border: none;
	border-radius: 0.4rem;
	background-color: #f8f8f8;
	width: 100%;
	height: 5rem;
	margin-bottom: 0.5rem;
	padding: 1.5rem;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	color: #333;
}

.form-area input[type="text"]:last-child,
.form-area input[type="tel"]:last-child,
.form-area input[type="email"]:last-child,
.form-area input[type="url"]:last-child,
.form-area select:last-child,
.form-area textarea:last-child {
	margin-bottom: 0;
}

.form-area select {
	background-color: #f8f8f8;
	background-image: url(../img/icon-select.svg);
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 2rem;
	padding: 1.5rem 2.5rem 1.5rem 1.5rem;
}

@media all and (-ms-high-contrast:none) {
	.form-area select {
		background-image: none;
	}
}

.form-area textarea {
	width: 100%;
	height: 20rem;
	line-height: 1.6;
}

.form-area .short1 {
	width: 15rem !important;
}

.form-area label input[type="radio"],
.form-area label input[type="checkbox"] {
	display: none;
}

.form-area label input[type="radio"]+span,
.form-area label input[type="checkbox"]+span {
	display: inline-flex;
	align-items: center;
	position: relative;
	border-radius: 0.4rem;
	background-color: #f8f8f8;
	width: 100%;
	height: 5rem;
	padding-left: 5rem;
	font-size: 1.4rem;
	line-height: 1.2rem;
	white-space: nowrap;
	cursor: pointer;
}

.form-area label input[type="radio"]+span:before,
.form-area label input[type="checkbox"]+span:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 1.5rem;
	display: block;
	border: 5px solid #ccc;
	background-color: #fff;
	width: 2.4rem;
	height: 2.4rem;
	margin-top: -1.2rem;
}

.form-area label input[type="radio"]+span:before {
	border-radius: 2.4rem;
}

.form-area label input[type="radio"]:checked+span {
	background-color: #e1f0dd;
}

.form-area label input[type="radio"]:checked+span:before,
.form-area label input[type="checkbox"]:checked+span:before {
	border: 5px solid #4ca535;
}

.form-area .check-list {
	position: relative;
	width: 100%;
	margin-bottom: -0.5rem;
}

.form-area .check-list label {
	display: block;
	width: 100%;
	margin-bottom: 0.5rem;
}

.form-area input[type="text"]+span {
	vertical-align: top;
	display: inline-block;
	height: 5rem;
	padding-left: 1rem;
	font-size: 1rem;
	line-height: 5rem;
	color: #999;
}

.form-area .error {
	margin-top: 0.6rem;
	font-size: 1.2rem;
	color: #bf5c5c;
}


/* item */

.item .txt-area table tbody,
.item .read-area table tbody {
	width: 100%;
}

.item table th {
	width: 100%;
	vertical-align: middle;
	display: block;
}

.item table td {
	width: 100%;
	display: block;
}

.caption {
	font-size: 1.15rem;
	color: #666;
}

.banner-title {
	font-size: 2.8rem;
	font-weight: 700;
	letter-spacing: calc(25.6em / 1000);
	text-align: center;
	margin-top: 8rem;
	margin-bottom: 4rem;
}

.slider {
	width: max(305px, calc(100vw / 375 * 305));
	max-width: 100%;
	display: block;
	margin: 0 auto;
	transition: opacity .3s ease;
}

.slider img {
	aspect-ratio: 3/2;
	object-fit: cover;
	object-position: 50% 50%;
	width: 100%;
	height: 100%;
}

a.slider:hover {
	opacity: .37;
}

/* 前へ次への矢印カスタマイズ */
div.swiper-button-prev,
div.swiper-button-next {
	transition: all .3s ease;
	opacity: 0;
}

div.swiper-button-prev svg,
div.swiper-button-next svg{
	flex-basis: max(calc(100vw / 375 * 36), 36px);
	flex-shrink: 0;
	height: auto;
}

div.swiper-button-prev {
	transform: scale(-1, 1);
	left: 0;
}

div.swiper-button-next {
	right: 0;
}

/* 前への矢印カスタマイズ */
div.swiper-button-prev::after {
	display: none;
}

/* 次への矢印カスタマイズ */
div.swiper-button-next::after {
	display: none;
}

.swiper-button-prev:hover .slider-arrow-back,
.swiper-button-next:hover .slider-arrow-back {
	fill: #0FA958;
}

.swiper-button-prev:hover .slider-arrow,
.swiper-button-next:hover .slider-arrow {
	stroke: #fff;
}

.slider-arrow-back {
	transition: fill .3s ease, stroke .3s ease;
}

.swiper-container {
	position: relative;
}

/* interview ページ */
.interview__content{
	max-width: initial;
	width: 100%;
	padding: 0 2rem;
}

.interview__title {
	margin-bottom: 1rem;
	font-size: 2.4rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
	text-align: center;
	color: #4ca535;
}

.interview__subTitle {
	line-height: 1.6;
	font-size: 1.8rem;
	color: #1D3035;
	text-align: center;
	font-weight: 700;
}

.interview__list {
	display: block;
	margin: 7rem auto 7rem;
}

.interview__listItem:not(:last-child) {
	margin-bottom: 5rem;
}

.interview__listItemTitle {
	font-size: 2.4rem;
	color: #4ca535;
	text-align: center;
	line-height: 1.6;
	letter-spacing: 0.1em;
	margin-bottom: 2rem;
}

.interview__listItemImg {
	border-top-left-radius: 2rem;
	border-top-right-radius: 2rem;
	width: 100%;
}

.interview__listItemText {
	padding: 1.8rem 0 1.8rem;
	background-color: #4ca535;
	text-align: center;
	font-weight: 500;
	line-height: 1.4;
	color: white;
	font-size: 2rem;
	border-bottom-left-radius: 2rem;
	border-bottom-right-radius: 2rem;
}

.interview__relatedBox {
	max-width: initial;
	width: 100%;
	padding: 0 2rem;
}


/* interviewの記事ページ */
.interveiwSingle__inner {
	margin-bottom: 10rem;
}

.interveiwSingle__content {

}

.interveiwSingle__titleBox {
	text-align: center;
	padding: 0 2rem;
}

.interveiwSingle__title {
	font-size: 1.6rem;
	color: #4CA535;
	line-height: 1.2;
	font-weight: 900;
	letter-spacing: 0.05em;
	padding-bottom: 0.8rem;
	border-bottom: 1px solid #4CA535;
	margin: 0 auto 3.8rem;
	width: 14rem;
}

.interveiwSingle__titleText {
	font-size: 1.6rem;
	line-height: 2;
	font-weight: 700;
	letter-spacing: 0.05em;
}

.interveiwSingle__profileBox {
	margin-top: 7rem;
}

.interveiwSingle__profileTitleBox {
	max-width: initial;
	padding: 0 2rem;
	margin: 0 auto;
	width: 100%;
}

.interveiwSingle__profileTitle {
	font-size: 2.4rem;
	font-weight: 900;
	letter-spacing: 0.05em;
	margin-bottom: 0rem;
	color: #4CA535;
}

.interveiwSingle__profileTitleText {
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.05em;
}

.interveiwSingle__profileList {
	margin-bottom: 10rem;
	margin-top: 4rem;
}

.interveiwSingle__profileListItem {
	background-color: #6CCA54;
	padding: 4rem 0;
	max-width: initial;
	width: 95%;
	display: block;
}

.interveiwSingle__profileListItem:nth-child(odd) {
	border-top-right-radius: 3rem;
	border-bottom-right-radius: 3rem;
	margin: 0 2rem 0 0;
	display: grid;
	justify-content: center;
}

.interveiwSingle__profileListItem:nth-child(even) {
	border-top-left-radius: 3rem;
	border-bottom-left-radius: 3rem;
	margin: 0 0 0 2rem;
	display: grid;
	justify-content: center;
}

.interveiwSingle__profileListItem:not(:last-child) {
	margin-bottom: 4rem;
}

.interveiwSingle__profileImgBox {
	text-align: center;
	margin-top: 2rem;
	width: 23.4rem;
}

.interveiwSingle__profileInfoBox {
	
}

.interveiwSingle__profileInfoList {

}

.interveiwSingle__profileInfoName {
	font-weight: 700;
	font-size: 2.4rem;
	letter-spacing: 0.05em;
	color: white;
	line-height: 1.4;
	margin-bottom: 2rem;
}

.interveiwSingle__profileInfo {
	display: flex;
}

.interveiwSingle__profileInfo:not(:last-child){
	margin-bottom: 1.2rem;
}

.interveiwSingle__profileInfoText {
	font-weight: 700;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	color: white;
	line-height: 1.4;
}

.interveiwSingle__profileImg {
	border-radius: 50%;
	border: 10px solid white;
}

.interveiwSingle__interviewContent {
	max-width: initial;
	width: 100%;
	margin: 0 auto;
	padding: 0 2rem;
}

.interveiwSingle__commentBox {
	margin-bottom: 1.6rem;
}

.interveiwSingle__interviewComment {
	margin-bottom: 5rem;
}

.interveiwSingle__interviewQuestion {
	font-size: 2rem;
	line-height: 1.4;
	font-weight: 500;
	padding-left: 2rem;
	border-left: 0.4rem solid #4CA535;
	margin-bottom: 2rem;
}

.interveiwSingle__comment {
	font-size: 1.6rem;
	line-height: 2.5;
}

.interveiwSingle__interviewImgLargeBox {
	margin-bottom: 5rem;
	width: 100%;
}

.interveiwSingle__interviewImgMiddleBox {
	margin: 0 auto 5rem;
	max-width: initial;
	width: 100%;
}

.interveiwSingle__btnBox {
	display: grid;
	padding: 0 2rem;
	gap: 2rem 0;
	margin-top: 7rem;
}

.recruit__banner {
	padding-top: 20px;
}

.recruit__bannerTextBox {
	display: flex;
	gap: 5px;
	margin-bottom: 13px;
	align-items: center;
}

.recruit__bannerText {
	font-size: 16px;
	color: #333;
}

.recruit__bannerTextImg {
	width: 18px;
}

.recruit__bannerLink {
	display: block;
	transition: 0.5s all;
}

.recruit__bannerImgPc {
	display: none;
}

.recruit__bannerImgSp {
	display: block;
}
