@charset "UTF-8";

/* = top
----------------------------------------------- */
/* .top_main */

.top_main {
	background: #f0f0f0;
}
.top_main img.sp {
	display: none;
}
.top_main img.pc {
	width: 100%;
}

/*.wrapMov*/
.wrapMov {
	width: 100%;
	min-width: 1000px;
	position: relative;
	padding-top: 70px;
}
.movBox {
	position: relative;
	width: 100%;
	padding: 0 0 56.0606%; 
	margin-top: 0;
	z-index: 1;
	background: #fff;
}
.movBox video {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0;
	width: 100%;
	z-index: 2;
}
.movBox:not(.js_active)::before {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    content: "";
}
.movBox:not(.js_active)::after {
    position: absolute;
    top: 40%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 280px;
    height: 88px;
    background-image: url("../img/top/loading_logo.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
	transition: 0.5s;
}
.movBox .wave {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	z-index: 4;
}
.movBox .catchBox.fadeIn {
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -175px;
	width: 720px;
	height: 270px;
	background: rgba(0,0,0,0.7);
	box-sizing: border-box;
	padding: 55px 20px 0 115px;
	z-index: 5;
	color: #fff;
	font-feature-settings: "palt";
	letter-spacing: 0.25em;
	transition: 1s;
	opacity: 0;
	transform: translateY(0);
}
.movBox .catchBox.fadeIn.animated {
	opacity: 1;
	transition-delay: 1s;
}
.movBox .catchBox .catch {
	font-size: 4.8rem;
	padding-bottom: 0.35em;
	font-weight: 700;
	line-height: 1;
}
.movBox .catchBox .sub {
	font-size: 2.1rem;
	font-weight: 700;
	line-height: 1;
	padding: 0 0 0.3em;
}
.movBox .catchBox .btnR {
	padding-bottom: 20px;
}

@media screen and (max-width: 767px) {
	.wrapMov {
		min-width: auto;
		margin-top: 180px;
		background: #000;
	}
	.movBox:not(.js_active)::after {
		width: 30vw;
		height: auto;
	}
	.movBox .catchBox.fadeIn {
		position: absolute;
		top: -180px;
		left: 0;
		margin-top: 0px;
		width: 100%;
		height: 180px;
		background: rgba(0,0,0,1);
		box-sizing: border-box;
		padding: 45px 0 0 5%;
		z-index: 5;
		transition: 0;
		opacity: 1;
	}
	.movBox .catchBox .catch {
		font-size: 7.1vw;
	}
	.movBox .catchBox .sub {
		font-size: 3.4666vw;
		padding: 0.4em 0 0;
	}
}

@media screen and (max-width: 767px) {
	.top_main {
		padding-top: 48px;
	}
	.top_main img.sp {
		display: block;
	}
	.top_main img.pc {
		display: none;
	}
	
}

/* .top_intro */
.top_intro {
	background: url("../img/top/top_intro.jpg") no-repeat center bottom / 100% auto;
	position: relative;
	padding: 110px 40px 170px;
	text-align: center;
}
.top_intro .wave {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
}
.top_intro .shoulder {
	font-size: 3.6rem;
	color: #009944;
	line-height: 1.4;
}
.top_intro h2 {
	font-size: 4.0rem;
	font-weight: 700;
	line-height: 1.4;
	padding: 0.3em 0 1.5em;
}
.top_intro .text {
	line-height: 2.4;
	text-align: center;
}
.top_intro .btnR {
	margin: 2.5em auto;
}

@media screen and (min-width: 768px) {
}

@media screen and (max-width: 767px) {
	.top_intro {
		background: url("../img/top/top_intro.jpg") no-repeat center bottom / auto 70%;
		padding: 55px 5% 110px;
	}
	.top_intro .wave {
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
	}
	.top_intro .shoulder {
		font-size: 6.4vw;
	}
	.top_intro h2 {
		font-size: 7.4666vw;
	}
	.top_intro .text {
		text-align: left;
	}
}

/* .top_sec01 */
.top_sec01 {
	padding: 130px 0 70px;
	background: url("../img/shared/bg_wave_green.svg") no-repeat left top 105px / 100% auto;
}
.top_sec01 .wrap1400 {
	position: relative;
	height: 503px;
}
.top_sec01 .textBox {
	position: absolute;
	top: 0;
	left: 8.5%;
	background: rgba(0,153,68,0.9);
	width: 56.67%;
	max-width: 680px;
	padding: 48px 2% 25px 5%;
	box-sizing: border-box;
	color: #fff;
	z-index: 2;
}
.top_sec01 .wrap1400 figure {
	position: absolute;
	top: 100px;
	right: 0;
	z-index: 1;
}
.top_sec01 .h2Box {
	position: relative;
}
.top_sec01 .h2Box .num {
	position: absolute;
	top: -0.15em;
	left: 0;
}
.top_sec01 .h2Box .shoulder {
	padding-left: 140px;
}
.top_sec01 .h2Box h2 {
	padding-left: 140px;
}

/* .h2Box */
.top_sec .h2Box .num {
	font-size: 10.0rem;
	font-weight: 600;
	line-height: 1;
}
.top_sec .h2Box .shoulder {
	font-size: 2.7rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1;
	padding-bottom: 0.45em;
}
.top_sec .h2Box h2 {
	font-size: 3.0rem;
	font-weight: 700;
	line-height: 1.2;
}
.top_sec .text {
	margin: 2.8em 0 0.5em;
}

@media screen and (max-width: 767px) {
	.top_sec01 {
		padding: 65px 0 0;
		background: url("../img/shared/bg_wave_green.svg") no-repeat left top 20px / 100% auto;
	}
	.top_sec01 .wrap1400 {
		position: relative;
		height: auto;
	}
	.top_sec01 .textBox {
		position: inherit;
		top: 0;
		left: 0;
		background: rgba(0,153,68,0.9);
		width: 90%;
		max-width: auto;
		padding: 30px 2% 15px 5%;
	}
	.top_sec01 .wrap1400 figure {
		position: inherit;
		top: -50px;
		right: 0;
		left: 10%;
		width: 90%;
		height: 240px;
		z-index: 1;
	}
	.top_sec01 .wrap1400 figure img {
		object-fit: cover;
		width: auto;
		height: 100%;
	}
	.top_sec01 .h2Box {
		position: relative;
	}
	.top_sec01 .h2Box .num {
		position: absolute;
		top: -0.15em;
		left: 0;
	}
	.top_sec01 .h2Box .shoulder {
		padding-left: 20vw;
	}
	.top_sec01 .h2Box h2 {
		padding-left: 20vw;
	}

	/* .h2Box */
	.top_sec .h2Box .num {
		font-size: 17.3vw;
	}
	.top_sec .h2Box .shoulder {
		font-size: 4.8vw;
		line-height: 1.1;
		padding-bottom: 0.3em;
	}
	.top_sec .h2Box h2 {
		font-size: 5.2vw;
	}
	.top_sec .text {
		margin: 1.6em 0 0.2em;
	}
}

/* .top_sec02 */
.top_sec02 {
	padding: 70px 0 0px;
	background: url("../img/shared/bg_wave_orange.svg") no-repeat left top 0px / 100% auto;
	position: relative;
}
.top_sec02 > figure {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;
}
.top_sec02 .wrap1400 {
	position: relative;
	height: 625px;
}
.top_sec02 .textBox {
	position: absolute;
	top: 140px;
	right: 8.5%;
	background: rgba(255,166,61,0.9);
	width: 39.00%;
	max-width: 546px;
	min-width: 480px;
	padding: 48px 5% 25px 5%;
	box-sizing: border-box;
	color: #fff;
	z-index: 3;
	text-align: right;
}
.top_sec02 .wrap1400 figure:nth-of-type(1) {
	position: absolute;
	top: 0;
	right: 41.1%;
	z-index: 2;
}
.top_sec02 .wrap1400 figure:nth-of-type(2) {
	position: absolute;
	top: 360px;
	left: 0;
	z-index: 1;
}
.top_sec02 .h2Box {
	position: relative;
}
.top_sec02 .h2Box .num {
	position: absolute;
	top: -0.15em;
	right: 0;
}
.top_sec02 .h2Box .shoulder {
	padding-right: 140px;
}
.top_sec02 .h2Box h2 {
	padding-right: 140px;
}
.top_sec02 .text {
	text-align: right;
}
.top_sec02 .btnR {
	text-align: right!important;
}

@media screen and (min-width: 768px) {
}

@media screen and (max-width: 767px) {
	.top_sec02 {
		padding: 35px 0 0px;
		background: url("../img/shared/bg_wave_orange.svg") no-repeat left top 0px / 100% auto;
		position: relative;
	}
	.top_sec02 > figure {
	}
	.top_sec02 .wrap1400 {
		height: auto;
	}
	.top_sec02 .textBox {
		position: inherit;
		top: 0;
		right: 0;
		left: 10%;
		margin-top: 15px;
		background: rgba(255,166,61,0.9);
		width: 90%;
		max-width: auto;
		min-width: auto;
		padding: 30px 5% 15px 5%;
	}
	.top_sec02 .wrap1400 figure:nth-of-type(1) {
		position: inherit;
		top: 0;
		left: 0;
		right: 10%;
		width: 90%;
		margin-top: -20px;
		z-index: 1;
	}
	.top_sec02 .wrap1400 figure:nth-of-type(2) {
		position: inherit;
		top: -35px;
		left: 10%;
		right: 35%;
		width: 55%;
		z-index: 2;
	}
	.top_sec02 .h2Box {
		position: relative;
	}
	.top_sec02 .h2Box .num {
		position: absolute;
		top: -0.15em;
		right: 0;
	}
	.top_sec02 .h2Box .shoulder {
		padding-right: 22vw;
	}
	.top_sec02 .h2Box h2 {
		padding-right: 22vw;
	}
	.top_sec02 .text {
		text-align: right;
	}
	.top_sec02 .btnR {
		text-align: right!important;
	}
}

/* .top_sec03 */
.top_sec03 {
	margin-top: -40px;
	padding: 0 0 0px;
	background: url("../img/shared/bg_wave_blue.svg") no-repeat left top 70px / 100% auto;
	position: relative;
}
.top_sec03 > figure {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;
}
.top_sec03 .wrap1400 {
	position: relative;
	height: 725px;
	box-sizing: border-box;
}
.top_sec03 .textBox {
	position: absolute;
	top: 230px;
	left: 50%;
	margin-left: -245px;
	background: rgba(24,149,228,0.9);
	max-width: 490px;
	padding: 48px 2% 25px 5%;
	box-sizing: border-box;
	color: #fff;
	z-index: 2;
}
.top_sec03 .textBox .btnWrap {
	text-align: center;
	margin: 0 9.5% 0 0;
	z-index: 20; 
}
.top_sec03 .textBox .btnR:first-of-type {
	margin: 1.5em auto 8px;
}
.top_sec03 .textBox .btnR:last-of-type {
	margin: 8px auto 1.5em;
}
.top_sec03 .wrap1400 figure:nth-of-type(1) {
	position: absolute;
	top: 200px;
	left: 0;
	z-index: 1;
}
.top_sec03 .wrap1400 figure:nth-of-type(2) {
	position: absolute;
	top: 200px;
	right: 0;
	z-index: 1;
}
.top_sec03 .h2Box {
	position: relative;
}
.top_sec03 .h2Box .num {
	position: absolute;
	top: -0.15em;
	left: 0;
}
.top_sec03 .h2Box .shoulder {
	padding-left: 140px;
}
.top_sec03 .h2Box h2 {
	padding-left: 140px;
}

@media screen and (min-width: 768px) {
}

@media screen and (max-width: 767px) {
	.top_sec03 {
		margin-top: -20px;
		padding: 0 0 0px;
		background: url("../img/shared/bg_wave_blue.svg") no-repeat left top 35px / 100% auto;
	}
	.top_sec03 > figure {
	}
	.top_sec03 .wrap1400 {
		position: relative;
		height: auto;
	}
	.top_sec03 .textBox {
		position: inherit;
		top: 80px;
		left: 10%;
		right: 90%;
		margin-left: 0;
		background: rgba(24,149,228,0.9);
		width: 80%;
		padding: 30px 5% 15px 5%;
	}
	.top_sec03 .textBox .btnWrap {
		text-align: center;
		margin: 0 0 0 0;
	}
	.top_sec03 .textBox .btnR:first-of-type {
	}
	.top_sec03 .textBox .btnR:last-of-type {
	}
	.top_sec03 .wrap1400 figure:nth-of-type(1) {
		position: inherit;
		top: 0;
		left: 0;
		right: 50%;
		width: 50%;
		margin-top: 60px;
		z-index: 1;
	}
	.top_sec03 .wrap1400 figure:nth-of-type(2) {
		position: inherit;
		top: 0;
		left: 50%;
		right: 0;
		width: 50%;
		margin-top: -51.2%;
		z-index: 1;
	}
	.top_sec03 .h2Box {
		position: relative;
	}
	.top_sec03 .h2Box .num {
		position: absolute;
		top: -0.15em;
		left: 0;
	}
	.top_sec03 .h2Box .shoulder {
		padding-left: 22vw;
	}
	.top_sec03 .h2Box h2 {
		padding-left: 22vw;
	}
}

/* .top_sec04 */
.top_sec04 {
	margin-top: 0;
	padding: 0 0 0px;
	background: url("../img/shared/bg_wave_red.svg") no-repeat left top 103px / 100% auto;
	position: relative;
}
.top_sec04 > figure {
	position: absolute;
	top: -60px;
	left: 0;
	width: 100%;
	z-index: 10;
}
.top_sec04 .wrap1400 {
	position: relative;
	height: 760px;
}
.top_sec04 .textBox {
	position: absolute;
	top: 225px;
	right: 8.5%;
	background: rgba(210,0,54,0.9);
	width: 38.93%;
	max-width: 545px;
	min-width: 460px;
	padding: 48px 5% 25px 2%;
	box-sizing: border-box;
	color: #fff;
	z-index: 3;
	text-align: right;
}
.top_sec04 .imgSet {
	position: absolute;
	top: 175px;
	left: 0;
	width: 55.1429%;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
}
.top_sec04 .imgSet figure {
	width: 25%;
}
.top_sec04 .h2Box {
	position: relative;
}
.top_sec04 .h2Box .num {
	position: absolute;
	top: -0.15em;
	right: 0;
}
.top_sec04 .h2Box .shoulder {
	padding-right: 140px;
}
.top_sec04 .h2Box h2 {
	padding-right: 140px;
}
.top_sec04 .text {
	text-align: right;
}
.top_sec04 .btnR {
	text-align: right!important;
}

@media screen and (min-width: 768px) {
}

@media screen and (max-width: 767px) {
	.top_sec04 {
		margin-top: 0;
		padding: 0 0 40px;
		background: url("../img/shared/bg_wave_red.svg") no-repeat left top 35px / 100% auto;
		position: relative;
	}
	.top_sec04 > figure {
		position: absolute;
		top: -30px;
		left: 0;
		width: 100%;
		z-index: 10;
	}
	.top_sec04 .wrap1400 {
		position: relative;
		height: auto;
	}
	.top_sec04 .textBox {
		position: inherit;
		top: 75px;
		right: 0%;
		left: 10%;
		width: 90%;
		background: rgba(210,0,54,0.9);
		max-width: auto;
		min-width: auto;
		padding: 30px 5% 15px 5%;
	}
	.top_sec04 .imgSet {
		position: inherit;
		top: 0;
		left: 0;
		right: 10%;
		width: 90%;
		height: 240px;
		margin-top: 55px;
		z-index: 1;
	}
	.top_sec04 .h2Box {
		position: relative;
	}
	.top_sec04 .h2Box .num {
		position: absolute;
		top: -0.15em;
		right: 0;
	}
	.top_sec04 .h2Box .shoulder {
		padding-right: 22vw;
	}
	.top_sec04 .h2Box h2 {
		padding-right: 22vw;
	}
	.top_sec04 .text {
		text-align: right;
	}
	.top_sec04 .btnR {
		text-align: right!important;
	}
}

/* ----------------------------------------------- */
/* common layout */
.layout01 .sec01 {
	background-color: #fafaf8;
	background-image: url("../img/shared/bg_wave_white_t.svg"), url("../img/shared/bg_wave_white_b2.svg");
	background-repeat: no-repeat, no-repeat;
	background-position: center top, center bottom;
	background-size:  100% auto, 100% auto;
	padding: 100px 0 100px;
	margin: 0 auto;
	position: relative;
}
.layout01 .sec01 .wave1 {
	position: absolute;
	top: 30px;
	left: 0;
	right: 0;
	width: 100%;
	opacity: 0.5;
}
.layout01 .sec01 .wave2 {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	opacity: 0.5;
}

@media screen and (max-width: 767px) {
	.layout01 .sec01 {
		padding: 30px 0 30px;
		margin: 0;
	}
	.layout01 .sec01 .wave1 {
		top: 15px;
	}
	.layout01 .sec01 .wave2 {
		bottom: 0;
	}
}

/* = company / index
----------------------------------------------- */
/* #company */
#company .main {
	background-color: #f5fafc;
	background-image: url("../img/company/index_main.jpg");
	background-position: center bottom;
	background-size: auto 100%;
	position: relative;
	height: 1732px;
	color: #333;
	margin: 0 auto;
	padding: 70px 50px 0;
	box-sizing: border-box;
	text-align: center;
}
#company .main .mainIn {
	top: 0;
	left: 0;
	right: 0;
	max-width: 1400px;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	padding: 225px 50px 360px;
	box-sizing: border-box;
	text-align: center;
}
#company .main .logo {
	padding: 0 auto;
	box-sizing: border-box;
}
#company .main .h1Shoulder {
	color: #d3efe7;
	font-size: 4.6rem;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0.08em;
	padding-top: 135px;
	padding-bottom: 0.4em; 
}
#company .main .h1Title {
	font-size: 3.0rem;
	line-height: 1.1;
	padding-bottom: 1.6em;
}
#company .main .text {
	margin: 0 auto 2.4em;
	line-height: 2.4em;
}
#company .main .catch {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 2.0em;
}

