@charset "UTF-8";
/*
 * style.css
 *
 *  version --- 1.0
 */


/* !wrapper
---------------------------------------------------------- */
#wrapper {
	width: 100%;
	overflow: hidden;
	min-width: 1024px;
	position: relative;
	z-index: 2;
}

.menuOpen {
	overflow: hidden;
	height: 100vh;
}

.inner,
.inner02 {
	max-width: 1040px;
	padding: 0 20px;
	box-sizing: border-box;
	position: relative;
	margin: 0 auto;
}

.l-flex-cont {
	display: flex;
}

/* !header
---------------------------------------------------------- */
#header {
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
	z-index: 996;
	background: rgba(0, 0, 0, 0.7);
}

#headerLogo {
	float: left;
	padding-top: 18px;
}

.btnMenu {
	display: none;
}

/* !breadcrumb
---------------------------------------------------------- */
#breadcrumb {
	padding: 30px 0
}

#breadcrumb ul li {
	display: inline-block;
	position: relative;
	padding-right: 15px;
	/*color: #fff;*/
	font-size: 1.4rem;
}

#breadcrumb ul li a {
	color: #7847BE;
	text-decoration: underline;
}

#breadcrumb ul li:before {
	position: absolute;
	right: 0px;
	top: 0;
	z-index: 2;
	content: ">";
	color: #333;
}

#breadcrumb ul li:last-of-type {}

#breadcrumb ul li:last-of-type:before {
	content: none;
}

#breadcrumb ul li a:hover {
	text-decoration: underline;
}

/* !gNavi
---------------------------------------------------------- */

#gNavi {
	float: right;
}

.headerUl01 li {
	float: left;
}

.headerUl01 li+li {
	margin-left: 40px
}

.headerUl01 li a.link {
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	padding: 0 20px;
	height: 80px;
	font-size: 1.8rem;
	line-height: 1.2;
	color: #fff;
}

.headerUl01 li.last a {
	/* background: rgba(120, 71, 190, 1); */
	width: 200px;
}

.headerUl01 li a:hover {
	text-decoration: none;
}

.headerUl01 li:hover .link {
	background: rgba(120, 71, 190, 0.7);
	/* opacity: .6 */
}

.headerUl01 li.parent:hover .link {
	background: rgba(120, 71, 190, 0.7);
	opacity: 1;
}

.linkMenu {
	opacity: 0;
	pointer-events: none;
	position: absolute;
	z-index: 94;
	left: 0;
	top: 100%;
	width: 100%;
	transition: opacity 0.5s !important;
	-moz-transition: opacity 0.5s !important;
	/* Firefox */
	-webkit-transition: opacity 0.5s !important;
	/* Chrome&Safari */
	box-sizing: border-box;
	padding: 25px 0 35px;
	letter-spacing: 0.05em;
}

.linkMenu:before {
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	width: 10000%;
	height: 100%;
	z-index: -1;
	background: rgba(255, 255, 255, 0.8);
}

.linkEn {
	font-size: 5rem;
	line-height: 1;
	color: #7847BE;
}

.linkJp {
	font-size: 1.5rem;
	margin-bottom: 30px;
}

.linkList {
	float: left;
	width: 25%;
	box-sizing: border-box;
}

.linkList a {
	width: 60%;
	display: block;
	text-align: center;
	text-align: left;
	padding: 0;
	font-size: 1.5rem;
	font-weight: bold;
	background: url(../img/common/arrow01.png)no-repeat right center;
	background-size: auto;
	box-sizing: border-box;
	padding-left: 25px;
}

.linkMenu a:hover {
	opacity: .6
}

.headerUl01 li:hover .linkMenu {
	opacity: 1;
	pointer-events: auto;
}

/* !mainVisual
---------------------------------------------------------- */
#mainVisual {
	height: 100vh;
	/*height: 700px;*/
	/*min-height: 600px;*/
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.mvVideo {
	position: fixed;
	position: absolute;
	z-index: -1;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100vh;
	height: 100%;
	/*min-height: 600px;*/
	display: flex;
	justify-content: center;
	align-items: center;
}

.mvVideo video {
	object-fit: fill;
	width: 100%;
	height: 100%;
}

.mvBox {
	margin: 0 20px;
	background: rgba(0, 0, 0, 0.7);
	width: 700px;
	height: 200px;
	display: flex;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	font-size: 0rem;
	color: #fff;
}

.mvBox .en span {
	font-size: 5.4rem;
	font-weight: bold;
}

.mvBox .jp span {
	font-size: 3rem;
}

@keyframes letter-glow {
	0% {
		opacity: 0;
		text-shadow: 0px 0px 1px rgba(255, 255, 255, 0.1);
	}

	66% {
		opacity: 1;
		text-shadow: 0px 0px 20px rgba(255, 255, 255, 0.9);
	}

	77% {
		opacity: 1;
	}

	100% {
		text-shadow: 0px 0px 20px rgba(255, 255, 255, 0);
	}
}

.animated .mast__title span {
	animation: letter-glow 0.7s 0s ease both;
}

.mast__title span:nth-child(1) {
	animation-delay: 0.05s;
}

.mast__title span:nth-child(2) {
	animation-delay: 0.1s;
}

.mast__title span:nth-child(3) {
	animation-delay: 0.15s;
}

.mast__title span:nth-child(4) {
	animation-delay: 0.2s;
}

.mast__title span:nth-child(5) {
	animation-delay: 0.25s;
}

.mast__title span:nth-child(6) {
	animation-delay: 0.3s;
}

.mast__title span:nth-child(1) {
	animation-delay: 0.35s;
}

.mast__title span:nth-child(2) {
	animation-delay: 0.4s;
}

.mast__title span:nth-child(3) {
	animation-delay: 0.45s;
}

.mast__title span:nth-child(4) {
	animation-delay: 0.5s;
}

.mast__title span:nth-child(5) {
	animation-delay: 0.55s;
}

.mast__title span:nth-child(6) {
	animation-delay: 0.6s;
}

.mast__title span:nth-child(7) {
	animation-delay: 0.65s;
}

.mast__title span:nth-child(8) {
	animation-delay: 0.7s;
}

.mast__title span:nth-child(9) {
	animation-delay: 0.75s;
}

.mast__title span:nth-child(10) {
	animation-delay: 0.8s;
}

.mast__title span:nth-child(11) {
	animation-delay: 0.85s;
}

.mast__title span:nth-child(12) {
	animation-delay: 0.9s;
}

