@supports (display: flow-root) {
	.sec_news .list li a, .sec_recruit {
		display: flow-root;
	}
}
@supports not ((position: -webkit-sticky) or (position: sticky)) {
	.sec_news .list li a, .sec_recruit {
		display: block;
	}

	.sec_news .list li a:after, .sec_recruit:after {
		content: "";
		display: block;
		clear: both;
	}
}
.ie .sec_news .list li a, .ie .sec_recruit, .sec_news .list li .ie a {
	display: block;
}

.ie .sec_news .list li a:after, .ie .sec_recruit:after, .sec_news .list li .ie a:after {
	content: "";
	display: block;
	clear: both;
}

.sec_news .ico_box:before, .sec_recruit .txts:before {
	content: "";
	display: inline-block;
	height: 100%;
	vertical-align: middle;
}

.sec_news .ico_box > *, .sec_recruit .txts > * {
	display: inline-block;
	vertical-align: middle;
}

@media (min-width: 641px) {
	body {
		padding-top: 0;
	}
}
@media (min-width: 641px) {
	.mod_header {
		top: 0;
		left: 0;
		width: 100%;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		border-bottom: none;
		z-index: 100;
		background-color: transparent;
	}

	.mod_header:before {
		opacity: 0;
		-webkit-transition: opacity 0.5s;
		-o-transition: opacity 0.5s;
		transition: opacity 0.5s;
	}

	.mod_header .in_links dd {
		opacity: 0;
		-webkit-transition: opacity 0.5s, -webkit-transform 0.8s !important;
		transition: opacity 0.5s, -webkit-transform 0.8s !important;
		-o-transition: opacity 0.5s, transform 0.8s !important;
		transition: opacity 0.5s, transform 0.8s !important;
		transition: opacity 0.5s, transform 0.8s, -webkit-transform 0.8s !important;
	}

	.mod_header .in_links.open dd {
		opacity: 1;
	}

	.mod_header.cr:before, .no-touchevents .mod_header:hover:before {
		opacity: 1;
	}
}
.sec_mv {
	padding: 0 50px;
	height: 80vh;
}

@media screen and (max-width: 640px) {
	.sec_mv {
		padding: 0;
		height: 52vw;
	}
}
@media print {
	.sec_mv {
		top: 50px !important;
		position: relative !important;
		height: 500px !important;
	}
}
.sec_mv > .in {
	max-width: 1400px;
	width: 100%;
	margin: auto;
	position: relative;
	height: 100vh;
	z-index: 1;
}

@media screen and (max-width: 640px) {
	.sec_mv > .in {
		height: 70vw;
	}
}
@media print {
	.sec_mv > .in {
		position: relative !important;
		height: 500px !important;
		background-image: url(../../img/index/print_bk.png);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center center;
		z-index: 100;
	}
}
.sec_mv .moyamoya {
	position: absolute;
	top: 10%;
	left: 0;
	right: 0;
	width: 100%;
	height: 80%;
	margin: auto;
	pointer-events: none;
}

@media print {
	.sec_mv .moyamoya {
		display: none;
	}
}
.sec_mv .moyamoya.sp {
	background-image: url(../img/index/moyamoya_sp.png);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	opacity: 0;
}

.sec_mv .moyamoya.sp.active {
	-webkit-transition: 1s;
	-o-transition: 1s;
	transition: 1s;
	opacity: 1;
}

.sec_mv .moyamoya svg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
}

@media print {
	.sec_mv .moyamoya svg {
		display: none;
		position: relative !important;
		width: 100%;
		height: 400px !important;
	}
}
.sec_mv .moyamoya svg .subpath {
	fill: transparent;
}

.sec_mv .logoMaruWrap {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -22px 0 0 -164px;
	width: 83px;
	height: 47px;
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
	-webkit-transition: margin 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), width 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), height 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), opacity 1s cubic-bezier(0.495, 0.005, 0.505, 0.99), -webkit-transform 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99);
	transition: margin 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), width 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), height 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), opacity 1s cubic-bezier(0.495, 0.005, 0.505, 0.99), -webkit-transform 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99);
	-o-transition: margin 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), width 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), height 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), transform 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), opacity 1s cubic-bezier(0.495, 0.005, 0.505, 0.99);
	transition: margin 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), width 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), height 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), transform 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), opacity 1s cubic-bezier(0.495, 0.005, 0.505, 0.99);
	transition: margin 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), width 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), height 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), transform 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), opacity 1s cubic-bezier(0.495, 0.005, 0.505, 0.99), -webkit-transform 2.6s cubic-bezier(0.495, 0.005, 0.505, 0.99);
	display: none !important;
}

@media screen and (max-width: 640px) {
	.sec_mv .logoMaruWrap {
		width: 17vw;
		height: 11vw;
		margin: -7vw 0 0 -35vw;
	}
}
.sec_mv .logoMaruWrap.active {
	margin: -540px 0 0 -960px;
	width: 1920px;
	height: 1080px;
}

@media screen and (max-width: 640px) {
	.sec_mv .logoMaruWrap.active {
		margin: -180px 0 0 -320px;
		width: 640px;
		height: 360px;
	}
}
.sec_mv .logoMaruWrap.disabled {
	opacity: 0;
}