@media screen and (max-width: 767px) {
	#company .main {
		height: 300vw;
		padding: 50px 0 0;
	}
	#company .main .mainIn {
		max-width: auto;
		padding: 120px 5% 0;
	}
	#company .main .logo {
		max-width: 280px;
		width: 80%;
		margin: 0 auto;
		padding: 0 auto;
	}
	#company .main .h1Shoulder {
		font-size: 7.2vw;
		padding-top: 2em;
	}
	#company .main .h1Title {
		font-size: 5.2vw;
	}
	#company .main .text {
		text-align: left;
	}
	#company .main .catch {
		font-size: 4.5vw;
		line-height: 2.1em;
		text-align: left;
	}
}

#company .sec01 {
	text-align: center;
}
#company .sec01 .jinbustuBox {
	display: inline-block;
	margin: 0 auto 30px;
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
}
#company .sec01 .jinbustuBox p {
	font-size: 2.5rem;
	line-height: 1.4;
	margin: 0 auto 0.8em;
	text-align: left;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
#company .sec01 .jinbustuBox p span:nth-child(1) {
	display: inline-block;
	width: 1.4em;
	font-size: 1.8em;
	font-weight: 600;
	line-height: 1;
	padding-right: 0.6em;
	box-sizing: border-box;
	text-align: center;
	color: #009944;
	margin: 0 0 0.24em;
	vertical-align: middle;
}
#company .sec01 .column {
	background: #fafaf8;
	padding: 5em 1em;
	text-align: center;
}
#company .sec01 .column p {
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif!important;
	font-size: 2.6rem;
	line-height: 1.4;
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
}
#company .sec01 .column p span {
	display: inline-block;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 0.6em;
	color: #009944;
	margin-right: 1.5em;
	margin-bottom: 0.4em;
	vertical-align: middle;
}