.mast__title span:nth-child(13) {
	animation-delay: 0.95s;
}

.mast__title span:nth-child(14) {
	animation-delay: 1s;
}

.mast__title span:nth-child(15) {
	animation-delay: 1.05s;
}

.mast__title span:nth-child(16) {
	animation-delay: 1.1s;
}

.mast__title span:nth-child(17) {
	animation-delay: 1.15s;
}

.mast__title span:nth-child(18) {
	animation-delay: 1.2s;
}

.mast__title span:nth-child(19) {
	animation-delay: 1.25s;
}

/* !teaser
---------------------------------------------------------- */
#teaser {
	background: url(../img/company/top_company.jpg)no-repeat center center;
	background-size: cover;
	height: 340px;
	color: #fff;
	font-size: 2rem;
	padding-top: 160px;
	box-sizing: border-box;
	position: relative;
	text-align: center;
}

#teaser2 {
	background-size: cover;
	height: 340px;
	color: #fff;
	font-size: 2rem;
	padding-top: 160px;
	box-sizing: border-box;
	position: relative;
	text-align: center;
}

#teaser .enFt,
#teaser2 .enFt {
	font-size: 7rem;
	line-height: 1.2;
}

#philosophy #teaser {
	background: url(../img/philosophy/top_companyphilosophy.jpg)no-repeat center center;
	background-size: cover;
}

#profile #teaser {
	background: url(../img/profile/top_companyprofile.jpg)no-repeat center center;
	background-size: cover;
}

#representative #teaser {
	background: url(../img/representative/top_representativegreetings.jpg)no-repeat center center;
	background-size: cover;
}

#history #teaser {
	background: url(../img/history/top_history.jpg)no-repeat center center;
	background-size: cover;
}

#technology #teaser {
	background: url(../img/technology/top_technology.jpg)no-repeat center center;
	background-size: cover;
}

#recruit #teaser {
	background: url(../img/recruit/top_recruit.jpg)no-repeat center center;
	background-size: cover;
}

#business #teaser {
	background: url(../img/business/top_business.jpg)no-repeat center center;
	background-size: cover;
}

#original #teaser {
	background: url(../img/original/top_original.jpg)no-repeat center center;
	background-size: cover;
}

#case #teaser {
	background: url(../img/case/top_casestudy.jpg)no-repeat center center;
	background-size: cover;
}

#contact #teaser {
	background: url(../img/contact/top_contact.jpg)no-repeat center center;
	background-size: cover;
}

/* !contents
---------------------------------------------------------- */
#contents {}

#particles-js {
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: relative;
}

.particles-js-canvas-el {
	right: 0;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	z-index: -1;
}

.pg-canvas {
	position: fixed;
	position: absolute;
	z-index: -99;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100vh;
	height: 100%;
	opacity: .2
}

/* !pageTop
---------------------------------------------------------- */
.pageTop {}

/* !footer
---------------------------------------------------------- */
#footer {
	border-top: 10px solid #7847BE;
	padding: 60px 0 40px;
	background: #fff;
}

.ftUl {
	position: absolute;
	right: 20px;
	bottom: 0;
	text-align: center;
}

.ftUl li+li {
	margin-top: 10px;
}

.ftUl .btnLink01 {
	font-size: 1.5rem;
	min-width: 180px;
	padding: 8px 10px;
}

#footer .box01 {
	float: right;
	width: 400px;
	margin-left: 50px;
}

#footer .box01 a:hover {
	text-decoration: none;
	opacity: .5
}

#footer .box02 {
	float: right;
}

#footer .box03 {
	overflow: hidden;
	font-weight: bold;
}

#footer .big {
	font-weight: bold;
	font-size: 1.8rem;
}

#footer .big+.big {
	padding-top: 5px;
}

#footer .ulBox {
	display: inline-block;
	min-width: 150px;
	vertical-align: top;
	margin-bottom: 30px;
}

#footer .ulBox ul {
	border-left: 1px solid;
	padding-left: 15px;
	font-size: 1.5rem;
	line-height: 1.8;
	margin-top: 10px;
}


#footer .box01 .right {
	float: right;
}

#footer .ftP01 {
	font-size: 1.8rem;
	padding: 8px 0 30px;
}

#footer .ftP02 {
	font-size: 1.6rem;
	line-height: 1.375;
	padding-bottom: 5px;
}

#footer .ftP02 font {
	font-size: 1.3rem
}

#footer .ftP03 {
	font-size: 1.6rem;
}

#copyright {
	font-size: 1rem;
	padding-top: 25px;
}

/* !h(n)eading
---------------------------------------------------------- */
.hdL {}

.hdM {}

.hdS {}

.hd01 {}



/* !list
---------------------------------------------------------- */
.list01 {}

/* !table
---------------------------------------------------------- */
.table01 {}


/*common*/
.cnt_left {
	float: left;
}

.cnt_right {
	float: right;
}

.txt_ani {
	overflow: hidden;
	position: relative;
}

.txt_ani>* {
	/* overflow: hidden; */
	transform: translateY(400%);
}

.is-animation .txt_ani>* {
	animation-name: from_the_bottom2;
	animation-timing-function: ease-out;
	animation-duration: 0.4s;
	animation-fill-mode: forwards;
	/*transform: translateY(0%);*/
}

.is-animation .txt_ani {
	/* overflow: visible; */
}

.is-animation .txt_ani._1>* {
	animation-delay: 0.5s;
}

.is-animation .txt_ani._2>* {
	animation-delay: 0.8s;
}

.is-animation .txt_ani._3>* {
	animation-delay: 1.1s;
}

.is-animation .txt_ani._4>* {
	animation-delay: 1.4s;
}

.is-animation .txt_ani._5>* {
	animation-delay: 1.7s;
}

.is-animation .txt_ani._6>* {
	animation-delay: 2s;
}

.is-animation .txt_ani {
	animation-delay: 1s;
	animation-name: _visible;
	animation-fill-mode: forwards;
	animation-duration: 0s;
}

@-webkit-keyframes from_the_bottom2 {
	0% {
		transform: translateY(100%);
	}

	100% {
		transform: translateY(0);
	}
}

@-webkit-keyframes _visible {
	0% {
		overflow: hidden;
	}

	100% {
		position: static;
		overflow: visible;
	}
}

@keyframes from_the_bottom2 {
	0% {
		transform: translateY(100%);
	}

	100% {
		transform: translateY(0);
	}
}

@keyframes _visible {
	0% {
		overflow: hidden;
	}

	100% {
		/*position: static;*/
		overflow: visible;
	}
}