.sec_mv .logoMaruWrap.transitionnone {
	-webkit-transition: none;
	-o-transition: none;
	transition: none;
}

.sec_mv .logoMaru {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.sec_mv .logoTxt {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -18px 0 0 -130px;
	-webkit-transition: margin-left 2.4s cubic-bezier(0.495, 0.005, 0.505, 0.99), opacity 2s cubic-bezier(0.495, 0.005, 0.505, 0.99) 1s;
	-o-transition: margin-left 2.4s cubic-bezier(0.495, 0.005, 0.505, 0.99), opacity 2s cubic-bezier(0.495, 0.005, 0.505, 0.99) 1s;
	transition: margin-left 2.4s cubic-bezier(0.495, 0.005, 0.505, 0.99), opacity 2s cubic-bezier(0.495, 0.005, 0.505, 0.99) 1s;
	opacity: 0;
	z-index: 10;
}

@media screen and (max-width: 640px) {
	.sec_mv .logoTxt {
		margin: -5vw 0 0 -22vw;
		width: 48vw;
		height: 6.5vw;
	}
}
.sec_mv .logoTxt.disabled {
	-webkit-transition: none;
	-o-transition: none;
	transition: none;
}

.sec_mv .logoTxt.active {
	opacity: 1;
}

.sec_mv .logotxt2 {
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	text-align: center;
	margin-top: -30px;
	-webkit-transition: opacity 1.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), -webkit-transform 1.6s cubic-bezier(0.495, 0.005, 0.505, 0.99);
	transition: opacity 1.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), -webkit-transform 1.6s cubic-bezier(0.495, 0.005, 0.505, 0.99);
	-o-transition: opacity 1.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), transform 1.6s cubic-bezier(0.495, 0.005, 0.505, 0.99);
	transition: opacity 1.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), transform 1.6s cubic-bezier(0.495, 0.005, 0.505, 0.99);
	transition: opacity 1.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), transform 1.6s cubic-bezier(0.495, 0.005, 0.505, 0.99), -webkit-transform 1.6s cubic-bezier(0.495, 0.005, 0.505, 0.99);
	color: #FFF;
	z-index: 10;
	opacity: 1;
	font-family: "source-han-sans-japanese", sans-serif;
	font-weight: 500;
}

@media screen and (max-width: 640px) {
	.sec_mv .logotxt2 {
		margin-top: -20px;
	}
}
.sec_mv .logotxt2.bbbbb {
	opacity: 0 !important;
}

.sec_mv .logotxt2.aaaaa {
	opacity: 0;
}

.sec_mv .logotxt2 .line01 {
	display: block;
	font-size: 3.6rem;
	letter-spacing: 0.33em;
}

@media screen and (max-width: 640px) {
	.sec_mv .logotxt2 .line01 {
		font-size: 1.5rem;
		letter-spacing: 0.23em;
		line-height: 1.8;
	}
}
.sec_mv .logotxt2 .line02 {
	display: block;
	margin-bottom: 30px;
	font-size: 2.3rem;
	letter-spacing: 0.2em;
}