@media screen and (max-width: 767px) {
	#company .sec01 .jinbustuBox {
		margin: 0 auto 15px;
	}
	#company .sec01 .jinbustuBox p {
		font-size: 4.2vw;
		margin: 0 auto 1.5em;
	}
	#company .sec01 .jinbustuBox p span:nth-child(1) {
		margin: 0 0 0.24em;
	}
	#company .sec01 .column {
		padding: 2em 1em;
	}
	#company .sec01 .column p {
		font-size: 4.8vw;
	}
	#company .sec01 .column p span {
		display: block;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 0.6em;
		color: #009944;
		margin-right: 1.5em;
		margin-bottom: 0.4em;
		vertical-align: middle;
	}
}

#company .sec02 {
	padding: 30px 0 0;
}
#company .sec02 h4 {
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	color: #009944;
	padding-top: 3em;
	padding-bottom: 0.6em;
}

@media screen and (max-width: 767px) {
	#company .sec02 {
		padding: 15px 0 0;
	}
	#company .sec02 h4 {
		font-size: 4.4vw;
	}
}


/* = company / culture
----------------------------------------------- */
/* #culture */
#culture .main {
	background-image: url("../img/company/culture_main.jpg");
	background-position: center center;
	color: #fff;
}

#culture .secIntro {
	position: relative;
	margin-top: 50px;
	text-align: center;
}
#culture .secIntro .wave {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	opacity: 0.5;
}
#culture .secIntro .wrap1400 {
	padding: 0 50px 20px;
}
#culture .secIntro .lead {
}

@media screen and (max-width: 767px) {
	#culture .secIntro {
		margin-top: 50px;
	}
	#culture .secIntro .wrap1400 {
		padding: 0 5% 20px;
	}
	#culture .secIntro .lead {
	}
}

#culture .sec01 {
	background-color: #fafaf8;
	background-image: url("../img/shared/bg_wave_white_t.svg"), url("../img/shared/bg_wave_white_b.svg");
	background-repeat: no-repeat, no-repeat;
	background-position: center top, center bottom;
	background-size:  100% auto, 100% auto;
	padding: 100px 0 100px;
	margin: 0 auto;
	position: relative;
}
#culture .sec01 .wave1 {
	position: absolute;
	top: 30px;
	left: 0;
	right: 0;
	width: 100%;
	opacity: 0.5;
}
#culture .sec01 .wave2 {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	opacity: 0.5;
}
#culture .sec01 .h4Catch {
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif!important;
	font-size: 4.2rem;
	line-height: 1.5;
	padding: 2em auto 0;
	text-align: center;
}
#culture .sec01 figure {
	text-align: center;
	margin: 6em auto 30px;
}

@media screen and (max-width: 767px) {
	#culture .sec01 {
		padding: 30px 0 30px;
		margin: 0;
	}
	#culture .sec01 .wave1 {
		top: 15px;
	}
	#culture .sec01 .wave2 {
		bottom: 0;
	}
	#culture .sec01 .h4Catch {
		font-size: 7.2vw;
	}
	#culture .sec01 figure {
		text-align: center;
		margin: 3em auto 20px;
	}
}

#culture .sec02 .lead {
	text-align: center;
}
#culture .sec02 .h4SubHead {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 2.3em;
	margin-bottom: 0.6em;
	font-size: 3.0rem;
	font-weight: 700;
	line-height: 1.4;
}
#culture .sec02 .h4SubHead span:nth-child(1) {
	display: inline-block;
	font-size: 1.6em;
	font-weight: 600;
	color: #009944;
	margin-right: 0.5em;
	padding-bottom: 0.1em;
}

@media screen and (max-width: 767px) {
	#culture .sec02 {
	}
	#culture .sec02 .h4SubHead {
		justify-content: flex-start;
		align-items: flex-start;
		font-size: 4.9vw;
	}
	#culture .sec02 .h4SubHead span:nth-child(1) {
		padding-bottom: 0;
		margin-top: -0.32em;
	}
}

#culture .sec03 {
	margin: 80px auto 0;
}
#culture .sec03 .serviceSet {
	display: flex;
	justify-content: space-between;
}
#culture .sec03 .serviceSet > div {
	width: 47.06%;
	max-width: 480px;
}
#culture .sec03 .serviceSet h5 {
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1;
	color: #009944;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1em;
}
#culture .sec03 .serviceSet h5::before,
#culture .sec03 .serviceSet h5::after {
	display: table;
	content: "";
	border-bottom: 1px solid #009944;
	width: calc(50% - 3.4em);
	height: 50%;
}
#culture .sec03 .serviceSet ul {
	display: flex;
	flex-wrap: wrap;
}
#culture .sec03 .serviceSet ul > li {
	margin: 0 16px 16px 0;
	width: calc(50% - 8px);
}
#culture .sec03 .serviceSet ul > li:nth-child(even) {
	margin: 0 0 16px 0;
}
#culture .sec03 .serviceSet ul > li figure img {
	width: 100%;
}

@media screen and (max-width: 767px) {
	#culture .sec03 {
		margin: 40px auto 0;
	}
	#culture .sec03 .serviceSet {
		display: block;
	}
	#culture .sec03 .serviceSet > div {
		width: auto;
		max-width: 100%;
		margin-top: 20px;
	}
	#culture .sec03 .serviceSet h5 {
		font-size: 4.8vw;
	}
	#culture .sec03 .serviceSet h5::before,
	#culture .sec03 .serviceSet h5::after {
		display: table;
		content: "";
		border-bottom: 1px solid #009944;
		width: calc(50% - 3.4em);
		height: 50%;
	}
}

/* = company / about
----------------------------------------------- */
/* #about */
#about .main {
	background-image: url("../img/company/about_main.jpg");
	background-position: center center;
	color: #fff;
}

#about .secIntro {
	position: relative;
	margin-top: 50px;
	text-align: center;
}
#about .secIntro .wave {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	opacity: 0.5;
}
#about .secIntro .wrap1400 {
	padding: 0 50px 20px;
}
#about .secIntro .lead {
}

@media screen and (max-width: 767px) {
	#about .secIntro {
		margin-top: 50px;
	}
	#about .secIntro .wrap1400 {
		padding: 0 5% 20px;
	}
	#about .secIntro .lead {
	}
}