.block-content {
	opacity: 0;
	/*transform: translateY(15%);*/
	transition: 0.3s;
	transition-delay: 1.2s;
	position: relative;
}

.block-element {
	transform: scaleY(0);
	transform-origin: 50% 0px;
	background-color: rgb(0, 0, 0);
	position: absolute;
	bottom: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 1;
}

@-webkit-keyframes from_the_bottom {
	0% {
		height: 0%;
		transform: scaleY(1);
	}

	50% {
		height: 100%;
	}

	75% {
		transform: scaleY(1);

	}

	100% {
		transform: scaleY(0);
	}
}

@keyframes from_the_bottom {
	0% {
		height: 0%;
		transform: scaleY(1);
	}

	50% {
		height: 100%;
	}

	75% {
		transform: scaleY(1);

	}

	100% {
		transform: scaleY(0);
	}
}

.is-animation .block-content {
	opacity: 1;
	transition-delay: 0.5s;

	/*transform: translateY(0%);*/
}

.is-animation .block-element {
	animation-name: from_the_bottom;
	animation-timing-function: ease;
	/*animation-delay: 1.5s;*/
	animation-duration: 1s;
}



.title_style1 {
	margin-bottom: 30px;
	line-height: 1.05;
}

.title_style1 span {
	display: block;
}

.title_style1 .txt1 {
	font-family: 'DIN Condensed';
	display: block;
	font-size: 7rem;
	color: #7847BE;
}

.title_style1 .txt2 {
	font-size: 2rem;
}

.title_style1 .txt2._white {
	color: #fff;
}

.txt_ani._3 .txt3 {
	padding: 50px 0 19px;
	color: #7847BE;
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.3;

}

.txt_ani._4 .txt4 {
	font-size: 1.8rem;
	line-height: 1.8;
	padding-bottom: 36px;
}

.txt_ani._5 .link {
	text-align: center;
}

.btnLink01 {
	display: inline-block;
	text-decoration: none;
	color: #7847BE;
	background: #fff;
	border: 1px solid #7847BE;
	font-size: 1.8rem;
	font-weight: bold;
	min-width: 250px;
	box-sizing: border-box;
	padding: 10px 10px 10px;
	position: relative;
	text-align: center;
	transition: all 0.3s ease;
	z-index: 1;
}

.btnLink01.purple {
	background: #7847BE;
	color: #fff;
}

.btnLink01:hover {
	text-decoration: none;
	opacity: .7
}

/*index*/
.indexSec01 .inbox {
	position: relative;
	margin: 140px 0 150px;
}

.indexSec01 .inbox_2 {
	position: relative;
	margin-left: -240px;
}

.indexSec01 .img_cnt {
	width: calc(48% + 250px);
	position: relative;
	margin-right: -250px;
}

.indexSec01 .cnt_left {
	width: 48%;
}

.abTitle {
	font-weight: bold;
	font-size: 16.5rem;
	color: #000;
	line-height: 1;
	white-space: nowrap;
	position: absolute;
	z-index: 5;
	width: 100%;
	z-index: 4;
}

.abTitle.gray {
	z-index: 9;
	overflow: hidden !important;
}

.abTitle.gray p {
	position: absolute;
	color: rgba(255, 255, 255, 0.4);
}

.indexSec01 .abTitle {
	right: 100px;
	bottom: -70px;
	height: 165px;
	width: 100%;
}

.indexSec01 .abTitle.gray {
	right: 0px;
	bottom: 0px;
}

.indexSec01 .abTitle.gray p {
	left: -100px;
	top: 70px;
}

.indexSec01 .block-content {
	z-index: 5;
}

.indexSec02 {
	position: relative;
	z-index: 2;
}

/* .indexSec02:before,
.indexSec02:after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 10000%;
	height: 450px;
	background: rgba(0, 0, 0, 0.7);
	z-index: -1;
	transform: translateX(-50%);
}

.indexSec02:after {
	height: 660px
} */

.indexSec02 .inbox {
	position: relative;
	z-index: 2;
}

.indexSec02 .inbox .txt_ani._4 {
	max-width: 85%;
	margin-bottom: 24px;
}

.indexSec02 .abTitle {
	transform: rotate(90deg) translateX(50%);
	right: -52%;
	top: 0px;
}

.indexSec02 .ul01 .img_cnt {
	position: relative;
}

.indexSec02 .ul01 .img_cnt .block-content {
	height: 100%;
	/* overflow: hidden; 全て揃った時に復活 */
}

.indexSec02 .ul01 .img_cnt img {
	height: 100%;
	max-width: none;
	transition: all 0.5s !important;
}

.indexSec02 .ul01 li {
	float: left;
	/* width:33.3%; */
	width: 59%;
	box-sizing: border-box;
	color: #fff;
	position: relative;
	color: #fff;
}

.indexSec02 .ul01 li:hover .img_cnt .block-content {
	overflow: visible;
}

.indexSec02 .ul01 li:hover img {
	/* position: absolute;
	right: 0; */
	/*z-index: 3;*/
}

.indexSec02 .ul01 .cnt_area {
	padding: 0 10px 32px 7px;
}

.indexSec02 .ul01 ._1 {
	font-size: 7rem;
	line-height: 1;
	position: absolute;
	top: 5px;
	left: 10px;
}

.indexSec02 .ul01 ._2 {
	font-size: 2.6rem;
	color: #7847BE;
	line-height: 1.5;
	/*position: relative;*/
	transform: translateY(-100%);
}

.indexSec02 .ul01 ._3 {
	font-size: 1.8rem;
	line-height: 1.77;
}

.indexSec02 .ul01 ._3 span {
	display: block;
	margin-bottom: 20px;
}

.indexSec02 .ul01 ._4 {
	text-align: center;
	padding: 25px 0 0;
}

.indexSec02 .ul01 .categ {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 152px;
	height: 84px;
	font-size: 2.8rem;
	background: #fff;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	color: #333;
}

.indexSec03 {
	padding: 195px 0 165px;
}

.indexSec03 .cnt_area {
	position: relative;
	padding: 70px 60px;
}

.indexSec03 .squ {
	background: #7847BE;
	position: absolute;
	left: 0;
	top: 0;
	width: 250px;
	height: 250px;
	z-index: 1;
}

.indexSec03 .squ._2 {
	right: 0;
	bottom: 0;
	left: auto;
	top: auto;
}