@media screen and (max-width: 640px) {
	.sec_mv .logotxt2 .line02 {
		margin-bottom: 18px;
		font-size: 1.1rem;
		letter-spacing: 0.1em;
	}
}
.sec_mv .videoarea {
	width: 1920px;
	height: 1080px;
	margin: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -510px;
	margin-left: -960px;
	-webkit-transition: opacity 0.6s cubic-bezier(0.495, 0.005, 0.505, 0.99);
	-o-transition: opacity 0.6s cubic-bezier(0.495, 0.005, 0.505, 0.99);
	transition: opacity 0.6s cubic-bezier(0.495, 0.005, 0.505, 0.99);
	opacity: 0;
	-webkit-perspective: 500px;
	perspective: 500px;
	-webkit-clip-path: url(#svgPath);
	clip-path: url(#svgPath);
}

@media print {
	.sec_mv .videoarea {
		display: none;
	}
}
@media screen and (max-width: 640px) {
	.sec_mv .videoarea {
		margin: -180px 0 0 -320px;
		width: 640px;
		height: 360px;
	}
}
@media (min-width: 641px) {
	.safari .sec_mv .videoarea.active {
		-webkit-clip-path: url(#svgPath) !important;
		clip-path: url(#svgPath) !important;
	}
}
.sec_mv .videoarea.active {
	opacity: 1 !important;
}

.sec_mv .videoarea .movie {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-clip-path: url(#svgPath);
	clip-path: url(#svgPath);
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform: translateZ(1px);
	transform: translateZ(1px);
}

@media screen and (max-width: 640px) {
	.sec_mv .videoarea .movie > div {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		z-index: 0;
		background-position: center center;
		background-size: cover;
		-webkit-transition: opacity 0.8s cubic-bezier(0.44, 0.01, 0.525, 0.99) 0.8s;
		-o-transition: opacity 0.8s cubic-bezier(0.44, 0.01, 0.525, 0.99) 0.8s;
		transition: opacity 0.8s cubic-bezier(0.44, 0.01, 0.525, 0.99) 0.8s;
	}

	.sec_mv .videoarea .movie > div.active {
		opacity: 1;
		z-index: 3;
		-webkit-transition: opacity 0.8s cubic-bezier(0.44, 0.01, 0.525, 0.99);
		-o-transition: opacity 0.8s cubic-bezier(0.44, 0.01, 0.525, 0.99);
		transition: opacity 0.8s cubic-bezier(0.44, 0.01, 0.525, 0.99);
	}
}
.ie .sec_mv .videoarea .movie, .safari .sec_mv .videoarea .movie {
	opacity: 0;
	-webkit-clip-path: none;
	clip-path: none;
}

.safari .sec_mv .videoarea .movie {
	opacity: 1;
}

.safari .sec_mv .videoarea canvas {
	z-index: 1;
	opacity: 0;
}

.ie .sec_mv .videoarea canvas, .safari .sec_mv .videoarea canvas {
	position: absolute;
	top: -0.1%;
	left: -0.1%;
	width: 100.2%;
	height: 100.2%;
}

.sec_mv .arrow {
	width: 44px;
	height: 44px;
	position: absolute;
	bottom: 8vh;
	left: 0;
	right: 0;
	margin: auto;
}

@media screen and (max-width: 640px) {
	.sec_mv .arrow {
		bottom: 4vw;
	}
}
@media print {
	.sec_mv .arrow {
		display: none;
	}
}
.safari .sec_mv .arrow {
	bottom: 6vh;
}

@media screen and (max-width: 640px) {
	.safari .sec_mv .arrow {
		bottom: -5%;
	}
}
.sec_mv .arrow:before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	width: 44px;
	height: 44px;
	background-color: #FFF;
	border-radius: 50%;
}

@media screen and (max-width: 640px) {
	.sec_mv .arrow:before {
		width: 8vw;
		height: 8vw;
	}
}
.sec_mv .arrow:after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-bottom: 2px solid #06A680;
	border-right: 2px solid #06A680;
	position: absolute;
	bottom: 0;
	top: -5px;
	left: 0;
	right: 0;
	margin: auto;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

@media screen and (max-width: 640px) {
	.sec_mv .arrow:after {
		top: -0.5vw;
		width: 1.7vw;
		height: 1.7vw;
	}
}
.sec_mv #svgPath2 {
	opacity: 0;
}

.sec_ourmission {
	padding: 266px 0 120px;
	position: relative;
	background-image: -webkit-gradient(linear, left top, right top, from(#009d95), to(#0da867)), url(../img/index/sec_ourmission_bg.jpg);
	background-image: -o-linear-gradient(left, #009d95 0%, #0da867 100%), url(../img/index/sec_ourmission_bg.jpg);
	background-image: linear-gradient(to right, #009d95 0%, #0da867 100%), url(../img/index/sec_ourmission_bg.jpg);
	background-size: auto, cover;
	background-position: center, center;
	background-blend-mode: multiply;
	color: #fff;
	text-align: center;
}

@media screen and (max-width: 640px) {
	.sec_ourmission {
		padding: 80px 0 40px;
		padding-top: calc(100vw * (160 / 720));
	}
}
@media print {
	.sec_ourmission {
		z-index: 1;
		padding-top: 100px !important;
		padding-right: 0;
		padding-left: 0;
		padding-bottom: 120px;
	}
}
.no-touchevents .sec_ourmission {
	background-attachment: scroll, fixed;
}

.sec_ourmission .mod_ttl01 {
	margin-bottom: 50px;
	opacity: 0;
	-webkit-transition: opacity 1.4s;
	-o-transition: opacity 1.4s;
	transition: opacity 1.4s;
}

@media screen and (max-width: 640px) {
	.sec_ourmission .mod_ttl01 {
		margin-bottom: 26px;
		padding-bottom: 8px;
		position: relative;
	}

	.sec_ourmission .mod_ttl01:after {
		content: "";
		display: block;
		margin: 0 auto;
		background-color: #fff;
		width: 14px;
		height: 1px;
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
	}
}
.sec_ourmission .main {
	font-size: 3.6rem;
	letter-spacing: 0.33em;
	font-weight: bold;
	opacity: 0;
	-webkit-transform: translateY(-30px);
	-ms-transform: translateY(-30px);
	transform: translateY(-30px);
	-webkit-transition: opacity 1.4s, -webkit-transform 1.4s;
	transition: opacity 1.4s, -webkit-transform 1.4s;
	-o-transition: transform 1.4s, opacity 1.4s;
	transition: transform 1.4s, opacity 1.4s;
	transition: transform 1.4s, opacity 1.4s, -webkit-transform 1.4s;
	font-family: "source-han-sans-japanese", sans-serif;
	font-weight: 500;
}

@media screen and (max-width: 640px) {
	.sec_ourmission .main {
		font-size: 2rem;
		letter-spacing: 0.23em;
		line-height: 1.8;
	}
}
.sec_ourmission .sub {
	margin-bottom: 30px;
	font-size: 2.3rem;
	letter-spacing: 0.2em;
	font-weight: bold;
	font-family: "source-han-sans-japanese", sans-serif;
	font-weight: 500;
	opacity: 0;
	-webkit-transform: translateY(-30px);
	-ms-transform: translateY(-30px);
	transform: translateY(-30px);
	-webkit-transition: opacity 1.4s, -webkit-transform 1.4s;
	transition: opacity 1.4s, -webkit-transform 1.4s;
	-o-transition: transform 1.4s, opacity 1.4s;
	transition: transform 1.4s, opacity 1.4s;
	transition: transform 1.4s, opacity 1.4s, -webkit-transform 1.4s;
}

@media screen and (max-width: 640px) {
	.sec_ourmission .sub {
		margin-bottom: 18px;
		font-size: 1.3rem;
		letter-spacing: 0.1em;
	}
}
.sec_ourmission .txt {
	margin-bottom: 45px;
	font-size: 1.5rem;
	letter-spacing: 0.13em;
	font-weight: bold;
	line-height: 2;
	opacity: 0;
	-webkit-transition: opacity 1.4s;
	-o-transition: opacity 1.4s;
	transition: opacity 1.4s;
}

@media screen and (max-width: 640px) {
	.sec_ourmission .txt {
		margin-bottom: 20px;
		font-size: 1.2rem;
		letter-spacing: 0;
		line-height: 1.8;
	}
}
.sec_ourmission .mod_btn01 {
	opacity: 0;
	-webkit-transition: opacity 1.4s;
	-o-transition: opacity 1.4s;
	transition: opacity 1.4s;
}

.sec_ourmission .mod_btn01 + .mod_btn01 {
	margin-left: 10px;
}

.sec_ourmission .moyamoya {
	position: absolute;
	left: 50%;
}

.sec_ourmission .moyamoya.type01 {
	top: 274px;
	margin-left: 346px;
}

.sec_ourmission .moyamoya.type02 {
	top: 453px;
	margin-left: -662px;
}

.sec_ourmission .moyamoya canvas {
	position: absolute;
	top: 0;
	left: 0;
}

.sec_business .moyamoya {
	opacity: 0 !important;
	-webkit-transform: scale(0.96);
	-ms-transform: scale(0.96);
	transform: scale(0.96);
	-webkit-transition: 1s;
	-o-transition: 1s;
	transition: 1s;
}

@media print {
	.chrome .sec_business .moyamoya {
		top: 400px !important;
	}

	.ie .sec_business .moyamoya {
		top: 400px !important;
	}
}
.sec_business .moyamoya.active {
	opacity: 0.8 !important;
	-webkit-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
}

.sec_business .moyamoya > svg {
	display: block !important;
}

@media screen and (max-width: 640px) {
	.sec_aboutus {
		padding-bottom: 40px;
	}
}
.sec_aboutus .col_3 {
	text-align: center;
}

@media screen and (max-width: 640px) {
	.sec_aboutus .col_3 {
		padding: 0 20px;
	}
}
.sec_aboutus .col_3 li {
	position: relative;
	opacity: 0;
	-webkit-transition: 1.6s cubic-bezier(0.645, 0.02, 0.355, 1);
	-o-transition: 1.6s cubic-bezier(0.645, 0.02, 0.355, 1);
	transition: 1.6s cubic-bezier(0.645, 0.02, 0.355, 1);
}

.sec_aboutus .col_3 li.active {
	opacity: 1;
}

@media (min-width: 641px) {
	.sec_aboutus .col_3 li {
		padding-top: 309px;
	}

	.no-touchevents .sec_aboutus .col_3 li:hover .txt_box a i:after {
		-webkit-transform: translate(3px, 0) rotate(45deg);
		-ms-transform: translate(3px, 0) rotate(45deg);
		transform: translate(3px, 0) rotate(45deg);
	}
}
@media screen and (max-width: 640px) {
	.sec_aboutus .col_3 li + li {
		margin-top: 30px;
	}
}
@media (min-width: 641px) {
	.sec_aboutus .col_3 li .wrapLink {
		display: block;
		background-color: #fff;
		position: absolute;
		z-index: 2;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		opacity: 0;
		-webkit-transition: opacity 0.5s;
		-o-transition: opacity 0.5s;
		transition: opacity 0.5s;
	}

	.no-touchevents .sec_aboutus .col_3 li .wrapLink:hover {
		opacity: 0.3;
	}
}
@media screen and (max-width: 640px) {
	.sec_aboutus .col_3 li .wrapLink {
		display: none;
	}
}
.sec_aboutus .col_3 li > * {
	position: relative;
}

@media (min-width: 641px) {
	.sec_aboutus .col_3 li.w .txt_box {
		background-color: #fff;
		background-image: none;
		color: #323232;
	}

	.sec_aboutus .col_3 li.w .txt_box:before {
		background-color: #fff;
	}
}
@media screen and (max-width: 640px) {
	.sec_aboutus .col_3 li.w .mod_btn01 {
		background-color: #fff;
	}

	.sec_aboutus .col_3 li.w .mod_btn01 i {
		border-color: #009d95;
	}

	.sec_aboutus .col_3 li.w .mod_btn01 i:before {
		background-color: #009d95;
	}

	.sec_aboutus .col_3 li.w .mod_btn01 i:after {
		border-top-color: #009d95;
		border-right-color: #009d95;
	}

	.sec_aboutus .col_3 li.w .mod_btn01 span {
		color: #323232;
	}
}
.sec_aboutus .col_3 li.g .txt_box:before {
	background-image: -webkit-gradient(linear, left bottom, right top, from(#009d95), to(#0da867));
	background-image: -o-linear-gradient(left bottom, #009d95 0%, #0da867 100%);
	background-image: linear-gradient(to right top, #009d95 0%, #0da867 100%);
}

.sec_aboutus .col_3 .ph {
	height: 309px;
}

@media (min-width: 641px) {
	.sec_aboutus .col_3 .ph {
		width: 100%;
		position: absolute;
		left: 0;
		top: 0;
	}
}
@media screen and (max-width: 640px) {
	.sec_aboutus .col_3 .ph {
		height: 220px;
		margin-left: 20px;
		border-radius: 3px;
	}
}
.sec_aboutus .col_3 .txt_box {
	padding: 50px 0;
	position: relative;
	background-image: -webkit-gradient(linear, left top, right top, from(#009d95), to(#0da867));
	background-image: -o-linear-gradient(left, #009d95 0%, #0da867 100%);
	background-image: linear-gradient(to right, #009d95 0%, #0da867 100%);
	color: #fff;
}

.sec_aboutus .col_3 .txt_box > * {
	position: relative;
}

@media (min-width: 641px) {
	.sec_aboutus .col_3 .txt_box:before {
		content: "";
		display: block;
		margin: 0 auto;
		border-radius: 10px 0 0 0;
		width: 60px;
		height: 60px;
		position: absolute;
		left: 0;
		right: 0;
		top: -30px;
		-webkit-transform: rotate(45deg) skew(-20deg, -20deg);
		-ms-transform: rotate(45deg) skew(-20deg, -20deg);
		transform: rotate(45deg) skew(-20deg, -20deg);
		z-index: 1;
	}
}
@media screen and (max-width: 640px) {
	.sec_aboutus .col_3 .txt_box {
		margin-right: 20px;
		margin-bottom: -30px;
		padding: 26px 20px 50px;
		border-radius: 3px;
		text-align: left;
	}
}
.sec_aboutus .col_3 .ttl {
	margin-bottom: 10px;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.15em;
	line-height: 1.78;
	font-family: "source-han-sans-japanese", sans-serif;
	font-weight: 500;
}

@media screen and (max-width: 640px) {
	.sec_aboutus .col_3 .ttl {
		margin-bottom: 0;
		font-size: 1.3rem;
		letter-spacing: 0.1em;
	}
}
.sec_aboutus .col_3 .txt {
	margin-bottom: 16px;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}

@media screen and (max-width: 640px) {
	.sec_aboutus .col_3 .txt {
		margin-bottom: 8px;
		font-size: 1.2rem;
		line-height: 1.6;
		letter-spacing: 0.05em;
	}
}
@media (min-width: 641px) {
	.sec_aboutus .col_3 .mod_btn01 {
		z-index: 3;
	}
}
.sec_news {
	padding: 80px 0;
}

.no-touchevents.not-safari.not-ie .sec_news {
	background-attachment: fixed;
}

@media screen and (max-width: 640px) {
	.sec_news {
		padding: 40px 20px;
	}
}
.sec_news .mod_wrap01 {
	padding: 126px 60px 60px;
	background-color: rgba(255, 255, 255, 0.9);
	position: relative;
}

@media screen and (max-width: 640px) {
	.sec_news .mod_wrap01 {
		border-radius: 3px;
		padding: 60px 20px 30px;
	}
}
.sec_news .ico_box {
	display: block;
	margin: 0 auto;
	border-radius: 50%;
	text-align: center;
	background-color: #009d95;
	width: 120px;
	height: 120px;
	position: absolute;
	top: -20px;
	left: 0;
	right: 0;
}

@media screen and (max-width: 640px) {
	.sec_news .ico_box {
		top: -10px;
		width: 50px;
		height: 50px;
	}
}
.sec_news .ico_box .ico {
	fill: #fff;
	width: 50px;
	height: 44px;
}

@media screen and (max-width: 640px) {
	.sec_news .ico_box .ico {
		width: 25px;
		height: 22px;
	}
}
.sec_news .mod_ttl01 {
	margin-bottom: 30px;
}

@media screen and (max-width: 640px) {
	.sec_news .mod_ttl01 {
		margin-bottom: 20px;
	}
}
.sec_news .list {
	border-top: 1px solid #e6e6e6;
}

.sec_news .list li {
	border-bottom: 1px solid #e6e6e6;
}

.sec_news .list li a {
	padding: 20px 40px 20px 0;
	position: relative;
}

@media (min-width: 641px) {
	.sec_news .list li a:before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background-image: -webkit-gradient(linear, left top, right top, from(#009d95), to(#0da867));
		background-image: -o-linear-gradient(left, #009d95 0%, #0da867 100%);
		background-image: linear-gradient(to right, #009d95 0%, #0da867 100%);
		position: absolute;
		left: 0;
		bottom: 0;
		-webkit-transform-origin: 0 0 0;
		-ms-transform-origin: 0 0 0;
		transform-origin: 0 0 0;
		-webkit-transform: scaleX(0);
		-ms-transform: scaleX(0);
		transform: scaleX(0);
		-webkit-transition: opacity 1s, -webkit-transform 0.8s;
		transition: opacity 1s, -webkit-transform 0.8s;
		-o-transition: transform 0.8s, opacity 1s;
		transition: transform 0.8s, opacity 1s;
		transition: transform 0.8s, opacity 1s, -webkit-transform 0.8s;
		opacity: 0;
	}
}
@media screen and (max-width: 640px) {
	.sec_news .list li a {
		padding: 10px 20px 10px 0;
		display: block;
	}
}
.sec_news .list li a i {
	margin: auto 0;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	display: none;
}

@media screen and (max-width: 640px) {
	.sec_news .list li a i {
		display: none;
	}
}
.sec_news .list li a[href] > i {
	display: block;
}

.no-touchevents .sec_news .list li a[href]:hover:before {
	-webkit-transform: scaleX(1);
	-ms-transform: scaleX(1);
	transform: scaleX(1);
	opacity: 0.3;
}

.sec_news .list li .date {
	display: block;
	font-family: "proxima-nova", sans-serif;
	font-weight: 600;
	font-size: 1.4rem;
	line-height: 1.7;
	letter-spacing: 0.08em;
	color: #009d95;
}

@media (min-width: 641px) {
	.sec_news .list li .date {
		float: left;
	}
}
@media screen and (max-width: 640px) {
	.sec_news .list li .date {
		font-size: 1.2rem;
		line-height: 1.6;
	}
}
.sec_news .list li .det {
	font-size: 1.4rem;
	line-height: 1.75;
}

@media (min-width: 641px) {
	.sec_news .list li .det {
		display: block;
		position: relative;
		padding-left: 100px;
		padding-bottom: 1px;
		margin-bottom: -1px;
	}
}
@media screen and (max-width: 640px) {
	.sec_news .list li .det {
		font-size: 1.2rem;
		line-height: 1.4;
	}
}
@media screen and (max-width: 640px) {
	.sec_news .list li.new a .date:after {
		content: "NEW";
		display: inline-block;
		margin-left: 4px;
		padding: 4px 6px 1px;
		border-radius: 10px 10px;
		vertical-align: 10%;
		color: #fff;
		font-family: "proxima-nova", sans-serif;
		font-weight: 600;
		font-size: 0.8rem;
		letter-spacing: 0.07em;
		line-height: 1;
		background-image: -webkit-gradient(linear, left top, right top, from(#009d95), to(#0da867));
		background-image: -o-linear-gradient(left, #009d95 0%, #0da867 100%);
		background-image: linear-gradient(to right, #009d95 0%, #0da867 100%);
	}
}
@media (min-width: 641px) {
	.sec_news .list li.new a .det:after {
		content: "NEW";
		display: inline-block;
		margin-left: 8px;
		padding: 7px 12px 6px;
		border-radius: 20px 20px;
		vertical-align: 20%;
		color: #fff;
		font-family: "proxima-nova", sans-serif;
		font-weight: 600;
		font-size: 1.2rem;
		letter-spacing: 0.07em;
		line-height: 0.8;
		background-image: -webkit-gradient(linear, left top, right top, from(#009d95), to(#0da867));
		background-image: -o-linear-gradient(left, #009d95 0%, #0da867 100%);
		background-image: linear-gradient(to right, #009d95 0%, #0da867 100%);
	}
}
.sec_news .mod_btn01 {
	display: block;
	margin: 34px auto 0;
	max-width: 224px;
}

@media screen and (max-width: 640px) {
	.sec_news .mod_btn01 {
		margin-top: 20px;
	}
}
.sec_recruit {
	position: relative;
}

@media (min-width: 641px) {
	.sec_recruit {
		height: 28vw;
		max-height: 485px;
	}

	.sec_recruit > * {
		height: 100%;
	}
}
@media screen and (max-width: 640px) {
	.sec_recruit {
		padding-bottom: 61vw;
	}
}
.sec_recruit .ph {
	position: relative;
}

@media (min-width: 641px) {
	.sec_recruit .ph {
		width: 58%;
		float: right;
	}
}
@media screen and (max-width: 640px) {
	.sec_recruit .ph {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 61vw;
	}
}
.sec_recruit .ph .copy {
	font-family: "proxima-nova", sans-serif;
	font-weight: 600;
	color: #fff;
	font-size: 100%;
	white-space: nowrap;
	font-size: 4.46vw;
	line-height: 0.65;
	letter-spacing: 0.11em;
	position: absolute;
	bottom: 0;
	opacity: 0.8;
	mix-blend-mode: overlay;
}

@media screen and (max-width: 640px) {
	.sec_recruit .ph .copy {
		display: none;
	}
}
.sec_recruit .txts {
	color: #fff;
	text-align: center;
	position: relative;
	width: 42%;
}

@media screen and (max-width: 640px) {
	.sec_recruit .txts {
		width: 100%;
		padding: 40px 0;
	}
}
.sec_recruit .txts .bg {
	position: absolute;
	top: -0.5%;
	left: -0.5%;
	width: 104.5%;
	height: 100.5%;
}

@media screen and (max-width: 640px) {
	.sec_recruit .txts .bg {
		width: 100.5%;
		height: 106.5%;
	}
}
.sec_recruit .txts .bg > svg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.sec_recruit .txts .txt_box {
	position: relative;
}

.sec_recruit .txts .mod_ttl01 {
	margin-bottom: 26px;
}

@media screen and (max-width: 640px) {
	.sec_recruit .txts .mod_ttl01 {
		margin-bottom: 10px;
	}
}
.sec_recruit .txts .ttl {
	margin-bottom: 10px;
	font-size: 1.8rem;
	letter-spacing: 0.1em;
	font-weight: bold;
	font-family: "source-han-sans-japanese", sans-serif;
	font-weight: 500;
}

@media screen and (max-width: 640px) {
	.sec_recruit .txts .ttl {
		line-height: 1.6;
	}
}
.sec_recruit .txts .txt {
	font-size: 1.4rem;
	line-height: 1.6;
}

.sec_recruit .txts .mod_btn01 {
	margin-top: 20px;
}

.asi_service {
	background-color: #f1f1f1;
}

@media screen and (max-width: 640px) {
	.asi_service .mod_ttl01 {
		background: none;
	}
}
.asi_service .service_wrap {
	padding: 84px 0 100px;
}

@media screen and (max-width: 640px) {
	.asi_service .service_wrap {
		padding: 0 0 30px;
	}
}
@media (min-width: 641px) {
	@supports (display: flow-root) {
		.asi_service .mod_wrap01.col_1 {
			display: flow-root;
		}
	}
	@supports not (display: flow-root) {
		.asi_service .mod_wrap01.col_1 {
			display: block;
		}

		.asi_service .mod_wrap01.col_1:after {
			content: "";
			display: block;
			clear: both;
		}
	}
	.ie .asi_service .mod_wrap01.col_1 {
		display: block;
		width: calc(100% + 1px);
	}

	.ie .asi_service .mod_wrap01.col_1:after {
		content: "";
		display: block;
		clear: both;
	}

	.asi_service .mod_wrap01.col_1 > * {
		margin: 16px 0 0 16px;
		width: calc(100% / 1 - 0px);
		float: left;
	}

	.ie .asi_service .mod_wrap01.col_1 > * {
		width: calc(calc(100% - 1px) / 1 - 0px);
	}

	.ie .asi_service .mod_wrap01.col_1 > :first-child {
		margin-left: -1px;
	}

	.asi_service .mod_wrap01.col_1 > :nth-child(1n+1) {
		margin-left: 0;
	}

	.asi_service .mod_wrap01.col_1 > :nth-child(-n+1) {
		margin-top: 0;
	}
}
@media (min-width: 641px) {
	@supports (display: flow-root) {
		.asi_service .mod_wrap01.col_2 {
			display: flow-root;
		}
	}
	@supports not (display: flow-root) {
		.asi_service .mod_wrap01.col_2 {
			display: block;
		}

		.asi_service .mod_wrap01.col_2:after {
			content: "";
			display: block;
			clear: both;
		}
	}
	.ie .asi_service .mod_wrap01.col_2 {
		display: block;
		width: calc(100% + 1px);
	}

	.ie .asi_service .mod_wrap01.col_2:after {
		content: "";
		display: block;
		clear: both;
	}

	.asi_service .mod_wrap01.col_2 > * {
		margin: 16px 0 0 16px;
		width: calc(100% / 2 - 8px);
		float: left;
	}

	.ie .asi_service .mod_wrap01.col_2 > * {
		width: calc(calc(100% - 1px) / 2 - 8px);
	}

	.ie .asi_service .mod_wrap01.col_2 > :first-child {
		margin-left: -1px;
	}

	.asi_service .mod_wrap01.col_2 > :nth-child(odd) {
		margin-left: 0;
	}

	.asi_service .mod_wrap01.col_2 > :nth-child(-n+2) {
		margin-top: 0;
	}
}
@media (min-width: 641px) {
	@supports (display: flow-root) {
		.asi_service .mod_wrap01.col_3 {
			display: flow-root;
		}
	}
	@supports not (display: flow-root) {
		.asi_service .mod_wrap01.col_3 {
			display: block;
		}

		.asi_service .mod_wrap01.col_3:after {
			content: "";
			display: block;
			clear: both;
		}
	}
	.ie .asi_service .mod_wrap01.col_3 {
		display: block;
		width: calc(100% + 1px);
	}

	.ie .asi_service .mod_wrap01.col_3:after {
		content: "";
		display: block;
		clear: both;
	}

	.asi_service .mod_wrap01.col_3 > * {
		margin: 16px 0 0 16px;
		width: calc(100% / 3 - 10.6666666667px);
		float: left;
	}

	.ie .asi_service .mod_wrap01.col_3 > * {
		width: calc(calc(100% - 1px) / 3 - 10.6666666667px);
	}

	.ie .asi_service .mod_wrap01.col_3 > :first-child {
		margin-left: -1px;
	}

	.asi_service .mod_wrap01.col_3 > :nth-child(3n+1) {
		margin-left: 0;
	}

	.asi_service .mod_wrap01.col_3 > :nth-child(-n+3) {
		margin-top: 0;
	}
}
@media (min-width: 641px) {
	@supports (display: flow-root) {
		.asi_service .mod_wrap01.col_4 {
			display: flow-root;
		}
	}
	@supports not (display: flow-root) {
		.asi_service .mod_wrap01.col_4 {
			display: block;
		}

		.asi_service .mod_wrap01.col_4:after {
			content: "";
			display: block;
			clear: both;
		}
	}
	.ie .asi_service .mod_wrap01.col_4 {
		display: block;
		width: calc(100% + 1px);
	}

	.ie .asi_service .mod_wrap01.col_4:after {
		content: "";
		display: block;
		clear: both;
	}

	.asi_service .mod_wrap01.col_4 > * {
		margin: 16px 0 0 16px;
		width: calc(100% / 4 - 12px);
		float: left;
	}

	.ie .asi_service .mod_wrap01.col_4 > * {
		width: calc(calc(100% - 1px) / 4 - 12px);
	}

	.ie .asi_service .mod_wrap01.col_4 > :first-child {
		margin-left: -1px;
	}

	.asi_service .mod_wrap01.col_4 > :nth-child(4n+1) {
		margin-left: 0;
	}

	.asi_service .mod_wrap01.col_4 > :nth-child(-n+4) {
		margin-top: 0;
	}
}
@media (min-width: 641px) {
	@supports (display: flow-root) {
		.asi_service .mod_wrap01.col_5 {
			display: flow-root;
		}
	}
	@supports not (display: flow-root) {
		.asi_service .mod_wrap01.col_5 {
			display: block;
		}

		.asi_service .mod_wrap01.col_5:after {
			content: "";
			display: block;
			clear: both;
		}
	}
	.ie .asi_service .mod_wrap01.col_5 {
		display: block;
		width: calc(100% + 1px);
	}

	.ie .asi_service .mod_wrap01.col_5:after {
		content: "";
		display: block;
		clear: both;
	}

	.asi_service .mod_wrap01.col_5 > * {
		margin: 16px 0 0 16px;
		width: calc(100% / 5 - 12.8px);
		float: left;
	}

	.ie .asi_service .mod_wrap01.col_5 > * {
		width: calc(calc(100% - 1px) / 5 - 12.8px);
	}

	.ie .asi_service .mod_wrap01.col_5 > :first-child {
		margin-left: -1px;
	}

	.asi_service .mod_wrap01.col_5 > :nth-child(5n+1) {
		margin-left: 0;
	}

	.asi_service .mod_wrap01.col_5 > :nth-child(-n+5) {
		margin-top: 0;
	}
}
.asi_service .mod_wrap01 li {
	opacity: 0;
	-webkit-transition: 1.6s cubic-bezier(0.645, 0.02, 0.355, 1);
	-o-transition: 1.6s cubic-bezier(0.645, 0.02, 0.355, 1);
	transition: 1.6s cubic-bezier(0.645, 0.02, 0.355, 1);
}

.asi_service .mod_wrap01 li.active {
	opacity: 1;
}

@media screen and (max-width: 640px) {
	.asi_service .mod_wrap01 li {
		margin: 0 auto;
		max-width: 280px;
	}

	.asi_service .mod_wrap01 li + li {
		margin-top: 20px;
	}
}
.asi_service .mod_wrap01 li a {
	display: block;
	border-radius: 5px;
	text-align: center;
	background-color: #fff;
	position: relative;
	overflow: hidden;
	-webkit-transition: opacity 0.5s;
	-o-transition: opacity 0.5s;
	transition: opacity 0.5s;
}

.no-touchevents .asi_service .mod_wrap01 li a:hover {
	opacity: 0.8;
}

.asi_service .mod_wrap01 li .ico_box {
	margin: auto;
	border-radius: 50%;
	width: 74px;
	height: 74px;
	background-image: -webkit-gradient(linear, left top, right top, from(#009d95), to(#0da867));
	background-image: -o-linear-gradient(left, #009d95 0%, #0da867 100%);
	background-image: linear-gradient(to right, #009d95 0%, #0da867 100%);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

@media screen and (max-width: 640px) {
	.asi_service .mod_wrap01 li .ico_box {
		width: 36px;
		height: 36px;
		top: -30px;
	}
}
.asi_service .mod_wrap01 li .ico {
	margin: auto;
	width: 50px;
	height: 40px;
	fill: #fff;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

@media screen and (max-width: 640px) {
	.asi_service .mod_wrap01 li .ico {
		width: 25px;
		height: 20px;
	}
}
.asi_service .mod_wrap01 li .ph {
	width: 100%;
	height: 140px;
}

@media screen and (max-width: 640px) {
	.asi_service .mod_wrap01 li .ph {
		height: 80px;
	}
}
.asi_service .mod_wrap01 li .txt_box {
	height: 140px;
	padding-bottom: 10px;
}

@media screen and (max-width: 640px) {
	.asi_service .mod_wrap01 li .txt_box {
		height: 110px;
		padding-bottom: 0;
	}
}
.asi_service .mod_wrap01 li .ttl {
	margin-bottom: 6px;
	padding-top: 50px;
	font-size: 1.7rem;
	letter-spacing: 0.1em;
	font-weight: bold;
	font-family: "source-han-sans-japanese", sans-serif;
	font-weight: 500;
}

@media screen and (max-width: 640px) {
	.asi_service .mod_wrap01 li .ttl {
		padding-top: 24px;
		font-size: 1.3rem;
		line-height: 1.6;
	}
}
.asi_service .mod_wrap01 li .txt {
	font-size: 1.2rem;
}

@media screen and (max-width: 640px) {
	.asi_service .mod_wrap01 li .txt {
		line-height: 1.6;
	}
}