#about h4 {
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.5;
	color: #009944;
	padding: 1em 0 1.4em;
}
#about .nest {
	display: flex;
	justify-content: space-between;
	padding-bottom: 4em;
}
#about .nest .textBox {
	width: 56%;
}
#about .nest figure {
	width: 40%;
}
#about .nest.nest06 .textBox {
	width: 40%;
}
#about .nest.nest06 figure {
	width: 56%;
}

@media screen and (max-width: 767px) {
	#about .nest {
		display: block;
	}
	#about .nest .textBox {
		width: auto;
	}
	#about .nest figure {
		width: auto;
		margin: 1.5em 0 0;
	}
	#about .nest.nest06 .textBox {
		width: auto;
	}
	#about .nest.nest06 figure {
		width: auto;
		margin: 1.5em 0 0;
	}
}

/* = company / data
----------------------------------------------- */
/* #data */
#data .main {
	background-image: url("../img/company/data_main.jpg");
	background-position: center center;
	color: #fff;
}

#data .secIntro {
	position: relative;
	margin-top: 50px;
	text-align: center;
}
#data .secIntro .wave {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	opacity: 0.5;
}
#data .secIntro .wrap1400 {
	padding: 0 50px 20px;
}
#data .secIntro .lead {
}

@media screen and (max-width: 767px) {
	#data .secIntro {
		margin-top: 50px;
	}
	#data .secIntro .wrap1400 {
		padding: 0 5% 20px;
	}
	#data .secIntro .lead {
	}
}

#data .sec01 {
	margin: 0 auto;
	position: relative;
}
#data .sec01 .wave1 {
	position: absolute;
	top: -40px;
	left: 0;
	right: 0;
	width: 100%;
	opacity: 0.5;
}
#data .sec01 .wave2 {
	position: absolute;
	bottom: -90px;
	left: 0;
	right: 0;
	width: 100%;
	opacity: 0.5;
}
#data .sec01 .wrap1400 {
	position: inherit;
}
#data .ulDataList {
	max-width: 1180px;
	width: 100%;
	padding: 0px 10px 0px;
	margin: 30px auto 0;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	z-index: 99;
}
#data .ulDataList li {
	background: #eff7f3;
	margin: 10px;
	padding: 35px 30px 25px;
	text-align: center;
	color: #009944;
	box-sizing: border-box;
}
#data .ulDataList li.con2 {
	width: calc( calc(100% - 40px) / 2 );
}
#data .ulDataList li.con3 {
	width: calc( calc(100% - 60px) / 3 );
}
#data .ulDataList h4 {
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.3;
}
#data .ulDataList figure {
	margin: 0.9em auto 0.2em;
	height: 60px;
}
#data .ulDataList .data {
	font-size: 7.2rem;
	font-weight: 700;
	line-height: 1;
}
#data .ulDataList .data span {
	font-size: 0.35em;
}
#data .ulDataList .notes {
	text-align: left;
	margin: 1.4em 0 0;
	font-size: 1.4rem;
	line-height: 1.7;
}

@media screen and (max-width: 767px) {
	#data .sec01 {
		padding: 40px 0 30px;
		margin: 0;
	}
	#data .sec01 .wave1 {
		top: 15px;
	}
	#data .sec01 .wave2 {
		bottom: 0;
	}
	#data .ulDataList {
		max-width: auto;
		width: auto;
		padding: 0px 5% 0px;
		margin: 30px auto 0;
		display: block;
	}
	#data .ulDataList li {
		margin: 20px 0;
		padding: 35px 30px 25px;
		text-align: center;
		color: #009944;
		box-sizing: border-box;
	}
	#data .ulDataList li.con2 {
		width: auto;
	}
	#data .ulDataList li.con3 {
		width: auto;
	}
	#data .ulDataList h4 {
		font-size: 4.4vw;
	}
	#data .ulDataList figure {
		margin: 0.9em auto 0.2em;
		height: 60px;
	}
	#data .ulDataList .data {
		font-size: 11.0vw;
	}
	#data .ulDataList .data span {
	}
	#data .ulDataList .notes {
		text-align: left;
		font-size: 3.7vw;
	}
}


/* = job / index
----------------------------------------------- */
/* job */
#job .main {
	background-image: url("../img/job/job_main.jpg");
	background-position: center center;
	color: #fff;
}

#job .secIntro {
	position: relative;
	margin-top: 50px;
	text-align: center;
}
#job .secIntro .wave {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	opacity: 0.5;
}
#job .secIntro .wrap1400 {
	padding: 0 50px 20px;
}
#job .secIntro .lead {
}

@media screen and (max-width: 767px) {
	#job .secIntro {
		margin-top: 50px;
	}
	#job .secIntro .wrap1400 {
		padding: 0 5% 20px;
	}
	#job .secIntro .lead {
		text-align: left;
	}
}

#job .sec011 {
	max-width: 820px;
	margin: 0 auto;
	padding-bottom: 40px;
	position: relative;
}

#job .sec011 figure {
	text-align: center;
	margin: 0 auto 50px;
}
#job .sec011 .btnSet {
	display: flex;
	justify-content: space-between;
	margin: 30px auto;
	z-index: 30;
}

@media screen and (max-width: 767px) {
	#job .sec011 {
		padding: 0 5% 20px;
	}

	#job .sec011 figure {
		text-align: center;
		margin: 0 auto 30px;
	}
	#job .sec011 .btnSet {
		display: block;
		margin: 30px auto;
	}
}


#job .sec012 {
	max-width: 1020px;
	margin: 0 auto;
	padding-bottom: 60px;
}

@media screen and (max-width: 767px) {
	#job .sec012 {
		margin: 0 auto;
		padding: 0 5% 30px;
	}
}

#job table th {
	width: 12em;
}

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

}

/* = career / index
----------------------------------------------- */
/* #career */
#career .main {
	background-image: url("../img/career/index_main.jpg");
	background-position: center center;
	color: #fff;
}

#career .secIntro {
	position: relative;
	margin-top: 50px;
	text-align: center;
	z-index:9;
}
#career .secIntro .wrap1400 {
	padding: 0 50px 20px;
}
#career .secIntro .secIntroIn {
	max-width: 960px;
	width: 100%;
	margin: 0 auto;
	position: relative;
}

@media screen and (max-width: 767px) {
	#career .secIntro {
		margin-top: 30px;
	}
	#career .career01 .secIntro .wrap1400 {
		padding: 0 0 20px 5%;
		width: 100%;
		box-sizing: border-box;
		overflow-x: hidden;
	}
	#career .career02 .secIntro .wrap1400 {
		padding: 0 5% 20px 0;
		width: 100%;
		box-sizing: border-box;
		overflow-x: hidden;
	}
	#career .secIntro .secIntroIn {
		max-width: 100%;
	}
}

#career .secIntroIn figure {
	position: absolute;
	width: 16.67%;
	max-width: 180px;
}
#career .career01 .secIntroIn figure {
	top: -40px;
	right: -50px;
}
#career .career02 .secIntroIn figure {
	top: -40px;
	left: -50px;
}
#career .secIntroIn .h2Catch {
	position: inherit;
	width: 84%;
	text-align: left;
	font-size: 4.75rem;
}
#career .career01 .secIntroIn .h2Catch {
	margin: 0;
}
#career .career02 .secIntroIn .h2Catch {
	margin-left: 18%;
}
#career .secIntroIn .textBox {
	width: 84%;
	text-align: left;
}
#career .career01 .secIntroIn .textBox {
	margin: 0;
}
#career .career02 .secIntroIn .textBox {
	margin-left: 18%;
}
#career .secIntroIn .textBox .nameShoulder {
	font-size: 2.0rem;
	font-weight: 700;
	text-align: 1.4;
	padding: 0.4em 0 0.9em;
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
}
#career .secIntroIn .textBox .name {
	font-size: 3.4rem;
	font-weight: 700;
	text-align: 1.4;
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
}
#career .secIntroIn .ulStep {
	display: flex;
	justify-content: flex-start;
	padding-top: 7.2em;
}
#career .secIntroIn .ulStep li {
	max-width: 230px;
	width: calc(33% - 36px);
	margin-right: 36px;
	background: #f5f4f3;
	padding: 12px 20px 20px 25px;
	box-sizing: border-box;
	position: relative;
}
#career .secIntroIn .ulStep li:last-child {
	margin-right: 0;
}
#career .secIntroIn .ulStep li::after {
	position: absolute;
	top: 26px;
	right: -28px;
	display: inline-block;
	content: "";
	width: 22px;
	height: 22px;
	background: url("../img/shared/icon_tri_r_blue.svg") no-repeat center center / 100% auto;
}
#career .secIntroIn .ulStep li:last-child::after {
	display: none;
}
#career .secIntroIn .ulStep li h4 {
	font-size: 4.4rem;
	font-weight: 600;
	color: #1895e4;
}
#career .secIntroIn .ulStep li h4 span {
	display: inline-block;
	font-size: 0.6em;
	padding-bottom: 0.2em;
	vertical-align: middle;
}
#career .secIntroIn .ulStep li .year {
	font-size: 1.6rem;
	font-weight: 700;
	padding: 0.5em 0 1.2em;
}
#career .secIntroIn .ulStep li .cts {
	font-size: 1.8rem;
	line-height: 1.6;
}