.indexSec03 .box {
	position: relative;
	z-index: 2;
	float: left;
	width: 50%;
	box-sizing: border-box;
	border: 1px solid #C8CACB;
	background: rgba(255, 255, 255, 0.95);
	letter-spacing: 0.1em;
}

.indexSec03 .box.box-border {
	border-right: none;
}

/* .indexSec03 .box:first-child {
	border-right: none;
} */

.indexSec03 .box ._1 p {
	color: #7847BE;
	font-size: 5rem;
	padding: 7px 15px;
	border-bottom: 1px solid #C8CACB;
}

.indexSec03 .box ._2 ul {
	padding: 0 15px;
}

.indexSec03 .box ._2 li {
	box-sizing: border-box;
	padding: 17px 15px;
	border-bottom: 1px solid #C8CACB;
}

.indexSec03 .box ._2 li a {
	display: block;
	font-size: 2rem;
}

.indexSec03 .box ._2 li a .date {
	color: #808080;
	margin-bottom: 5px;
}

.indexSec03 .box ._2 li a .text {
	font-weight: bold;
}

.indexSec03 .box ._2 li a:hover {
	text-decoration: none;
	opacity: .7
}

.indexSec03 .box ._3 {
	padding: 54px 0 44px;
	text-align: center;
}

.indexSec04 {
	margin-bottom: 145px;
	position: relative;
	z-index: 2;
}

.indexSec04 .inbox {
	position: relative;
}

.indexSec04 .inbox:before {
	z-index: -1;
	content: '';
	position: absolute;
	left: 30px;
	top: 30px;
	width: 100%;
	height: 100%;
	background: #E5E5E5
}

.indexSec04 .is-animation .block-element {
	animation-duration: 0.7s
}

.indexSec04 .box {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

.indexSec04 .cnt_area {
	display: flex;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	width: 250px;
	height: 180px;
	color: #fff;
	background: rgba(120, 71, 190, 0.7);
}

.indexSec04 .txt_ani._1 p {
	font-size: 7rem;
	line-height: 1.3;
}

.indexSec04 .txt_ani._2 p {
	font-size: 2rem;
}

/*company*/
.companyWrap {
	padding: 25px 0 190px;
}

.companyTop {
	text-align: center;
	margin-bottom: 100px;
}

.companyTop .title {
	color: #7847BE;
	font-weight: bold;
	font-size: 3rem;
	padding-bottom: 30px;
}

.companyTop .text {
	font-size: 1.8rem;
	line-height: 1.66;
}

.companyDl01+.companyDl01 {
	margin-top: 90px
}

.companyDl01 .left {
	float: left;
	width: 54%;
}

.companyDl01 .right {
	float: right;
	width: 54%;
	padding-left: 25px;
	box-sizing: border-box;
}

.companyDl01 .left.imgCt {
	margin-left: -240px;
	width: calc(46% + 240px);
}

.companyDl01 .right.imgCt {
	margin-right: -240px;
	width: calc(46% + 240px);
	padding-left: 0;
}

.companyDl01 .imgCt {
	position: relative;
}

.companyDl01 .imgCt:before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	background: rgba(0, 0, 0, 0.5);
	transition: background 0.5s !important;
	-moz-transition: background 0.5s !important;
	/* Firefox */
	-webkit-transition: background 0.5s !important;
	/* Chrome&Safari */
}

.companyDl01 .imgCt:hover:before {
	background: none
}

.companyDl01 .p01 {
	font-size: 7rem;
	color: #7847BE;
	line-height: 1.3;
}

.companyDl01 .p02 {
	font-size: 2rem;
}

.companyDl01 .p03 {
	font-size: 2.7rem;
	font-weight: bold;
	text-align: center;
	padding: 75px 0 105px
}

.companyDl01 .link {
	text-align: center;
}

.companyDl01._3 .p01 {
	line-height: 1;
}

.companyDl01._3 .p03 {
	padding-bottom: 58px
}

/*philosophy*/
.philosophyWrap {
	padding: 35px 0 190px
}

.philosophyTitle {
	font-size: 7rem;
	padding-top: 100px;
	padding-bottom: 5px;
	line-height: 1.1;
	position: relative;
	display: inline-block;
}

.philosophyTitle:after {
	content: '';
	position: absolute;
	top: 100%;
	right: 0;
	width: 1000%;
	height: 5px;
	background: #7847BE;
}

.philosophyText {
	padding-top: 100px;
	font-size: 3rem;
	line-height: 2;
	font-weight: bold;
}

.philosophySec01 {
	padding-bottom: 240px
}

.philosophySec01 .inbox {
	position: relative;
}

.philosophySec01 .img_cnt {
	width: calc(52% + 250px);
	position: relative;
	margin-right: -250px;
}

.philosophySec01 .cnt_left {
	width: 48%;
}

.philosophySec02 {
	padding-bottom: 177px;
	margin-bottom: 300px;
	position: relative;
}

.philosophySec02 .squ {
	width: 350px;
	height: 350px;
	background: rgba(120, 71, 190, 0.7);
	position: absolute;
	right: -250px;
	bottom: -170px;
	z-index: -1;
}

.philosophySec02 .inbox {
	position: relative;
}

.philosophySec02 .img_cnt {
	width: calc(45% + 250px);
	position: relative;
	margin-left: -250px;
}

.philosophySec02 .cnt_right {
	width: calc(55% + 65px);
	margin-right: -65px;
	box-sizing: border-box;
	padding-left: 40px;
	color: #fff;
	background: rgba(120, 71, 190, 0.7);
	position: relative;
}

.philosophySec02 .philosophyTitle:after {
	right: auto;
	left: 0;
	transform: translateY(-100%);
	background: #fff;
}

.philosophySec03 .inbox {
	position: relative;
}

.philosophySec03 .img_cnt .bg {
	height: 440px;
	background: #333;
}

.philosophySec03 .cnt_area {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	display: flex;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	color: #fff;
	padding-bottom: 40px
}

.philosophySec03 .philosophyTitle {
	padding-top: 0
}

.philosophySec03 .philosophyTitle:after {
	width: 100%;
	transform: translateY(-100%);
}

.philosophySec03 .philosophyText {
	padding-top: 60px
}


/*profile*/
.profileWrap {
	padding-bottom: 180px
}

.profileSec01 {
	padding: 40px 0 180px;
}

.table01 {
	width: 100%;
	border-top: 1px solid;
}

.table01 th,
.table01 td {
	font-size: 1.8rem;
	line-height: 2;
	padding: 42px 0;
	border-bottom: 1px solid;
	font-weight: 500
}

