@charset "UTF-8";

/* recruit
---------------------------------------------------------------------------*/

/* .sec-point
---------------------------------------------------------------------------*/
.sec-point {
	width: 1077px;
	margin: -25px auto 110px;
	padding-top: 0;
}

.sec-point > p {
	font-size: 17px;
	line-height: 2.2;
	letter-spacing: 0.12em;
	text-align: center;
}

.sec-point > h2 {
	margin: 90px auto 90px;
	text-align: center;
}

.sec-point {
	margin: 0 auto 50px;
}

.service-list {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.service-list li {
	width: 330px;
	margin: 0 0 70px;
}

.service-list li a {
	display: block;
}

.service-list figure {
	position: relative;
	margin-bottom: 28px;
}

.service-list figcaption {
	position: absolute;
	top: -18px;
	left: -14px;
}

.service-list h3 {
	margin-bottom: 18px;
}

.service-list .title-bracket span {
	width: 250px;
}

.service-list .title-bracket strong {
	padding-right: 0;
	padding-left: 0;
	letter-spacing: 0.15em;
}

.service-list p {
	font-size: 14px;
	text-align: justify;
	padding: 0 2px;
	line-height: 1.9;
}


/* .sec-policy
---------------------------------------------------------------------------*/
.sec-policy {
	width: 1120px;
	margin: 0 auto 170px;
}

/* .policy-main
------------------------------------*/
.policy-main {
	margin-bottom: 120px;
}

.policy-main figure {
	margin-bottom: 70px;
}

.policy-main figure img {
	border-radius: 39px;
}

.policy-main .txt {
	position: relative;
	padding: 0 0 0 275px;
}

.policy-main .txt h2 {
	position: absolute;
	top: -185px;
	left: 98px;
}

.policy-main .txt .character {
	position: absolute;
	top: -115px;
	left: 370px;
}

.policy-main .txt p {
	font-size: 17px;
	line-height: 2.1;
	letter-spacing: 0.13em;
}

/* .policy-sub
------------------------------------*/
.policy-sub {
	position: relative;
	width: 1020px;
	margin: 0 auto;
}

.policy-sub figure .img2,
.policy-sub figure .img3,
.policy-sub .character {
	display: block;
	position: absolute;
	z-index: 0;
}

.policy-sub figure .img2 {
	top: -100px;
	right: 18px;
}

.policy-sub figure .img3 {
	top: 360px;
	right: -37px;
}

.policy-sub .character {
	top: 500px;
	right: 375px;
}

.policy-sub .txt {
	position: relative;
	z-index: 1;
}

.policy-sub .txt h2 {
	margin-bottom: 60px;
}

.policy-sub .txt h2 span {
	display: inline-block;
	position: relative;
	padding-bottom: 11px;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.2em;
}

.policy-sub .txt h2 span:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #FFDE00;
	width: calc(100% - 4px);
	height: 3px;
}

.policy-sub .txt h3 {
	margin-bottom: 32px;
}

.policy-sub .txt h4 {
	margin-bottom: 32px;
	color: #009530;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.25em;
}

.policy-sub .txt p {
	margin-bottom: 18px;
	font-size: 16px;
	line-height: 2.4;
	letter-spacing: 0.08em;
}


/* .img-scroll
---------------------------------------------------------------------------*/
.img-scroll {
	display: -webkit-box;
	display: flex;
	overflow: hidden;
	width: 100%;
	margin-bottom: 120px;
}

.img-scroll .slide {
	position: relative;
	display: flex;
	width: 2214px;
	animation: infinity-loop1 100s infinite linear both;
}

/*
.img-scroll .slide figure {
	margin-right: 1px;
}
*/

@keyframes infinity-loop1 {
  from { transform: translateX(0); }
  to { transform: translateX(-2214px); }
}


/* .sec-message
---------------------------------------------------------------------------*/
.sec-message {
	width: 952px;
	margin: 0 auto 180px;
}

.sec-message h2 {
	font-size: 14px;
}

.sec-message .inner {
	display: -webkit-box;
	display: flex;
	justify-content: space-between;
}

.sec-message figure {
	width: 460px;
	min-width: 460px;
}

.sec-message .txt {
	width: 420px;
}

.sec-message .txt p {
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.95;
	letter-spacing: 0.03em;
	text-align: justify;
}

.sec-message .txt .name {
	margin: 20px 0 40px;
	color: #1A9B41;
	font-size: 18px;
	letter-spacing: 0.2em;
	text-align: right;
}

.sec-message .txt .name:last-of-type {
	margin-bottom: 0;
}


/* .sec-job
---------------------------------------------------------------------------*/
.sec-job {
	width: 1024px;
	margin: 0 auto;
}

.sec-job .inner {
	border-top: 1px solid #009530;
}

.sec-job .inner:last-of-type {
	border-bottom: 1px solid #009530;
	margin-bottom: 0;
}

.sec-job .inner h2 {
	position: relative;
	background-color: #FFFFFF;
	padding: 39px 100px 39px 45px;
	color: #009530;
	font-size: 21px;
	font-weight: 500;
	letter-spacing: 0.2em;
	cursor: pointer;
	transition: .2s cubic-bezier(0.645, 0.045, 0.355, 1); /* easeInOutCubic */
}

.sec-job .inner h2:hover {
	background-color: #F2F9F4;
}

.sec-job .inner h2 i {
	display: block;
	position: absolute;
	top: 27px;
	right: 32px;
	transform: rotate(90deg);
	transition: .2s ease-out;
}

.sec-job .inner h2.active i {
	transform: rotate(270deg);
}

.sec-job .detail {
	display: none;
}

.sec-job .detail-inner {
	padding: 30px 38px 80px;
}

.sec-job .detail-inner > dl > div,
.sec-job .detail-inner p {
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.sec-job .detail-inner > dl > div {
	display: -webkit-box;
	display: flex;
	border-bottom: 1px solid rgba(0,0,0,0.2);
	margin-bottom: 19px;
	padding: 0 8px 21px;
}

.sec-job .detail-inner > dl > div:last-of-type {
	margin-bottom: 0;
}

.sec-job .detail-inner > dl dt {
	width: 220px;
	min-width: 220px;
	color: #009530;
	font-weight: 500;
	letter-spacing: 0.15em;
}

.sec-job .detail-inner > dl dd span:last-of-type i {
	display: none;
}

.sec-job .detail-inner p.attention {
	margin-top: 4px;
	font-size: 13px;
}