@media screen and (max-width: 767px) {
	#career .secIntroIn figure {
		width: 44%;
	}
	#career .career01 .secIntroIn figure {
		top: 0;
		right: -4%;
		z-index: 10;
	}
	#career .career02 .secIntroIn figure {
		top: 0;
		left: -7%;
		z-index: 10;
	}
	#career .secIntroIn .h2Catch {
		padding-top: 25px;
		font-size: 6.8vw;
		line-height: 1.3;
		width: 65%;
	}
	#career .career02 .secIntroIn .h2Catch {
		padding-left: 20%;
	}
	#career .career01 .secIntroIn .textBox {
		width: 85%;
	}
	#career .career02 .secIntroIn .textBox {
		width: 82.5%;
	}
	#career .secIntroIn .textBox .nameShoulder {
		font-size: 3.6vw;
	}
	#career .secIntroIn .textBox .name {
		font-size: 6.1vw;
	}
	#career .career01 .secIntroIn .textBox .nameShoulder {
		padding: 0.4em 25% 0.9em 0;
		width: 75%;
	}
	#career .career01 .secIntroIn .textBox .name {
		width: 75%;
		padding: 0 25% 0 0;
	}
	#career .career02 .secIntroIn .textBox .nameShoulder {
		padding: 0.4em 0 0.9em 25%;
		width: 75%;
	}
	#career .career02 .secIntroIn .textBox .name {
		width: 75%;
		padding: 0 0 0 25%;
	}
	#career .secIntroIn .ulStep {
		display: block;
	}
	#career .career01 .secIntroIn .ulStep {
		width: 75%;
		padding: 5.6em 25% 0 0;
	}
	#career .career02 .secIntroIn .ulStep {
		width: 75%;
		padding: 5.6em 0 0 25%;
	}
	#career .secIntroIn .ulStep li {
		max-width: 100%;
		width: 100%;
		margin-right: 0;
		margin-bottom: 30px;
		background: #f5f4f3;
		padding: 8px 15px 15px 15px;
		box-sizing: border-box;
		position: relative;
	}
	#career .secIntroIn .ulStep li:last-child {
		margin-bottom: 0;
	}
	#career .secIntroIn .ulStep li::after {
		top: auto;
		bottom: -25px;
		right: 50%;
		width: 22px;
		height: 22px;
		background: url("../img/shared/icon_tri_r_blue.svg") no-repeat center center / 100% auto;
		margin-right: -11px;
		text-align: center;
		transform: rotate(90deg);
	}
	#career .secIntroIn .ulStep li:last-child::after {
		display: none;
	}
	#career .secIntroIn .ulStep li h4 {
		font-size: 9.2vw;
	}
	#career .secIntroIn .ulStep li h4 span {
	}
	#career .secIntroIn .ulStep li .year {
		font-size: 3.4vw;
	}
	#career .secIntroIn .ulStep li .cts {
		font-size: 3.7vw;
	}
}

#career .h3Career {
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 1.0em;
}

#career .sec01 {
	position: relative;
	padding: 140px 0 80px;
}
#career .sec01 .wave1 {
	position: absolute;
	top: -130px;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 1;
	opacity: 0.5;
}
#career .sec01 .wave2 {
	position: absolute;
	bottom: -30px;
	left: 0;
	right: 0;
	z-index: 1;
	opacity: 0.5;
}

#career .sec01 .wrap1400 {
	padding: 0 50px;
	position: inherit;
	z-index: 2;
}
#career .sec01In {
	display: flex;
	justify-content: space-between;
	max-width: 1160px;
	margin: 0 auto;
	box-sizing: border-box;
}
#career .sec01In .textBox {
	width: 45.55%;
	box-sizing: border-box;
}
#career .sec01In .textBox .h3Career {
	color: #1895e4;
}
#career .sec01In .textBox .text {
	margin-bottom: 1.8em;
}
#career .sec01In figure {
	width: calc(49.78% + 50px);
	margin-right: -50px;
}

@media screen and (max-width: 767px) {
	#career .h3Career {
		font-size: 5.1vw;
	}
	#career .sec01 {
		padding: 40px 0 40px;
	}
	#career .sec01 .wave1 {
		top: -40px;
	}
	#career .sec01 .wave2 {
		bottom: 10px;
	}

	#career .sec01 .wrap1400 {
		padding: 0 5%;
	}
	#career .sec01In {
		display: block;
		max-width: 100%;
		margin: 0 auto;
	}
	#career .sec01In .textBox {
		width: 100%;
	}
	#career .sec01In .textBox .h3career {
	}
	#career .sec01In .textBox .text {
		margin-bottom: 1.8em;
	}
	#career .sec01In figure {
		width: 100%;
	}
}

#career .sec02 .wrap1400 {
	position: relative;
	padding: 0 50px;
}
#career .sec02 {
	margin-top: 0px;
}
#career .sec02 .wave1 {
	opacity: 0.5;
}
#career .sec02In {
	max-width: 1160px;
	margin: 0 auto;
	box-sizing: border-box;
	position: inherit;
}
#career .sec02In .h3career {
	color: #1895e4;
}
#career .sec02In .stepBox {
	display: flex;
	justify-content: space-between;
	margin: 4.5em 0 6em;
}
#career .sec02In .stepBox h4 {
	width: 158px;
	height: 158px;
	background: #1895e4;
	color: #fff;
	white-space: nowrap;
	font-size: 4.4rem;
	font-weight: 600;
	padding: 12px 20px 20px 25px;
	box-sizing: border-box;
}
#career .sec02In .stepBox h4 span {
	display: inline-block;
	font-size: 0.6em;
	padding-bottom: 0.2em;
	vertical-align: middle;
}
#career .sec02In .stepBox .textBox {
	flex: 1;
	margin-left: 50px;
	margin-top: -0.4em;
}
#career .sec02In .stepBox h5 {
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.5;
	padding-bottom: 0.4em;
	border-bottom: 2px dashed #1895e4;
	margin-bottom: 0.6em;
}

@media screen and (max-width: 767px) {
	#career .sec02 .wrap1400 {
		padding: 0 5%;
	}
	#career .sec02 {
	}
	#career .sec02 .wave1 {
	}
	#career .sec02In {
		max-width: 100%;
	}
	#career .sec02In .h3career {
	}
	#career .sec02In .stepBox {
		display: block;
		margin: 2.5em 0 3em;
	}
	#career .sec02In .stepBox h4 {
		width: 30vw;
		height: auto;
		font-size: 9.2vw;
		padding: 3px 15px 8px;
	}
	#career .sec02In .stepBox h4 span {
		display: inline-block;
		font-size: 0.6em;
		padding-bottom: 0.2em;
		vertical-align: middle;
	}
	#career .sec02In .stepBox .textBox {
		width: 100%;
		margin-left: 0;
		margin-top: 1em;
	}
	#career .sec02In .stepBox h5 {
		font-size: 4.2vw;
	}
}

#career .sec03 {
	position: relative;
	color: #fff;
	padding: 140px 0 0;
	margin-top: -10px;
	background-color: #1895e4;
	background-image: url("../img/shared/bg_wave_white_t2.svg"), url("../img/shared/bg_wave_white_b3.svg");
	background-repeat: no-repeat;
	background-position: left top, left bottom -150px;
	background-size: 100% auto, 100% auto;
}
#career .sec03 .wave1 {
	position: absolute;
	top: -40px;
	left: 0;
	right: 0;
	z-index: 20;
	opacity: 0.5;
}
#career .sec03 .wrap1400 {
	position: relative;
	padding: 0 50px;
}
#career .sec03In {
	max-width: 1160px;
	margin: 0 auto;
	box-sizing: border-box;
	color: #fff;
}
#career .sec03In figure {
	margin-top: 4em;
}