.table01 th {
	width: 43%;
	box-sizing: border-box;
	padding-left: 70px;
	vertical-align: top;
}

.table01 .link a {
	color: #77868A;
	text-decoration: underline;
}

.map {
	display: block;
	width: 100%;
	height: 400px;
	overflow: hidden;
}

/*representative*/
.representativeWrap {
	padding: 30px 0 180px
}

.representativeSec01 {
	position: relative;
	padding-bottom: 60px;
	margin-bottom: 95px;
	z-index: 2;
}

.representativeSec01:before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	height: calc(100% - 60px);
	width: 100%;
	max-width: 1500px;
	z-index: -1;
	background: #C7B5E2;

}

.representativeSec01 dt {
	padding-top: 340px;
	float: right;
	margin-right: -250px;
	width: calc(46% + 250px);
}

.representativeSec01 dd {
	float: left;
	width: 70%;
	box-sizing: border-box;
	margin-left: -250px;
}

.representativeSec01 .p01 {
	font-size: 3rem;
	font-weight: bold;
	position: relative;
	padding-left: 30px;
}

.representativeSec01 .p01:before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	height: 100px;
	width: 100px;
	background: rgba(120, 71, 190, 0.7);
	z-index: -1;
}

.representativeSec01 .p02 {
	font-size: 2rem;
	font-weight: bold;
	padding-top: 40px;
	padding-left: 30px;
}

.representativeSec02 .text {
	font-size: 1.8rem;
	line-height: 1.77;
	letter-spacing: -0.05em
}

.representativeSec02 .text+.text {
	padding-top: 32px
}


/*history*/
.historyWrap {
	padding: 35px 0 180px
}

.historyWrap .table01 th,
.historyWrap .table01 td {
	font-size: 1.8rem;
	line-height: 1.66;
	padding: 19px 0;
}

.historyWrap .table01 th {
	width: 25%;
	padding-left: 50px;
}

.historyWrap .table01 td {
	letter-spacing: -0.05em
}


/*contact*/
.contactWrap {
	padding: 60px 0 190px;
	background: #fff
}

.contactUl {
	max-width: 440px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
}

.contactUl li {
	opacity: .5;
	position: relative;
}

.contactUl li+li:before {
	content: '';
	position: absolute;
	width: 148px;
	height: 9px;
	z-index: 1;
	top: 11px;
	left: -150px;
	background: url(../img/common/arrow03.png)no-repeat bottom right;
	background-size: 100% auto;
}

.contactUl li.active {
	opacity: 1
}

.contactUl .point {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid;
	box-sizing: border-box;
}

.contactUl .text {
	padding-top: 16px;
}

.contactUl li.active .point {
	color: #fff;
	background: #7847BE;
}

.contactP {
	line-height: 1.75;
	padding: 50px 0 80px;
	text-align: center;
}

.selectCont {
	display: none;
}

.contactForm {
	max-width: 765px;
	margin: 0 auto;
}

.contactDl {
	display: flex;
	justify-content: space-between;
	margin-top: 36px;
}

.contactDl dt {
	width: 275px;
	font-size: 1.8rem;
	overflow: hidden;
	padding-top: 12px;
}

.contactDl dt span {
	float: right;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 43px;
	height: 25px;
	font-weight: bold;
	color: #7847BE;
	border: 1px solid;
	font-size: 1.3rem;
}

.contactDl dd {
	width: 460px;
	font-size: 1.6rem;
}

.contactForm select,
.contactForm input[type='text'],
.contactForm input[type='number'],
.contactForm input[type='tel'],
.contactForm input[type='email'] {
	height: 50px;
	width: 100%;
	box-sizing: border-box;
	padding: 0 15px;
	background: #F1F3F4;
	border-radius: 5px;
}

.contactForm textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 14px 15px;
	resize: none;
	font-family: initial;
	min-height: 240px;
	margin-bottom: 6px;
	background: #F1F3F4;
	border-radius: 5px;
}

.contactForm select {
	background: url(../img/common/select.png)no-repeat right 20px center #F1F3F4;
	background-size: 11px auto;
	padding: 0 50px 0 15px;
	font-size: 1.4rem;
	margin-bottom: 6px;
	border: 1px solid #000;
	border-radius: 5px;
}

.contactForm .notice {
	font-size: 1.3rem;
	padding-top: 8px
}

.policyBox {
	overflow-y: auto;
	height: 256px;
	font-size: 1.5rem;
	line-height: 1.6;
	border: 1px solid #CBCCCC;
	box-sizing: border-box;
	padding: 6px 15px;
	margin: 40px auto 0;
	max-width: 650px;
}

.policyBox p+p {
	padding-top: 24px;
}

.policyBox p span {
	display: block;
}

.agreeP {
	font-size: 1.6rem;
	margin-top: 33px;
	color: #000;
	text-align: center;
}

label.checkBox01 input[type="checkBox"] {
	margin-right: 15px;
	position: relative;
	top: 2px;
}

label.checkBox01 input[type="checkBox"],
label.radioBox01 input[type="radio"] {
	margin-right: 15px;
	position: relative;
	top: 1px;
}

.agreeP label.checkBox01 input[type="checkBox"] {
	margin-right: 15px;
}

label.radioBox01+label.radioBox01 {
	margin-left: 40px;
}

.contactForm .btn {
	text-align: center;
	padding-top: 65px;
}

.contactForm .btn li {
	display: inline-block;
}

.contactForm .btn li+li {
	margin-left: 15px
}

.contactForm .btn .return input {
	background: #7847BE;
	color: #fff;
}

.contactForm .btn .btnLink01 {
	border: 1px solid #7847BE;
}

.confrim .contactDl dd {
	padding-top: 12px
}

.agreeP input[type="checkbox"] {
	margin-right: 15px;
}

input.wpcf7-form-control.wpcf7-submit {
	color: #7847BE;
	font-weight: 900;
}

.map iframe {
	width: 100%;
	height: 375px;
}

.contactForm .btn .return {
	border: 1px solid #7847BE;
}

.wpcf7-form-control .wpcf7-text .wpcf7-validates-as-required .p-locality .wpcf7c-conf {
	background: #eee !important;
	border: solid 1px #eee;
	color: #666;
}

/****************************
ブログページCSS
****************************/