@media screen and (max-width: 767px) {
	#career .sec03 {
		padding: 40px 0 0;
		margin-top: -10px;
		margin-bottom: 20px;
		background-position: left top, left bottom -20px;
	}
	#career .sec03 .wave1 {
		top: -20px;
	}
	#career .sec03 .wrap1400 {
		padding: 0 5%;
	}
	#career .sec03In {
		max-width: 100%;
	}
	#career .sec03In figure {
		margin-top: 2em;
	}
	#career .sec03In figure img {
		width: 100%;
		height: 60vw;
		object-fit: cover;
	}
	#career .career01 .sec03In figure img {
		object-position: 30% 100%;
	}
	#career .career02 .sec03In figure img {
		object-position: 80% 100%;
	}
}

/* = career / 03
----------------------------------------------- */
/* #career03 */
#career03 .h3Subhead {
	background: #1895e4;
}
#career03 .main {
	background-image: url("../img/career/career03_main.jpg");
	background-position: left center;
	color: #fff;
}

#career03 .secIntro {
	position: relative;
	margin-top: 50px;
	text-align: center;
}
#career03 .secIntro .wave {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	opacity: 0.5;
}
#career03 .secIntro .wrap1400 {
	padding: 0 50px 20px;
}
#career03 .secIntro .lead {
}

@media screen and (max-width: 767px) {
	#career03 .secIntro {
		margin-top: 50px;
	}
	#career03 .secIntro .wrap1400 {
		padding: 0 5% 20px;
	}
	#career03 .secIntro .lead {
	}
}

#career03 .sec011 .lead {
	text-align: center;
}
#career03 .tblArea {
	margin-top: 40px;
}
#career03 .tblArea th {
	background: #f7fafb;
	color: #1895e4;
	font-size: 2.0rem;
	font-weight: 700;
	padding: 16px 30px 10px;
}
#career03 .tblArea th span {
	display: inline-block;
	width: 1em;
	text-align: center;
	font-size: 1.6em;
	vertical-align: middle;
	padding-bottom: 0.25em;
}
#career03 .tblArea td {
	text-align: center;
	padding: 33px 30px;
}
#career03 .tblArea td .text {
	text-align: left;
}
#career03 .tblArea dl {
	display: inline-block;
	text-align: center;
	margin: 2em auto 0;
	border-bottom: 1px solid #e9e9e9;
}
#career03 .tblArea dl::after {
	display: block;
	content: "";
	clear: both;
}
#career03 .tblArea dl .ttl {
	color: #1895e4;
	border-top: none;
}
#career03 .tblArea dl dt {
	float: left;
	clear: both;
	width: 8em;
	padding: 0.3em 1em;
	box-sizing: border-box;
	border-top: 1px solid #e9e9e9;
}
#career03 .tblArea dl dd {
	float: left;
	clear: none;
	width: calc(100% - 8em);
	padding: 0.3em 1em;
	box-sizing: border-box;
	border-top: 1px solid #e9e9e9;
	text-align: left;
}

@media screen and (max-width: 767px) {
	#career03 .sec011 .lead {
		text-align: left;
	}
	#career03 .tblArea {
		margin-top: 20px;
	}
	#career03 .tblArea th {
		font-size: 3.9vw;
		padding: 2px 15px 0px;
	}
	#career03 .tblArea th span {
		padding-bottom: 0.18em;
	}
	#career03 .tblArea td {
		padding: 15px 15px;
	}
	#career03 .tblArea td .text {
	}
	#career03 .tblArea dl {
	}
	#career03 .tblArea dl dt {
		width: 8em;
		padding: 0.3em 2em 0.3em 0;
	}
	#career03 .tblArea dl dd {
		width: calc(100% - 8em);
		padding: 0.3em 0em;
	}
}

#career03 .sec012 {
	padding: 80px 0 0;
	position: inherit;
}
#career03 .sec012 .lead {
	text-align: center;
}
#career03 .sec012 .column {
	border: 10px solid #d8e9f2;
	text-align: center;
	background: #fff;
	padding: 40px 20px 60px;
	margin-top: 40px;
}
#career03 .sec012 .textSet {
	display: flex;
	justify-content: space-between;
	width: 89.6%;
	margin: 60px auto 0px;
}
#career03 .sec012 .textSet > div {
	width: 46.5%;
	text-align: left;
}
#career03 .sec012 .textSet > div h4 {
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 1;
	color: #1895e4;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1em;
}
#career03 .sec012 .textSet > div h4::before,
#career03 .sec012 .textSet > div h4::after {
	display: table;
	content: "";
	border-bottom: 1px solid #1895e4;
	width: calc(50% - 5em);
	height: 50%;
}
#career03 .sec012 .textSet > div p {
	text-align: left;
	font-size: 1.5rem;
	line-height: 1.8;
}

@media screen and (max-width: 767px) {
	#career03 .sec012 {
		padding: 40px 0 0;
	}
	#career03 .sec012 .lead {
		text-align: left;
	}
	#career03 .sec012 .lead .ib {
		display: inline;
	}
	#career03 .sec012 .column {
		border: 5px solid #d8e9f2;
		padding: 20px 10px 0px;
		margin-top: 20px;
	}
	#career03 .sec012 .textSet {
		display: block;
		width: 90%;
		margin: 30px auto 0px;
	}
	#career03 .sec012 .textSet > div {
		width: 100%;
		padding-bottom: 3em;
	}
	#career03 .sec012 .textSet > div::last-child {
		padding-bottom: 0;
	}
	#career03 .sec012 .textSet > div h4 {
		font-size: 4.2vw;
	}
	#career03 .sec012 .textSet > div h4::before,
	#career03 .sec012 .textSet > div h4::after {
	}
	#career03 .sec012 .textSet > div p {
		font-size: 3.4666vw;
	}
}

#career03 .sec013 {
	padding: 80px 0 0;
	position: inherit;
}
#career03 .sec013 .lead {
	text-align: center;
}
#career03 .sec013 figure {
	margin-top: 40px;
}

@media screen and (max-width: 767px) {
	#career03 .sec013 {
		padding: 40px 0 0;
	}
	#career03 .sec013 .lead {
		text-align: left;
	}
	#career03 .sec013 figure {
		margin-top: 20px;
	}
}

#career03 .sec014 {
	padding: 60px 0 0;
	position: inherit;
}
#career03 .accordion > h4.button p {
	color: #1895e4;
}
#career03 .sec014 .nest h5 {
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 0.5em;
	margin-top: 4em;
}
#career03 .sec014 .nest h5 p {
	font-size: 1.9rem;
	font-weight: 700;
	line-height: 1;
	background: #1895e4 url("../img/shared/icon_voice.svg") no-repeat left 0.6em center / 1.4em auto;;
	color: #fff;
	width: 6em;
	padding: 0.4em 1.5em 0.5em 2.5em;
	border-radius: 0.3em;
}
#career03 .sec014 .nest h5::before,
#career03 .sec014 .nest h5::after {
	display: table;
	content: "";
	border-bottom: 1px solid #1895e4;
	width: calc(50% - 11em);
	height: 50%;
}
#career03 .sec014 .nest .voiceSet {
	display: flex;
	justify-content: space-between;
}
#career03 .sec014 .nest .voice {
	margin: 12px 6px;
	background: #edf4fa;
	border: 2px solid #fff;
	padding: 25px 30px;
	border-radius: 1em;
	box-sizing: border-box;
}
#career03 .sec014 .nest .voiceSet.set3 .voice {
	width: calc(calc(100% - 36px) / 3);
}
#career03 .sec014 .nest .voiceSet.set2 .voice {
	width: calc(calc(100% - 24px) / 2);
}
#career03 .sec014 .nest .voiceSet.set1 .voice {
	width: calc(100% - 12px);
}
#career03 .sec014 .nest .voice h6 {
	font-size: 1.8rem;
	font-weight: 700;
	color: #1895e4;
	padding-bottom: 0.6em;
}
#career03 .sec014 .nest .voice h6 span {
	font-size: 0.75em;
}
#career03 .sec014 .nest .voice p {
	font-size: 1.5rem;
	line-height: 1.8;
}

@media screen and (max-width: 767px) {
	#career03 .sec014 {
		padding: 30px 0 0;
		position: inherit;
	}
	#career03 .sec014 .lead {
		text-align: left;
	}
	#career03 .sec014 .nest h5 {
	}
	#career03 .sec014 .nest h5 p {
		font-size: 3.9vw;
	}
	#career03 .sec014 .nest h5::before,
	#career03 .sec014 .nest h5::after {
		display: table;
		content: "";
		border-bottom: 1px solid #1895e4;
		width: calc(50% - 8em);
		height: 50%;
	}
	#career03 .sec014 .nest .voiceSet {
		display: block;
	}
	#career03 .sec014 .nest .voice {
		margin: 12px 0;
		padding: 12px 15px;
	}
	#career03 .sec014 .nest .voiceSet.set3 .voice {
		width: 100%;
	}
	#career03 .sec014 .nest .voiceSet.set2 .voice {
		width: 100%;
	}
	#career03 .sec014 .nest .voiceSet.set1 .voice {
		width: 100%;
	}
	#career03 .sec014 .nest .voice h6 {
		font-size: 3.9vw;
	}
	#career03 .sec014 .nest .voice p {
		font-size: 3.4666vw;
	}
}

/* = recruit / index
----------------------------------------------- */
/* #welfare */
#welfare .h3Subhead {
	background: #c53eca;
}
#welfare .main {
	background-image: url("../img/recruit/index_main.jpg");
	background-position: center center;
	color: #fff;
}

#welfare .secIntro {
	position: relative;
	margin-top: 50px;
	text-align: center;
}
#welfare .secIntro .wave {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	opacity: 0.5;
}
#welfare .secIntro .wrap1400 {
	padding: 0 50px 20px;
}
#welfare .secIntro .lead {
}

@media screen and (max-width: 767px) {
	#welfare .secIntro {
		margin-top: 50px;
	}
	#welfare .secIntro .wrap1400 {
		padding: 0 5% 20px;
	}
	#welfare .secIntro .lead {
		text-align: left;
	}
}

#welfare .sec01 .wave3 {
	position: absolute;
	top: 1480px;
	left: 0;
	right: 0;
	width: 100%;
	opacity: 0.5;
}

@media screen and (max-width: 767px) {
	#welfare .sec01 .wave3 {
		top: 30%;
	}
}

#welfare .sec011 {
	padding: 0 0 40px;
}
#welfare .sec011 .lead {
	text-align: center;
}

@media screen and (max-width: 767px) {
	#welfare .sec011,
	#welfare .sec012 {
		padding: 0 5% 10px;
	}
	#welfare .sec011 .lead {
		text-align: left;
	}
}

#welfare .tblWelfare01 {
	max-width: 720px;
	width: 100%;
	margin: 40px auto 0;
}
#welfare .tblWelfare01 caption {
	background: #c53eca;
	color: #fff;
	font-size: 2.0rem;
	font-weight: 700;
	text-align: center;
	padding: 1.0em;
}
#welfare .tblWelfare01 th {
	width: 160px;
}

@media screen and (max-width: 767px) {
	#welfare .tblWelfare01 {
		max-width: auto;
		width: 100%;
		margin: 40px auto 0;
	}
	#welfare .tblWelfare01 caption {
		font-size: 3.9vw;
	}
	#welfare .tblWelfare01 th {
		width: 9em;
	}
}

#welfare .sec {
	padding: 40px 0 0;
	position: relative;
}
#welfare .sec013 {
	text-align: right;
	margin-top: 100px;
	z-index: 1;
}
#welfare .sec014 {
	text-align: left;
}
#welfare .sec .imgBox {
	position: absolute;
	top: 40px;
	width: 62.58%;
	max-width: 876px;
	max-height: 703px;
	text-align: left;
	z-index: 1;
}
#welfare .sec013 .imgBox {
	left: 0;
}
#welfare .sec014 .imgBox {
	right: 0;
}
#welfare .sec .profBox {
	position: absolute;
	top: 440px;
	width: 418px;
	padding: 35px 25px 25px 35px;
	background: rgba(197,62,202,0.9);
	box-sizing: border-box;
	color: #fff;
}
#welfare .sec013 .profBox {
	left: 0;
}
#welfare .sec014 .profBox {
	right: 0;
}
#welfare .sec .profBox .dev {
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: 700;
	padding-bottom: 1em;
	font-feature-settings: "palt";
	letter-spacing: 0.05em;
}
#welfare .sec .profBox .name {
	display: inline-block;
	font-size: 2.3rem;
	line-height: 1.2;
	font-weight: 700;
	margin-right: 0.6em;
}
#welfare .sec .profBox .year {
	display: inline-block;
	font-size: 1.4rem;
	font-weight: 700;
}
#welfare .sec .profBox .prof {
	font-size: 1.5rem;
	line-height: 1.6em;
	padding-top: 2em;
}

#welfare .sec .textBox {
	position: inherit;
	background: rgba(255,255,255,0.85);
	width: 48.8%;
	max-width: 682px;
	padding: 50px 4% 40px;
	text-align: left;
	box-sizing: border-box;
	z-index: 2;
}
#welfare .sec013 .textBox {
	margin: 100px 50px 60px auto;
}
#welfare .sec014 .textBox {
	margin: 100px auto 60px 50px;
}
#welfare .sec .textBox h3 {
	font-size: 3.0rem;
	font-weight: 700;
	line-height: 1.4;
}
#welfare .sec .textBox .text {
	padding-top: 1.8em;
}

@media screen and (max-width: 767px) {
	#welfare .sec {
		padding: 40px 0 0;
		position: relative;
	}
	#welfare .sec013 {
		text-align: left;
		margin-top: 0;
	}
	#welfare .sec014 {
		margin-top: 0;
	}
	#welfare .sec .imgBox {
		position: inherit;
		top: 0;
		width: 90%;
		max-width: 90%;
		max-height: auto;
		margin: 0 5%;
	}
	#welfare .sec013 .imgBox {

	}
	#welfare .sec014 .imgBox {

	}
	#welfare .sec .profBox {
		position: inherit;
		top: 0;
		width: 100%;
		padding: 20px 5% 15px;
		background: rgba(197,62,202,1);
	}
	#welfare .sec013 .profBox {
		left: 0;
	}
	#welfare .sec014 .profBox {
		right: 0;
	}
	#welfare .sec .profBox .dev {
		font-size: 3.25vw;
		padding-bottom: 0.2em;
	}
	#welfare .sec .profBox .name {
		font-size: 5.7vw;
	}
	#welfare .sec .profBox .year {
		font-size: 3.1vw;
	}
	#welfare .sec .profBox .prof {
		font-size: 3.25vw;
		padding-top: 1.2em;
	}
	#welfare .sec .textBox {
		background: rgba(255,255,255,0.85);
		width: 90%;
		max-width: 90%;
		padding: 30px 5% 15px;
	}
	#welfare .sec013 .textBox {
		margin: 0px 5% 30px;
	}
	#welfare .sec014 .textBox {
		margin: 0px 5% 30px;
	}
	#welfare .sec .textBox h3 {
		font-size: 4.4vw;
	}
	#welfare .sec .textBox .text {
	}
}

/* = recruit / faq
----------------------------------------------- */
/* #faq */
#faq .h3Subhead {
	background: #c53eca;
}
#faq .main {
	background-image: url("../img/recruit/faq_main.jpg");
	background-position: 37% center;
	color: #fff;
}

#faq .secIntro {
	position: relative;
	margin-top: 50px;
	text-align: center;
}
#faq .secIntro .wave {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	opacity: 0.5;
}
#faq .secIntro .wrap1400 {
	padding: 0 50px 20px;
}
#faq .secIntro .lead {
}

@media screen and (max-width: 767px) {
	#faq .secIntro {
		margin-top: 50px;
	}
	#faq .secIntro .wrap1400 {
		padding: 0 5% 20px;
	}
	#faq .secIntro .lead {
		text-align: left;
	}
}

#faq .sec {
	padding-bottom: 3em;
}
#faq .sec .faqSet {
	border-top: 1px dotted #b7bbcf;
	padding: 4em 0 5em;
}
#faq .sec .faqSet:first-of-type {
	border-top: none;
	padding: 0 0 5em;
}
#faq .faqSet .qa {
	display: flex;
	justify-content: flex-start;
}
#faq .faqSet .q {
	align-items: center;
	padding-bottom: 2em;
}
#faq .faqSet .a {
	align-items: flex-start;
}
#faq .faqSet .qa .en {
	display: block;
	font-size: 5.0rem;
	line-height: 1;
	font-weight: 700;
	width: 65px;
	padding-right: 22px;
	box-sizing: border-box;
	text-align: center;
}
#faq .faqSet .q .en {
	color: #c53eca;
}
#faq .faqSet .a .en {
	color: #b7bbcf;
	padding-top: 0.04em;
}
#faq .faqSet .qa h4 {
	flex: 1;
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 1.5;
	padding-top: 0.3em;
}
#faq .faqSet .qa .text {
	flex: 1;
	padding-top: 0;
}

@media screen and (max-width: 767px) {
	#faq .sec {
		padding-bottom: 1.5em;
	}
	#faq .sec .faqSet {
		padding: 2em 0 2.5em;
	}
	#faq .sec .faqSet:first-of-type {
		padding: 0 0 2.5em;
	}
	#faq .faqSet .q {
		align-items: center;
		padding-bottom: 2em;
	}
	#faq .faqSet .a {
		align-items: flex-start;
	}
	#faq .faqSet .qa .en {
		font-size: 10vw;
		width: 13vw;
		padding-right: 5vw;
	}
	#faq .faqSet .a .en {
		padding-top: 0.04em;
	}
	#faq .faqSet .qa h4 {
		font-size: 4.1vw;
	}
	#faq .faqSet .qa .text {
		flex: 1;
		padding-top: 0;
	}
}