.blog-mv {
	background: url(../img/blog/blog_main.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	padding-top: 43%;
	position: relative;
}

.news-mv {
	background-image: url(../img/news/news_bg.jpg);
}

.blog-mv-txt {
	justify-content: center;
	background-color: rgba(102, 51, 204, 0.7);
	color: white;
	font-weight: bold;
	font-size: 1.4vw;
	position: absolute;
	left: 32%;
	top: 39%;
	width: 13vw;
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 12vw;
	line-height: 1;
}

.blog-mv-txt:before {
	content: 'BLOG';
	font-size: 5vw;
	font-family: 'DIN Condensed';
	display: block;
}

.news-mv-txt {
	left: auto;
	right: 19%;
}

.news-mv-txt:before {
	content: 'NEWS';
}

.blog-wrapper {
	padding-bottom: 60px;
}

.blog-content {
	padding: 40px 50px;
	border-bottom: 1px solid #666;
}

.blog-content time {
	font-size: 18px;
}

.blog-content-link {
	display: flex;
}

.blog-content-link:hover {
	text-decoration: none;
}

.blog-content-ttl {
	font-size: 18px;
	font-weight: bold;
	margin-left: 5%;
	transition: 0.3s all;
}

.blog-content-link:hover .blog-content-ttl {
	color: #7847BE;
}

.blog-pager {
	margin-top: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.contents-arrow {
	border: 1px solid #7847BE;
	color: #7847BE;
	font-weight: bold;
	font-size: 14px;
	display: block;
	width: 200px;
	padding: 12px 0;
	text-align: center;
	transition: 0.3s all;
	margin: 0 15px;
	position: relative;
}

.contents-arrow:hover {
	text-decoration: none;
	opacity: 0.8;
}

.arrow-prev:before {
	content: '';
	background-image: url(../img/common/arrow02-rt.png);
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	width: 12px;
	height: 14px;
	position: absolute;
	left: 10px;
	top: 15px;
}

.arrow-next:after {
	content: '';
	background-image: url(../img/common/arrow02.png);
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	width: 12px;
	height: 14px;
	position: absolute;
	right: 10px;
	top: 15px;
}

/****************************
ブログ投稿記事ページ
****************************/

.post-single {
	margin-top: 100px;
}

.post-single-main {
	padding-bottom: 60px;
}

.post-single-heading {
	font-size: 42px;
	font-weight: bold;
}

.post-single-date {
	font-size: 16px;
	color: #808080;
	margin: 10px 10px 0 0;
}

.post-single-thumb {
	margin: 40px 0;
}

.post-single-content {
	margin-top: 40px;
}

.post-single-content p {
	line-height: 1.7;
	margin-bottom: 2em;
}

.post-single img {
	width: 100%;
	max-width: 700px;
	height: auto;
}

/****************************
5月末時点の公開箇所 / 調整
****************************/

.temp-none {
	display: none;
}

.mr-heading {
	margin-right: 12px;
}

.mt-mod {
	margin-top: 8px;
}

.mt-mod-lg {
	margin-top: 10px;
	padding: 10px 0;
}

.mt20 {
	margin-top: 20px;
}

.blog-ex {
	font-size: 16px;
	margin-top: 8px;
}

.wp-block-image img {
	max-width: 700px !important;
}

.contact-alert {
	margin-top: 10px;
	font-size: 13px;
}

.mw_wp_form_confirm .policyBox {
	display: none !important;
}

.mw_wp_form_confirm .agreeP {
	display: none !important;
}

.mw_wp_form_confirm .contactDl dd {
	margin-top: 13px;
}

.mw_wp_form_confirm .contact-alert {
	display: none !important;
}

.contact-top-btn {
	text-align: center;
}

#contact .contactForm .btn .return {
	border: 1px solid #fff;
}

/****************************
ipad幅調整
****************************/

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

	/* トップページ */

	#mainVisual {
		height: 52vh;
	}

	.indexSec01 .img_cnt {
		margin-right: -225px;
		bottom: -40px;
	}

	.indexSec01 .abTitle {
		right: 270px;
		bottom: -89px;
	}

	.indexSec01 .abTitle.gray p {
		left: -270px;
		top: 89px;
	}

	.indexSec02 .abTitle {
		right: -40%;
	}

	.indexSec02 .inbox .txt_ani._4 {
		max-width: 75%;
	}

	.indexSec04 .inbox:before {
		left: 15px;
		top: 15px;
	}

	.indexSec04 .inner {
		padding: 0 30px;
	}

	/* 会社情報 */

	.companyDl01 .right.imgCt {
		margin-right: -150px;
		width: 68%;
	}

	.companyDl01 .left.imgCt {
		margin-left: -150px;
		width: 68%;
	}

	.companyDl01 .left {
		width: 45%;
	}

	.companyDl01 .right {
		width: 45%;
	}

	/* 会社理念 */

	.philosophySec01 .cnt_left {
		width: 40%;
	}

	.philosophySec01 .philosophyText {
		font-size: 2.6rem;
	}

	.philosophySec01 .img_cnt {
		width: calc(52% + 170px);
		position: relative;
		margin-right: -95px;
	}

	.philosophySec02 {
		margin-bottom: 200px;
	}

	.philosophySec02 .squ {
		right: -70px;
		bottom: -130px;
	}

	.philosophySec02 .img_cnt {
		width: calc(45% + 120px);
		position: relative;
		margin-left: -120px;
	}

	.philosophySec02 .cnt_right {
		width: calc(55% + 40px);
		margin-right: -40px;
		padding-left: 25px;
	}

	/* 代表挨拶 */

	.representativeSec01 dt {
		padding-top: 270px;
		float: right;
		margin-right: -210px;
		width: calc(46% + 250px);
	}

	.representativeSec01 dd {
		float: left;
		width: 50%;
		box-sizing: border-box;
		margin-left: -26px;
	}

	.representativeSec01:before {
		width: 100%;
	}

}

/****************************
採用情報
****************************/

.recruit-ttl {
	color: #7847BE;
	font-weight: bold;
	font-size: 32px;
	padding-bottom: 8px;
	text-align: center;
	margin-bottom: 30px;
}

.recruit-bnr {
	margin-top: 100px;
}

.recruit-bnr-ttl {
	color: #7847BE;
	font-weight: bold;
	font-size: 30px;
	padding-bottom: 10px;
}

/****************************
事業内容
****************************/

.business-ttl {
	color: #7847BE;
	font-weight: bold;
	font-size: 28px;
	margin-bottom: 25px;
}

.business-main-txt+.business-main-txt {
	margin-top: 15px;
}

.business-main-txt span {
	color: #7847BE;
	font-weight: bold;
}

.businessWrap .left {
	width: 50%;
}

.business-bnr {
	margin-top: 50px;
	position: relative;
}

.business-hover {
	position: absolute;
	color: white;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	width: 0;
	background-color: rgba(0, 0, 0, 0.8);
	z-index: 100;
	transition: all 0.5s;
}

.business-bnr:hover .business-hover {
	width: 100%;
}

.business-hover:before {
	content: '独自技術の詳細を見る ＞';
	color: white;
	font-weight: bold;
	font-size: 36px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
	z-index: 150;
}

.business-hover:hover:before {
	opacity: 1;
	transition-delay: 0.25s;
	transition-duration: 0.5s;
}

.business-flow {
	margin-top: 70px;
}

.business-flow-label {
	width: 250px;
	height: 70px;
	color: white;
	background-color: #7847BE;
	font-weight: bold;
	font-size: 26px;
	text-align: center;
	line-height: 70px;
	letter-spacing: 0.1em;
	margin: 0 auto;
}

.business-flow-main {
	margin-top: 50px;
	text-align: center;
}

.indexSec04 .box-business {
	width: 80%;
}

.indexSec04 .txt_ani._1 p.business-flow-msg {
	font-size: 40px;
	line-height: 1.5;
}

.indexSec04 .cnt_area.business-flow-box {
	width: 100%;
}

/****************************
独自技術
****************************/

.or-txt-bl {
	font-size: 24px;
	color: #7847BE;
	font-weight: bold;
	line-height: 1.7;
}

.or-txt-sm {
	font-size: 16px;
	line-height: 1.7;
}

.or-link {
	margin-top: 60px;
}

.or-link-head {
	text-align: center;
	font-size: 24px;
	color: #7847BE;
	font-weight: bold;
	line-height: 1.7;
}

.or-link-list {
	display: flex;
	box-sizing: border-box;
	margin-top: 45px;
}

.or-link-list li {
	width: 25%;
	position: relative;
	border-right: 1px solid #7847BE;
	border-bottom: 1px solid #7847BE;
	padding-bottom: 25px;
}

.or-link-figure {
	position: absolute;
	top: 0;
	left: 0;
	width: 40px;
}

.or-link-figure img {
	width: 100%;
	height: auto;
}

.or-link-img {
	width: 90%;
	margin: 25px auto 0;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 200px;
}

.or-link-img img {
	width: 100%;
	height: auto;
}

.or-link-img img.or-link-img01 {
	width: 70%;
}

.or-link-img img.or-link-img02 {
	width: 55%;
}

.or-link-txt {
	font-weight: bold;
	font-size: 18px;
	text-align: center;
}

.or-link-scroll {
	transition: 0.5s all;
	text-decoration: none;
}

.or-link-scroll:hover {
	text-decoration: none;
}

.or-link-scroll:hover .or-link-arrow {
	transform: translateY(15px);
}

.or-link-arrow {
	width: 30px;
	margin: 20px auto 0;
	transition: 1s all;
}

.or-link-arrow img {
	width: 100%;
	height: auto;
}

.or-br {
	display: none;
}

.post-password-form {
	padding: 25vh 20px;
	text-align: center;
}

.post-password-form input {
	margin-top: 20px;
	border: 1px solid #666666;
}


/****************************
メインセクション
****************************/

.or-main {
	margin-top: 50px;
}

.or-main-cont li {
	padding: 40px 0;
}

ol.or-main-cont.li-2 {
	background-color: #eee;
}

.or-main-cont li:nth-child(2n) {
	background-color: #EEE;
}

.or-main-head {
	display: flex;
	align-items: flex-start;
}

.or-main-figure {
	width: 60px;
}

.or-main-figure img {
	width: 100%;
	height: auto;
}

.or-main-head-txt {
	margin-left: 15px;
}

.or-main-head-en {
	font-size: 26px;
	font-weight: bold;
	font-family: 'DIN Condensed';
	color: #7847BE;
}

.or-main-head-ja {
	font-size: 16px;
	font-weight: bold;
}

.or-main-ex {
	margin-top: 50px;
	display: flex;
	align-items: center;
}

.or-main-img {
	width: 100%;
	max-width: 200px;
}

.or-main-img.or-main-img01 img {
	max-width: 150px;
	display: block;
	margin: 0 auto;
}

.or-main-img.or-main-img02 img {
	max-width: 150px;
	display: block;
	margin: 0 auto;
}

.or-main-ex-txt {
	margin-left: 50px;
}

/****************************
ビジネスパートナー募集、ライセンスのご案内
****************************/

.or-bnr {
	margin-top: 100px;
}

.or-bnr-sec {
	margin-top: 50px;
}

.or-bnr-txt {
	margin-top: 15px;
}

.indexSec04 .inbox .or-bnr-area {
	height: 240px;
}

.indexSec04 .inbox .or-bnr-area .or-bnr-en {
	line-height: 1.1;
}

.or-bnr-link {
	margin-top: 15px;
}

.or-bnr-en {
	font-size: 44px;
}

.or-txt-mod {
	text-align: center;
	font-weight: bold;
}

.or-bnr-top {
	margin-top: 50px;
}

.or-bnr-btn {
	text-align: center;
	margin-top: 15px;
}

/****************************
導入事例
****************************/

.caseWrap {
	padding-bottom: 60px;
}

.case-top {
	margin: 60px auto 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	max-width: 840px;
	width: 100%;
	position: relative;
}

.case-top-left {
	width: 45%;
}

.case-top-right {
	width: 45%;
}

.case-top-label {
	margin: 0 auto;
}

.case-top-list {
	margin-top: 20px;
}

.case-top-list li {
	font-weight: bold;
	line-height: 1.8;
}

.case-top-txt {
	margin-top: 20px;
	line-height: 1.8;
}

.bg-black {
	background-color: #333;
}

.case-top-arrow {
	width: 30px;
	transform: rotate(270deg);
	position: absolute;
	left: 48%;
	top: 12px;
}

.case-top-arrow img {
	width: 100%;
	height: auto;
}

/****************************
タブ切り替え部分
****************************/

.case-sv {
	background-color: #e3daf1;
	padding-bottom: 40px;
}

.case-tab {
	display: flex;
}

.case-tab-btn {
	width: 50%;
	font-weight: bold;
	height: 70px;
	line-height: 70px;
	display: flex;
	align-items: center;
	font-size: 24px;
	box-sizing: border-box;
}

.case-tab-active {
	color: white;
	background-color: #7847BE;
}

.case-tab01 {
	justify-content: flex-end;
}