/* = recruit / schedule
----------------------------------------------- */
/* #guideline */
#guideline .h3Subhead {
	background: #c53eca;
}
#guideline .main {
	background-image: url("../img/recruit/schedule_main.jpg");
	background-position: 37% center;
	color: #fff;
}

#guideline .secIntro {
	position: relative;
	margin-top: 50px;
	text-align: center;
}
#guideline .secIntro .wave {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	opacity: 0.5;
}
#guideline .secIntro .wrap1400 {
	padding: 0 50px 20px;
}
#guideline .secIntro .lead {
}
#guideline a.bnr_entry {
	display: inline-block;
	border: 1px solid #ccc;
	padding: 1em 2em;
	margin: 0.5em;
	text-align: center;
	min-width: 13em;
	box-sizing: border-box;
	font-size: 1.25em;
	font-weight: 700;
	color: #009944;
	transition-duration: 0.3s;
}
#guideline a:hover.bnr_entry {
	background: #f8f8f8;
	color: #009944;
	opacity: 0.75;
}

@media screen and (max-width: 767px) {
	#guideline .secIntro {
		margin-top: 50px;
	}
	#guideline .secIntro .wrap1400 {
		padding: 0 5% 20px;
	}
	#guideline .secIntro .lead {
		text-align: left;
	}
	#guideline a.bnr_entry {
		margin: 0.5em auto;
		max-width: 100%;
	}
}

#guideline .tblNormal th {
	width: 10em;
}

#guideline .tblNormal caption {
	background: #c53eca;
	color: #fff;
	font-size: 2.0rem;
	font-weight: 700;
	text-align: center;
	padding: 1.0em;
}

#guideline .sec011 {
	padding: 60px 0 80px;
}
#guideline .sec012 {
	padding: 0 0 60px;
}

@media screen and (max-width: 767px) {
	#guideline .sec011 {
		padding: 50px 0 50px;
	}
	#guideline .sec012 {
		padding: 0 0 30px;
	}
	#guideline .tblNormal caption {
		font-size: 3.9vw;
	}
}

#guideline .step {
	display: table;
	width: 100%;
	max-width: 800px;
	margin: 68px auto 18px;
	border: 1px solid #e8e9ee;
}
#guideline .step + .step {
	position: relative;
}
#guideline .step + .step:before {
	content: "";
	display: block;
	position: absolute;
	top: -45px;
	left: 50%;
	margin-left: -14px;
	border-top: 23px solid #e8e9ee;
	border-bottom: 23px solid transparent;
	border-left: 14px solid transparent;
	border-right: 14px solid transparent;
}
#guideline .step_num,
#guideline .step_text {
	display: table-cell;
	vertical-align: middle;
}
#guideline .step_num {
	width: 218px;
	padding: 45px 0 60px;
	color: #c53eca;
	background: #e8e9ee;
	font-size: 5.6rem;
	font-weight: 700;
	text-align: center;
	vertical-align: bottom;
	letter-spacing: 0.08em;
}
#guideline .step_num span {
	display: inline-block;
	margin-left: 3px;
	font-size: 0.6em;
	vertical-align: text-top;
	padding-top: 0.6em;
}
#guideline .step_text {
	padding: 0 40px;
	background: #fff;
}
#guideline .step_text h3 {
	margin: 0 0 0.8em;
	font-size: 2.1rem;
	font-weight: 700;
	line-height: 1.4;
}
#guideline .step_text p {
	font-size: 1.5rem;
	line-height: 1.6;
}
#guideline .step a {
	color: #333;
	text-decoration: underline;
}
#guideline .step a:hover {
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	#guideline .step {
		margin: 10% 0;
	}
	#guideline .step + .step:before {
		top: 0;
		margin-top: -8%;
		margin-left: -7px;
		border-top: 12px solid #e8e9ee;
		border-bottom: 12px solid transparent;
		border-left: 7px solid transparent;
		border-right: 7px solid transparent;
	}
	#guideline .step_num,
	#guideline .step_text {
		display: block;
	}
	#guideline .step_num {
		width: auto;
		padding: 0 0 0.15em;
		font-size: 9.375vw;
	}
	#guideline .step_num span {
	}
	#guideline .step_text {
		padding: 5%;
	}
	#guideline .step_text h3 {
		margin: 0 0 2%;
		font-size: 12px;
		font-size: 3.75vw;
	}
	#guideline .step_text p {
		font-size: 10px;
		font-size: 3.125vw;
	}
}

/* = recruit / seminar
----------------------------------------------- */
/* #seminar */
#seminar .h3Subhead {
	background: #c53eca;
}
#seminar .main {
	background-image: url("../img/recruit/seminar_main.jpg");
	background-position: 60% center;
	color: #fff;
}

#seminar .secIntro {
	position: relative;
	margin-top: 50px;
	text-align: center;
}
#seminar .secIntro .wave {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	opacity: 0.5;
}
#seminar .secIntro .wrap1400 {
	padding: 0 50px 20px;
}
#seminar .secIntro .lead {
}

@media screen and (max-width: 767px) {
	#seminar .secIntro {
		margin-top: 50px;
	}
	#seminar .secIntro .wrap1400 {
		padding: 0 5% 20px;
	}
	#seminar .secIntro .lead {
		text-align: left;
	}
}

#seminar .sec011 {
	padding-bottom: 60px;
}
#seminar .sec011 .bnrBox {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	padding: 20px 0;
}
#seminar .sec011 .bnrBox figure,
#seminar .sec011 .bnrBox p {
	padding: 0 20px;
}

@media screen and (max-width: 767px) {
	#seminar .sec011 {
		padding-bottom: 30px;
	}
	#seminar .sec011 .bnrBox {
		display: block;
		padding: 1em 2em;
		text-align: center;
	}
	#seminar .sec011 .bnrBox figure {
	}
	#seminar .sec011 .bnrBox figure,
	#seminar .sec011 .bnrBox p {
		padding: 0;
		margin: 1em 0;
	}
}

#seminar .sec012 {
	padding-bottom: 60px;
}
#seminar .sec012 .h3Subhead + .text {
	text-align: center;
}
#seminar .sec012 .tblWrap {
	background: #fff;
	margin: 2em auto 0;
	padding: 25px 50px;
}
#seminar .sec012 .tblNormal {
	margin-bottom: 4em;
}
#seminar .sec012 .tblNormal caption {
	font-size: 1.8rem;
	font-weight: bold;
	padding-bottom: 0.8em;
	padding-left: 0.6em;
	letter-spacing: 0.15em;
}
#seminar .sec012 .tblNormal tr td {
	vertical-align: middle;
	box-sizing: content-box;
}
#seminar .sec012 .tblNormal tr td:nth-of-type(1) {
	width: 7em;
}
#seminar .sec012 .tblNormal tr td:nth-of-type(2) {
	width: 7em;
	font-feature-settings: "palt";
	letter-spacing: 0.08em;
}
#seminar .sec012 .tblNormal tr td:nth-of-type(3) {
	width: 5em;
	text-align: center;
}
#seminar .sec012 .tblNormal th {
	text-align: center;
	box-sizing: content-box;
}
#seminar .sec012 .tblNormal,
#seminar .sec012 .tblNormal th,
#seminar .sec012 .tblNormal td {
	border-left: none;
	border-right: none;
}
#seminar .sec012 .tblNormal th:nth-of-type(1),
#seminar .sec012 .tblNormal th:nth-of-type(2),
#seminar .sec012 .tblNormal th:nth-of-type(3),
#seminar .sec012 .tblNormal td:nth-of-type(1),
#seminar .sec012 .tblNormal td:nth-of-type(2),
#seminar .sec012 .tblNormal td:nth-of-type(3) {
	border-right: 1px dotted #e8e8e8;
}

@media screen and (max-width: 767px) {
	#seminar .sec012 {
		padding-bottom: 30px;
	}
	#seminar .sec012 .h3Subhead + .text {
		text-align: left;
	}
	#seminar .sec012 .tblWrap {
		margin: 2em auto 0;
		padding: 1em 0;
	}
	#seminar .sec012 .js-scrollable {
		margin-bottom: 2em;
	}
	#seminar .sec012 .tblNormal {
		margin-bottom: 0;
		width: auto;
	}
	#seminar .sec012 .tblNormal caption {
		font-size: 3.8vw;
	}
	#seminar .sec012 .tblNormal th,
	#seminar .sec012 .tblNormal td {
		white-space: nowrap;
		padding-left: 1.3em;
		padding-right: 1.3em;
		line-height: 1.4;
	}
}

@media print{
	#header {
		position: absolute;
	}
}