.case-tab02 {
	justify-content: flex-start;
	padding-left: 70px;
}

.case-tab-icon01 {
	margin-right: 30px;
	margin-left: 50px;
}

.case-tab-icon02 {
	margin-left: 50px;
}

.case-sv-imp {
	display: none;
}

.case-tab-show {
	display: block;
}

.case-tab-none {
	display: none;
}

.case-sv-go {
	margin-top: 50px;
}

.case-sv-come {
	margin-top: 50px;
}

.case-sv-head {
	font-weight: bold;
	font-size: 24px;
	text-align: center;
	margin-top: 30px;
}

.case-sv-head-pp {
	color: #7847BE;
}

.case-sv-flow {
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
}

/* 現状の課題 */

.case-sv-now {
	width: 48%;
	background-color: #f4f4f4;
	padding: 40px 15px;
	box-sizing: border-box;
}

.case-sv-now-main {
	margin-top: 50px;
}

.case-sv-now-icon {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 20px;
	position: relative;
}

.now-icon-01 {
	margin-right: -60px;
}

.now-icon-01-mod {
	margin-right: -100px;
}

.case-sv-now-pob {
	position: absolute;
	top: 70px;
	right: 164px;
}

.now-icon-02 {
	margin-right: -80px;
}

.now-icon-02-mod {
	margin-right: -110px;
}

.now-icon-03 {
	margin-right: -135px;
}

.now-icon-03-mod {
	margin-right: -80px;
}

.case-sv-now-pob2 {
	position: absolute;
	top: 45px;
	right: 205px;
}

.now-arrow-01 {
	margin-right: -60px;
}

.case-sv-now-txt {
	margin-left: 10px;
	font-weight: bold;
}

.case-sv-now-arrow {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 20px;
}

.case-sv-now-label {
	width: 50px;
	text-align: center;
	color: white;
	font-weight: bold;
	background-color: #575857;
	border-radius: 5px;
	margin-left: 8px;
}

.case-sv-now-box {
	margin-top: 20px;
	font-weight: bold;
	font-size: 21px;
	line-height: 1.8;
}

.case-sv-now-box-card {
	border: 1px solid #333;
	padding: 5px;
	box-sizing: border-box;
	margin-top: 5px;
}

.case-sv-now-box-card span {
	display: block;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	border: 1px solid #333;
	padding: 10px;
}

.case-sv-now-box-mod {
	margin-top: 20px;
}

/* 導入システム */

.case-sv-system {
	width: 48%;
	padding: 40px 15px;
	background-color: white;
	box-sizing: border-box;
}

.case-sv-system-txt {
	font-weight: bold;
	margin-left: 15px;
}

.system-txt-mod {
	margin-left: 40px;
}

.case-sv-system-icon {
	display: flex;
	position: relative;
	align-items: flex-end;
}

.icon-gps {
	position: absolute;
	top: -30px;
	left: -130px;
}

.icon-start {
	margin-left: -50px;
}

.case-sv-system-arrow {
	display: flex;
	align-items: center;
	margin-left: 100px;
	margin-top: 15px;
}

.case-sv-system-arrow-txt {
	font-weight: bold;
	margin-left: 15px;
}

.case-sv-system-label {
	width: 50px;
	text-align: center;
	color: white;
	font-weight: bold;
	background-color: #7847BE;
	border-radius: 5px;
	margin-left: 8px;
}

.label-long {
	width: 120px;
}

.system-icon-01 {
	margin: 40px auto 0;
	width: 80%;
	justify-content: space-between;
}

.system-icon-02 {
	margin-left: 135px;
	margin-top: 25px;
}

.system-icon-03 {
	margin-left: 85px;
	margin-top: 25px;
}

.system-icon-04 {
	margin-left: 85px;
	margin-top: 10px;
}

.case-sv-system-bottom {
	margin-top: 25px;
	line-height: 1.7;
}

.case-sv-system-bottom span {
	color: #7847BE;
	font-weight: bold;
}

.case-sv-system-fin {
	text-align: center;
	margin-top: 20px;
}

.case-sv-wrap {
	margin-top: 30px;
	position: relative;
	display: flex;
	justify-content: space-between;
}

.case-sv-il-rt {
	position: absolute;
	top: 180px;
	left: 39%;
}

.case-sv-il-txt {
	font-weight: bold;
	text-align: center;
	margin-top: 15px;
}

.case-sv-il-txt-mod {
	text-align: left;
}

.case-sv-il-icon img {
	display: block;
	margin: 0 auto;
}

.il-icon02 {
	margin-top: 20px;
}

.il-icon04 {
	margin-top: 33px;
}

.il-arrow01 {
	display: flex;
	justify-content: center;
	margin-left: 70px;
}

.il-arrow02 {
	display: flex;
	justify-content: center;
	margin-left: 0;
}

.il-arrow03 {
	display: flex;
	justify-content: center;
	margin-left: 100px;
}

.case-sv-bottom-arrow {
	margin-top: 30px;
	text-align: center;
}

.indexSec04 .case-bnr-link:before {
	background: #c3b1e1;
}

/****************************
トップページ修正
****************************/

.top-tech {
	display: flex;
}

.top-tech-img {
	margin-left: -190px;
	width: 100%;
}

.top-tech .or-link-list {
	flex-wrap: wrap;
	margin-top: 0;
}

.top-tech .or-link-list li {
	width: 48%;
}

.top-tech .or-fadein {
	opacity: 0;
	transform: translateY(30px);
	transition: 0.8s all;
}

.top-tech .fade01 {
	transition-delay: 0.15s;
}

.top-tech .fade02 {
	transition-delay: 0.3s;
}

.top-tech .fade03 {
	transition-delay: 0.45s;
}

.top-tech .fade04 {
	transition-delay: 0.6s;
}

.top-tech .or-link-list li:nth-child(2n) {
	border-right: none;
}

.top-tech .or-link-list li:nth-child(3) {
	border-bottom: none;
}

.top-tech .or-link-list li:nth-child(4) {
	border-bottom: none;
}

.top-tech .or-link-img img.or-link-img01 {
	width: 55%;
}

.top-tech .or-link-img img.or-link-img02 {
	width: 40%;
}

.top-tech .or-link-img img.or-link-img03 {
	width: 70%;
}

.top-tech .or-link-img img.or-link-img04 {
	width: 70%;
}

.top-tech .or-link-img {
	height: 124px;
}

@media screen and (min-width:768px) and (max-width:900px) {
	.indexSec02 .abTitle {
		font-size: 11rem;
	}
}