@charset "utf-8";


/* --------------------------------------------------
	Resetting default margin and padding
-------------------------------------------------- */

/* !HTML5 elements
---------------------------------------------------------- */
header, footer, nav, section, aside, article {
	display: block;
}

/* !Reseting
---------------------------------------------------------- */
body {
	font-family: 'Hiragino_Maru_Gothic', sans-serif;
	font-size: 16px;
	line-height: 2;
	font-weight: 400;
	-webkit-text-size-adjust: none;
	color: #000;
	background: #fff;
}

@media (max-width: 767px) {
	body {
		font-size: 14px;
		line-height: 1.78;
	}
}

body, div, pre, p, blockquote, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td, input, a, textarea, select, span, nav, section, header {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

input,
textarea {
	margin: 0;
	font-size: 100%;
	appearance: none;
	-webkit-appearance: none;
	border: none;
	outline: none;
}

label {
	cursor: pointer;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 100%;
}

fieldset, img {
	border: 0;
}

img {
	vertical-align: top;
	max-width: 100%;
}

address, caption, cite, code, dfn, em, th, var {
	font-style: normal;
	font-weight: normal;
}

ol, ul {
	list-style: none;
}

caption, th {
	text-align: left;
}

h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: 500;
}

q:after, q:before {
	content: '';
}

a, input {
	/* outline: none; */
}

abbr, acronym {
	border: 0;
}




/* !Clearfix
---------------------------------------------------------- */
.clearfix {
	display: block;
	min-height: 1%;
}

.clearfix:after {
	clear: both;
	content: ".";
	display: block;
	height: 0;
	visibility: hidden;
}

* html .clearfix {
	height: 1%;
	/*\*/
	/*/
	height: auto;
	overflow: hidden;
	/**/
}

/* !Layout
---------------------------------------------------------- */
html {
	overflow-y: scroll;
}

body {}

@media print {

	html,
	html body {
		*zoom: 0.65;
	}
}



/* link
------------------------------------------------ */
a {
	color: #000;
	text-decoration: none;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important;
	/* Firefox */
	-webkit-transition: all 0.3s !important;
	/* Chrome&Safari */
}

a:hover {
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important;
	/* Firefox */
	-webkit-transition: all 0.3s !important;
	/* Chrome&Safari */
}

.op,
.op a,
.op img,
.op input {
	-webkit-transition: opacity 0.3s ease-out;
	-moz-transition: opacity 0.3s ease-out;
	-ms-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
	-webkit-backface-visibility: hidden;
	-webkit-transform-style: preserve-3d;
}

.op:hover,
.op a:hover,
.op:hover img,
.op:hover input {
	opacity: .7;
	-webkit-opacity: .7;
	-moz-opacity: .7;
	filter: alpha(opacity=70);
	/* IE lt 8 */
	-ms-filter: "alpha(opacity=70)";
	/* IE 8 */
	-webkit-transition: opacity 0.3s ease-out;
	-moz-transition: opacity 0.3s ease-out;
	-ms-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
	-webkit-backface-visibility: hidden;
	-webkit-transform-style: preserve-3d;
}



/* !fs
------------------------------------------------ */
.visible-pc {
	display: block !important;
}

.visible-ts {
	display: none !important;
}

@media (max-width: 767px) {
	.visible-pc {
		display: none !important;
	}

	.visible-ts {
		display: block !important;
	}
}


/* !fonts
------------------------------------------------ */
.fwb {
	font-weight: 700;
}

.vat {
	vertical-align: top !important;
}

.vam {
	vertical-align: middle !important;
}

.tal {
	text-align: left !important;
}

.tac {
	text-align: center !important;
}

.tar {
	text-align: right !important;
}


/* !fc
------------------------------------------------ */
.ffquick {
	font-family: 'Quicksand', sans-serif;
}

.ffcant {
	font-family: 'Cantarell', sans-serif;
}

@font-face {
	font-family: 'Hiragino_Maru_Gothic';
	src: url('../fonts/Hiragino_Maru_Gothic_Pro.otf');
}

.ffmaru {
	font-family: 'Hiragino_Maru_Gothic', sans-serif;
}


/* wrapper
----------------------------------------------- */
#wrapper {
	overflow: hidden;
	padding: 108px 0 0;
}

.inner {
	max-width: 1060px;
	margin: 0 auto;
	padding: 0 30px;
	position: relative;
}

@media (max-width: 1024px) {
	#wrapper {
		padding: 55px 0 0;
	}
}

article {
	background: #4a426e;
}


/* header
----------------------------------------------- */
#header {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 99;
}

#header .headerin {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 0 0 30px;
	background: rgba(255, 255, 255, 0);
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important;
	/* Firefox */
	-webkit-transition: all 0.3s !important;
	/* Chrome&Safari */
}

.show #header .headerin {
	background: rgba(255, 255, 255, 1);
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important;
	/* Firefox */
	-webkit-transition: all 0.3s !important;
	/* Chrome&Safari */
}

#header .headerlogo {
	margin-right: 10px;
}

#header .headerlogo img {
	width: 70px;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important;
	/* Firefox */
	-webkit-transition: all 0.3s !important;
	/* Chrome&Safari */
}

.show #header .headerlogo img {
	width: 54px;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important;
	/* Firefox */
	-webkit-transition: all 0.3s !important;
	/* Chrome&Safari */
}

#header .headermess {
	display: flex;
	align-items: stretch;
}

#header .headerlang {
	background: #61618c;
	width: 142px;
	height: 108px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important;
	/* Firefox */
	-webkit-transition: all 0.3s !important;
	/* Chrome&Safari */
}

#header .headerlang .langbox {
	text-align: center;
	font-size: 14px;
	color: #fff;
}

#header .headerlang .langbox a {
	color: #9a9aae;
}

#header .headerlang .langbox a.on {
	color: #fff;
	text-decoration: underline;
}

#header .gnavibox {
	margin-right: min(50px, 3.57vw);
}

.top #header .gnavibox {
	margin-right: min(270px, 19.28vw);
}

.show.top #header .gnavibox {
	margin-right: min(50px, 3.57vw);
}

#header .gnavi {
	display: flex;
	justify-content: center;
	align-items: stretch;
	height: 100%;
	column-gap: min(70px, 5vw);
	position: relative;
}

#header .gnavi>li {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	letter-spacing: 0.04em;
	font-weight: 700;
	position: relative;
}

#header .gnavi>li>a {
	color: #333;
	display: block;
}

#header .gnavi>li>a:hover {
	color: #3f3377;
}

#header .gnavi .parents {
	padding-right: 25px;
	cursor: pointer;
	position: relative;
}

#header .gnavi .parents:before {
	position: absolute;
	content: "";
	background: url(../img/common/arrow_gnavi.svg) center center no-repeat;
	right: 0;
	top: 0;
	width: 10px;
	height: 100%;
	z-index: 0;
}

#header .gnavi .pulldownmenu {
	position: absolute;
	left: 0;
	top: 100%;
	padding: 20px 0 0;
	display: none;
	z-index: 9;
}

#header .gnavi .pullbox {
	background: #fff;
	display: flex;
	align-items: center;
	width: 575px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px;
	border-radius: 10px;
	-webkit-box-shadow: 0 12px 26px rgba(121, 121, 121, 0.1);
	-moz-box-shadow: 0 12px 26px rgba(121, 121, 121, 0.1);
	-ms-box-shadow: 0 12px 26px rgba(121, 121, 121, 0.1);
	-o-box-shadow: 0 12px 26px rgba(121, 121, 121, 0.1);
	box-shadow: 0 12px 26px rgba(121, 121, 121, 0.1);
	overflow: hidden;
}

#header .gnavi .pullimg {
	flex-shrink: 0;
}

#header .gnavi .pullcont {
	padding: 0 40px;
	flex: 1;
}

#header .gnavi .pullcont a:hover {
	opacity: 0.7;
}

#header .gnavi .pulltit {
	margin-bottom: 25px;
}

#header .gnavi .pulltit a {
	display: block;
	font-size: 22px;
	color: #3f3377;
	font-weight: 700;
	background: url(../img/common/arrow_pulls.svg) right center no-repeat;
	padding-right: 20px;
}

#header .gnavi .pulllist li+li {
	margin-top: 15px;
}

#header .gnavi .pulllist li {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}

#header .gnavi .pulllist li a {
	display: block;
	background: url(../img/common/arrow_pulls.svg) right center no-repeat;
	padding-right: 20px;
}


.show #header .headerlang {
	width: 156px;
	height: 85px;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important;
	/* Firefox */
	-webkit-transition: all 0.3s !important;
	/* Chrome&Safari */
}


.navbar-toggle {
	display: none;
}

.navbar-collapse {
	display: none;
}

@media (max-width: 1024px) {
	#header .headerin {
		padding: 0 0 0 15px;
		background: #fff;
	}

	#header .headerlogo img {
		width: 45px;
	}

	.show #header .headerlogo img {
		width: 45px;
	}

	#header .headerlang {
		background: none;
		width: auto;
		height: auto;
		padding: 0 80px 0 20px;
	}

	.show #header .headerlang {
		width: auto;
		height: auto;
	}

	#header .headerlang .langbox {
		text-align: center;
		font-size: 12px;
		color: #333;
	}

	#header .headerlang .langbox a {
		color: #9a9aae;
	}

	#header .headerlang .langbox a.on {
		color: #333;
	}

	#header .gnavibox {
		display: none;
	}

	.navbar-toggle {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 55px;
		height: 55px;
		background: #61618c;
		position: relative;
		z-index: 99;
	}

	.navbar-toggle .toggle-in {
		width: 20px;
		height: 10px;
		position: relative;
	}

	.navbar-toggle .toggle-in span {
		position: absolute;
		left: 0;
		transition: all .4s;
		background-color: #fff;
		width: 20px;
		height: 1px;
	}

	.navbar-toggle .toggle-in span:nth-of-type(1) {
		top: 0;
	}

	.navbar-toggle .toggle-in span:nth-of-type(2) {
		top: 9px;
	}

	.navbar-toggle.on .toggle-in span:nth-of-type(1) {
		top: 0;
		transform: translateY(5px) rotate(30deg);
	}

	.navbar-toggle.on .toggle-in span:nth-of-type(2) {
		top: 9px;
		transform: translateY(-4px) rotate(-30deg);
	}

	.navbar-toggle .toggle-txt {
		font-size: 10px;
		line-height: 1.2;
		color: #fff;
		font-weight: 700;
		letter-spacing: 0.12em;
		margin-top: 5px;
	}

	.navbar-toggle .toggle-txt .txtopen {
		display: block;
	}

	.navbar-toggle .toggle-txt .txtclose {
		display: none;
	}

	.navbar-toggle.on .toggle-txt .txtopen {
		display: none;
	}

	.navbar-toggle.on .toggle-txt .txtclose {
		display: block;
	}

	.navbar-collapse {
		position: absolute;
		left: 0;
		top: 100%;
		height: calc(100vh - 55px);
		width: 100%;
		background: #fff;
		z-index: 90;
	}

	.navbarin {
		height: 100%;
		padding: min(50px, 3.78vh) 30px 20px;
	}

	.navbarin .navbarbox {
		height: 100%;
		overflow-y: scroll;
	}

	.navbarin .navbarbox {
		-ms-overflow-style: none;
		overflow: -moz-scrollbars-none;
	}

	.navbarin .navbarbox::-webkit-scrollbar {
		display: none;
	}

	.navbarin .navbarbox {
		scrollbar-width: none;
	}

	.navbarin .navlist {
		line-height: 1.5;
	}

	.navbarin .navlist>li {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		padding: 20px 10px;
		border-bottom: 1px #d0d1d2 solid;
		font-size: 16px;
		letter-spacing: 0.04em;
		font-weight: 700;
	}

	.navbarin .navlist>li a {
		display: block;
		color: #3f3377;
	}

	.navbarin .navlist .navpull li {
		margin-top: 15px;
	}

	.navbarin .navlist .navpull li a {
		color: #333;
		font-size: 14px;
		letter-spacing: 0.04em;
		font-weight: 400;
	}

	.navbarin .navother {
		padding: 30px 10px 0;
	}

	.navbarin .navother .otherlist li {
		font-size: 13px;
		line-height: 1.5;
		letter-spacing: 0.02em;
	}

	.navbarin .navother .otherlist li+li {
		margin-top: 15px;
	}

	.navbarin .navother .otherlist li a {
		color: #333;
		display: inline-block;
	}

	.navbarin .navlist .navpar {
		position: relative;
	}

	.navbarin .navlist .navpar .arrowdown {
		position: absolute;
		content: "";
		background: url(../img/common/arrow_menu.png) center center no-repeat;
		background-size: 9px auto;
		left: 100%;
		top: 0;
		width: 50px;
		height: 100%;
		transform: rotate(180deg);
		transition: all 0.3s !important;
		-moz-transition: all 0.3s !important;
		/* Firefox */
		-webkit-transition: all 0.3s !important;
		/* Chrome&Safari */
		z-index: 0;
	}

	.navbarin .navlist .navpar .arrowdown.on {
		transform: rotate(0);
		transition: all 0.3s !important;
		-moz-transition: all 0.3s !important;
		/* Firefox */
		-webkit-transition: all 0.3s !important;
		/* Chrome&Safari */
	}
}

@media (max-width: 767px) {
	#header .headerlang {
		padding: 0 20px;
	}
}


/* footer
----------------------------------------------- */
#footer {
	background: #4a426e;
	padding: 80px 30px 60px;
}

#footer .footerin {
	max-width: 1000px;
	margin: 0 auto;
}

#footer .copyright {
	text-align: right;
	font-size: 12px;
	color: #efefef;
	font-weight: 700;
	line-height: 1.5;
	margin-top: 60px;
}

#footer .footerlink {
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: repeat(2, auto);
	gap: 10px;	
}

#footer .footerlink li {
	display: flex;
	justify-content: flex-start;
	margin-bottom: 30px;
}

#footer .footerlink.en {
	display: grid;
	grid-auto-flow: column;
	grid-template-rows: repeat(4, auto);
	gap: 10px;	
	align-items: flex-start;
}

#footer .footerlink.en li {
	width: 80%;
}

#footer .footerlink li a {
	display: block;
	font-size: 14px;
	color: #fff;
	line-height: 1.5;
	letter-spacing: 0.02em;
	padding-left: 30px;
	position: relative;
}

#footer .footerlink li a:before {
	position: absolute;
	content: "";
	width: 20px;
	height: 20px;
	background: url(../img/common/arrow_footer.svg) center center no-repeat #fff;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 0;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
}

#footer .footerlink .linklar {
	width: 350px;
}

#footer .footerlink .linkmid {
	width: 260px;
}

@media (max-width: 1024px) {
	#footer .footerlink {
		display: grid;
		grid-auto-flow: column;
		grid-template-rows: repeat(3, auto);
		gap: 10px;	
	}

	#footer .footerlink .linklar {
		width: 80%;
	}

	#footer .footerlink .linkmid {
		width: 80%;
	}

	#footer .footerlink li {
		width: 50%;
	}
}

@media (max-width: 767px) {
	#footer {
		padding: 50px 30px 40px;
	}

	#footer .copyright {
		margin-top: 50px;
		text-align: center;
	}

	#footer .footerlink {
		display: grid;
		grid-auto-flow: column;
		grid-template-rows: repeat(7, auto);
		gap: 10px;	
		align-items: flex-start;
	}

	#footer .footerlink.en {
		display: grid;
		grid-auto-flow: column;
		grid-template-rows: repeat(7, auto);
		gap: 10px;	
		align-items: flex-start;
	}

	#footer .footerlink li {
		margin-bottom: 0;
	}

	#footer .footerlink li+li {
		margin-top: 20px;
	}

	#footer .footerlink li a:before {
		width: 18px;
		height: 18px;
	}

	#footer .footerlink .linklar {
		width: auto;
	}

	#footer .footerlink .linkmid {
		width: auto;
	}

	#footer .footerlink li {
		width: auto;
	}

	#footer .footerlink.en li {
		width: auto;
	}
}




/* teaser
----------------------------------------------- */
.teaser {
	height: 268px;
	padding: 30px 20px 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

.teaser .teaserin {
	width: 1000px;
	max-width: 100%;
}

.teaser .teaserhd {
	font-size: 40px;
	color: #3f3377;
	font-weight: 700;
	line-height: 1.2;
}

.teaser .teasercap {
	margin-top: 15px;
	font-size: 18px;
	line-height: 1.7;
	font-weight: 700;
}

@media (max-width: 767px) {
	.teaser {
		height: 160px;
		padding: 10px 20px 25px;
	}

	.teaser .teaserhd {
		font-size: 22px;
	}

	.teaser .teasercap {
		margin-top: 15px;
		font-size: 12px;
	}

	.teaser.busiteaser .teasercap .viside-pc {
		display: none;
	}
}



/* contents
----------------------------------------------- */
.contents {
	background: #fff;
	margin-top: -44px;
	-webkit-border-radius: 44px 44px 0 0;
	-moz-border-radius: 44px 44px 0 0;
	-ms-border-radius: 44px 44px 0 0;
	-o-border-radius: 44px 44px 0 0;
	border-radius: 44px 44px 0 0;
	position: relative;
	z-index: 1;
}

@media (max-width: 767px) {
	.contents {
		margin-top: -25px;
		-webkit-border-radius: 30px 30px 0 0;
		-moz-border-radius: 30px 30px 0 0;
		-ms-border-radius: 30px 30px 0 0;
		-o-border-radius: 30px 30px 0 0;
		border-radius: 30px 30px 0 0;
	}
}


/* breadcrumb
----------------------------------------------- */
.breadcrumb {
	background: #4a426e;
	padding: 35px 30px;
}

.breadcrumb .breadin {
	max-width: 1000px;
	margin: 0 auto;
	font-size: 12px;
	line-height: 1.5;
	color: #808080;
}

.breadcrumb .breadin a {
	display: inline-block;
	color: #808080;
}

.breadcrumb .breadin a:hover {
	opacity: 0.7;
}

.breadcrumb .breadin .breadend {
	color: #bfbfbf;
	display: inline-block;
}

@media (max-width: 767px) {
	.breadcrumb {
		padding: 35px 30px 0;
	}

	.breadcrumb .breadin {
		font-size: 14px;
	}
}



/* anchor
----------------------------------------------- */
.anchor {
	position: absolute;
	left: 0;
	top: 0;
	padding-top: 85px;
	margin-top: -85px;
	z-index: 0;
}

@media (max-width: 1024px) {
	.anchor {
		padding-top: 55px;
		margin-top: -55px;
	}
}


/* H
----------------------------------------------- */
.hdl {
	font-size: 26px;
	font-weight: 700;
	color: #3f3377;
	line-height: 1.4;
	padding: 0 10px 15px;
	border-bottom: 1px #d0d1d2 solid;
	position: relative;
}

.hdl:before {
	position: absolute;
	content: "";
	background: #3f3377;
	width: 190px;
	height: 1px;
	left: 0;
	bottom: -1px;
	z-index: 0;
}

@media (max-width: 767px) {
	.hdl {
		font-size: 18px;
		padding: 0 5px 10px;
	}

	.hdl:before {
		width: 120px;
	}
}




/* about
----------------------------------------------- */
.aboutteaser {
	background-image: url(../img/about/teaser_about.jpg);
}

@media (max-width: 767px) {
	.aboutteaser {
		background-image: url(../img/about/teaser_about_sp.jpg);
	}
}

@media (max-width: 1024px) {}

@media (max-width: 767px) {}

/* about leaders
----------------------------------------------- */
.leaders .contents {
	padding: 60px 0 120px
}

.leaderdet {
	text-align: center;
	line-height: 2.2;
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 70px;
}

@media (max-width: 1024px) {
	.leaderdet {
		font-size: 18px;
	}
}

@media (max-width: 767px) {
	.leaders .contents {
		padding: 40px 0 50px
	}

	.leaderdet {
		line-height: 1.78;
		font-size: 14px;
		margin-bottom: 35px;
	}
}

@media (max-width: 320px) {
	.leaderdet {
		font-size: 12px;
	}
}

.leaderblock+.leaderblock {
	margin-top: 70px;
}

.leaderblock .hdl {
	margin-bottom: 50px;
}

.leaderblock .leaderlist {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	margin-bottom: -30px;
}

.leaderblock .leaderlist li {
	width: 48%;
	background: #efefef;
	padding: 30px 35px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px;
	border-radius: 10px;
	margin-bottom: 30px;
}

.leaderblock .leaderlist .leadermess {
	display: flex;
	align-items: center;
}

.leaderblock .leaderlist .leaderhead {
	flex-shrink: 0;
	margin-right: 30px;
}

.leaderblock .leaderlist .leaderhead img {
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-ms-border-radius: 6px;
	-o-border-radius: 6px;
	border-radius: 6px;
}

.leaderblock .leaderlist .leaderin {
	flex: 1;
}

.leaderblock .leaderlist .leadername {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 5px;
	letter-spacing: 0.08em;
	line-height: 1.2;
}

.leaderblock .leaderlist .leadereng {
	font-size: 13px;
	color: #3f3377;
	font-weight: 700;
}

.leaderblock .leaderlist .leaderintro {
	min-height: 4em;
	font-size: 15px;
	line-height: 1.85;
	margin-top: 20px;
}

.leaderblock .leaderlist .leaderintro .introin {
	font-feature-settings: "palt";
}

.leaderblock .leaderlist .leadercomp {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 15px;
}

.leaderblock .leaderlist .leadertype {
	font-size: 13px;
	line-height: 1.5;
	margin-bottom: 5px;
}


@media (max-width: 767px) {
	.leaderblock+.leaderblock {
		margin-top: 50px;
	}

	.leaderblock .hdl {
		margin-bottom: 30px;
	}

	.leaderblock .leaderlist {
		display: block;
		margin-bottom: 0;
	}

	.leaderblock .leaderlist li {
		width: auto;
		padding: 20px;
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		-ms-border-radius: 5px;
		-o-border-radius: 5px;
		border-radius: 5px;
		margin-bottom: 0;
	}

	.leaderblock .leaderlist li+li {
		margin-top: 20px;
	}

	.leaderblock .leaderlist .leaderhead {
		width: 70px;
		margin-right: 20px;
	}

	.leaderblock .leaderlist .leaderhead img {
		-webkit-border-radius: 3px;
		-moz-border-radius: 3px;
		-ms-border-radius: 3px;
		-o-border-radius: 3px;
		border-radius: 3px;
	}

	.leaderblock .leaderlist .leadername {
		font-size: 18px;
		letter-spacing: 0.08em;
		margin-bottom: 0;
	}

	.leaderblock .leaderlist .leadereng {
		font-size: 12px;
	}

	.leaderblock .leaderlist .leaderintro {
		min-height: inherit;
		font-size: 14px;
		line-height: 1.4;
		margin-top: 15px;
	}

	.leaderblock .leaderlist .leaderintro .introin+.introin {
		margin-top: 15px;
	}

	.leaderblock .leaderlist .leadercomp {
		font-size: 14px;
		margin-bottom: 10px;
	}

	.leaderblock .leaderlist .leadertype {
		margin-bottom: 0;
	}
}



/* group
----------------------------------------------- */
.groupmain {
	display: flex;
	align-items: flex-end;
	flex-direction: row-reverse;
	max-width: 1120px;
	margin: 0 auto;
	padding: 90px 30px 140px;
}

.groupmain .picbox {
	flex-shrink: 0;
	max-width: 37%;
	margin-right: 16.8%;
	position: relative;
}

.groupmain .piclar img,
.groupmain .picsml img {
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px;
	border-radius: 10px;
}

.groupmain .picsml {
	position: absolute;
	width: 265px;
	left: calc(100% - 144px);
	top: calc(100% - 122px);
	z-index: 1;
}

.groupmain .gmin {
	flex: 1;
}

.groupmain .gmhd {
	font-size: 30px;
	color: #3f3377;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 30px;
}

.groupmain .gmtxt {
	color: #333;
}

@media (max-width: 1024px) {
	.groupmain {
		flex-direction: column;
		align-items: center;
	}

	.groupmain .picbox {
		max-width: none;
		margin: 50px 0 0;
	}
}

@media (max-width: 767px) {
	.groupmain {
		padding: 40px 30px 35px;
	}

	.groupmain .picbox {
		margin: 40px 0 0;
		max-width: 66%;
		align-self: flex-start;
	}

	.groupmain .piclar img,
	.groupmain .picsml img {
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		-ms-border-radius: 5px;
		-o-border-radius: 5px;
		border-radius: 5px;
	}

	.groupmain .picsml {
		width: 70%;
		left: calc(100% - 14.5%);
		top: calc(100% - 34%);
	}

	.groupmain .gmin {
		flex: 1;
	}

	.groupmain .gmhd {
		font-size: 18px;
		margin-bottom: 20px;
	}
}

.compurple.grouppurple {
	padding-top: 120px;
}

.groupintro li+li {
	border-top: 1px #d0d1d2 solid;
	padding: 50px 0 0;
	margin: 50px 0 0;
}

.groupintro li {
	display: flex;
	align-items: flex-start;
}

.groupintro .intrologo {
	width: 42%;
	margin-right: 6%;
}

.groupintro .intrologo a {
	width: 100%;
	height: 250px;
	padding: 30px;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px;
	border-radius: 10px;
	position: relative;
}

.groupintro .intrologo a:before {
	position: absolute;
	content: "";
	right: 15px;
	bottom: 15px;
	background: url(../img/common/ico_blank.svg) center center no-repeat #61618c;
	width: 56px;
	height: 56px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	z-index: 1;
}

.groupintro .introcont {
	width: 52%;
	padding: 0 4% 0 0;
}

.groupintro .introhd {
	font-size: 26px;
	color: #3f3377;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 25px;
}

.groupintro .introtxt {}

@media (max-width: 767px) {
	.compurple.grouppurple {
		padding-top: 100px;
	}

	.groupintro li+li {
		padding: 30px 0 0;
		margin: 30px 0 0;
	}

	.groupintro li {
		padding: 0 10px;
		display: block;
	}

	.groupintro .intrologo {
		width: auto;
		margin: 0 0 30px;
	}

	.groupintro .intrologo a {
		height: 53.3vw;
		padding: 0 min(45px, 12vw);
		-webkit-border-radius: 8px;
		-moz-border-radius: 8px;
		-ms-border-radius: 8px;
		-o-border-radius: 8px;
		border-radius: 8px;
	}

	.groupintro .intrologo a:before {
		right: 10px;
		bottom: 10px;
		background: url(../img/common/ico_blank.svg) center center no-repeat #61618c;
		width: 38px;
		height: 38px;
	}

	.groupintro .introcont {
		width: auto;
		padding: 0;
	}

	.groupintro .introhd {
		font-size: 18px;
		margin-bottom: 15px;
	}
}




/* compurple
----------------------------------------------- */
.compurple {
	background: url(../img/common/bg_purple.jpg) 0 0 no-repeat #4a426e;
	padding: 0 30px;
}

.compurple .purplebox {
	max-width: 1200px;
	margin: 0 auto;
	background: #efefef;
	padding: 0 30px;
	-webkit-border-radius: 10px 0 0 10px;
	-moz-border-radius: 10px 0 0 10px;
	-ms-border-radius: 10px 0 0 10px;
	-o-border-radius: 10px 0 0 10px;
	border-radius: 10px 0 0 10px;
	position: relative;
}

.compurple .purplebox:before {
	position: absolute;
	content: "";
	background: #efefef;
	width: 100vw;
	height: 100%;
	left: 100%;
	top: 0;
	z-index: 0;
}

.compurple .purpleinner {
	max-width: 1000px;
	margin: 0 auto;
	padding: 100px 0;
}

@media (max-width: 767px) {
	.compurple {
		background: url(../img/common/bg_purple_sp.jpg) 0 0 no-repeat #4a426e;
		background-size: 100% auto;
		padding: 0 0 0 30px;
	}

	.compurple .purplebox {
		padding: 0 20px;
		-webkit-border-radius: 8px 0 0 8px;
		-moz-border-radius: 8px 0 0 8px;
		-ms-border-radius: 8px 0 0 8px;
		-o-border-radius: 8px 0 0 8px;
		border-radius: 8px 0 0 8px;
	}

	.compurple .purplebox:before {
		display: none;
	}

	.compurple .purpleinner {
		padding: 30px 0;
	}
}



/* business
----------------------------------------------- */
.busiteaser {
	background-image: url(../img/business/teaser_business.jpg);
}

@media (max-width: 767px) {
	.busiteaser {
		background-image: url(../img/business/teaser_business_sp.jpg);
	}
}

.busimain {
	padding: 105px 30px 100px;
	max-width: 1080px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
}

.busimain .picbox {
	max-width: 43%;
	margin-right: 10%;
	flex-shrink: 0;
	position: relative;
}

.busimain .picbox .piclar img,
.busimain .picbox .picsml img {
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px;
	border-radius: 10px;
}

.busimain .picbox .picsml {
	position: absolute;
	right: -50px;
	top: calc(100% - 60px);
	z-index: 1;
}

.busimain .bmin {
	flex: 1;
}

.busimain .bmtxt {
	letter-spacing: 0.02em;
	color: #333;
}

@media (max-width: 1024px) {
	.busimain {
		flex-direction: column;
		align-items: center;
	}

	.busimain .picbox {
		max-width: none;
		margin: 50px 0 0;
	}
}

@media (max-width: 767px) {
	.busimain {
		padding: 40px 30px 45px;
	}

	.busimain .picbox {
		margin: 40px 0 0;
		max-width: 71%;
		align-self: flex-start;
	}

	.busimain .picbox .piclar img,
	.busimain .picbox .picsml img {
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		-ms-border-radius: 5px;
		-o-border-radius: 5px;
		border-radius: 5px;
	}

	.busimain .picbox .picsml {
		width: 70%;
		right: auto;
		left: calc(100% - 32%);
		top: calc(100% - 22%);
	}
}

.busipurple {
	padding-top: 140px;
}

.busipurple .hdl {
	color: #fff;
	max-width: 1000px;
	margin: 0 auto 65px;
}

.busipurple .hdl:before {
	background: #857bae;
}

.busiintro li+li {
	border-top: 1px #d0d1d2 solid;
	margin: 50px 0 0;
	padding: 50px 0 0;
}

.busiintro li {
	display: flex;
	align-items: flex-start;
}

.busiintro .intrologo {
	width: 33.4%;
	margin-left: 6%;
}

.busiintro .intrologo a {
	width: 100%;
	height: 234px;
	padding: 30px;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px;
	border-radius: 10px;
	position: relative;
}

.busiintro .intrologo a:before {
	position: absolute;
	content: "";
	right: 15px;
	bottom: 15px;
	background: url(../img/common/ico_blank.svg) center center no-repeat #61618c;
	width: 56px;
	height: 56px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	z-index: 1;
}

.busiintro .introcont {
	width: 60.6%;
}

.busiintro .introhd {
	font-size: 26px;
	color: #3f3377;
	font-weight: 700;
	line-height: 1.5;
	margin-bottom: 25px;
}

.busiintro .introhs {
	font-size: 18px;
	font-weight: 700;
	color: #3f3377;
	line-height: 1.5;
	margin: 25px 0 5px;
}

.busiintro .introtxt {}

@media (max-width: 767px) {
	.busipurple {
		padding-top: 80px;
	}

	.busipurple .hdl {
		margin: 0 30px 35px 0;
	}

	.busipurple .hdl:before {
		background: #857bae;
	}

	.busiintro li+li {
		margin: 30px 0 0;
		padding: 30px 0 0;
	}

	.busiintro li {
		display: block;
		padding: 0 10px;
	}

	.busiintro .intrologo {
		width: auto;
		margin: 30px 0 0;
	}

	.busiintro .intrologo a {
		width: 100%;
		height: 53.3vw;
		padding: 0 min(45px, 12vw);
		-webkit-border-radius: 8px;
		-moz-border-radius: 8px;
		-ms-border-radius: 8px;
		-o-border-radius: 8px;
		border-radius: 8px;
	}

	.busiintro .intrologo a:before {
		right: 10px;
		bottom: 10px;
		background: url(../img/common/ico_blank.svg) center center no-repeat #61618c;
		width: 38px;
		height: 38px;
	}

	.busiintro .introcont {
		width: auto;
	}

	.busiintro .introhd {
		font-size: 18px;
		margin-bottom: 15px;
	}

	.busiintro .introhs {
		font-size: 15px;
		margin: 25px 0 10px;
	}
}



/* company
----------------------------------------------- */
.compteaser {
	background-image: url(../img/company/teaser_company.jpg);
}

.compteaser .teaserhd {
	color: #fff;
}

@media (max-width: 767px) {
	.compteaser {
		background-image: url(../img/company/teaser_company_sp.jpg);
	}
}

.company .hdl {
	margin-bottom: 55px;
}

.compmess {
	padding: 80px 0 90px;
}

.compmess .comptab {
	width: 100%;
}

.compmess .comptab th,
.compmess .comptab td {
	border-bottom: 1px #fff solid;
	vertical-align: middle;
	padding: 28px 30px;
	font-size: 15px;
	line-height: 1.5;
}

.compmess .comptab th {
	width: 31%;
	text-align: center;
	color: #fff;
	background: #61618c;
}

.compmess .comptab td {
	background: #efefef;
}

.compmess .compaddr {
	display: flex;
	align-items: center;
}

.compmess .compaddr .addrtxt {
	margin-right: 30px;
}

.compmess .compaddr .addrbtn {
	margin: -15px 0;
}

.compmess .compaddr .addrbtn a {
	display: flex;
	width: 150px;
	height: 46px;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #3f3377;
	background: #fff;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	-ms-border-radius: 30px;
	-o-border-radius: 30px;
	border-radius: 30px;
}

.compmess .compaddr .addrbtn a img {
	margin-right: 10px;
}

@media (max-width: 767px) {
	.company .hdl {
		margin-bottom: 30px;
	}

	.compmess {
		padding: 40px 0 50px;
	}

	.compmess .comptab {
		width: 100%;
	}

	.compmess .comptab th,
	.compmess .comptab td {
		padding: 15px;
		font-size: 14px;
	}

	.compmess .comptab th {
		width: 33%;
	}

	.compmess .compaddr {
		display: block;
	}

	.compmess .compaddr .addrtxt {
		margin: 0 0 10px;
	}

	.compmess .compaddr .addrbtn {
		margin: 0;
	}

	.compmess .compaddr .addrbtn a {
		width: 110px;
		height: 34px;
		font-size: 12px;
	}

	.compmess .compaddr .addrbtn a img {
		margin-right: 5px;
		width: 10px;
	}
}

.cpypurple {
	padding-top: 100px;
	padding-bottom: 100px;
}

@media (max-width: 767px) {
	.cpypurple {
		padding-top: 50px;
		padding-bottom: 50px;
	}
}

.cpyorgan {
	padding: 75px 0;
}

.cpyorgan .organimg {
	text-align: center;
}

@media (max-width: 767px) {
	.cpyorgan {
		padding: 45px 0 50px;
	}
}

.cpyeverglory {
	background: #efefef;
	padding: 95px 0;
}

.cpyeverglory .evergtxt {}

@media (max-width: 767px) {
	.cpyeverglory {
		padding: 40px 0;
	}
}

.cpyhistory {
	padding: 80px 0 105px;
}

.cpyhistory .hislist {
	margin: 0 15px;
	position: relative;
}

.cpyhistory .hislist:before {
	position: absolute;
	content: "";
	background: #3f3377;
	width: 2px;
	height: 90%;
	left: 77px;
	top: 0;
	z-index: 0;
}

.cpyhistory .hislist li {
	display: flex;
	align-items: center;
	position: relative;
	z-index: 1;
}

.cpyhistory .hislist li+li {
	margin-top: 40px;
}

.cpyhistory .hislist .hisdate {
	background: #3f3377;
	width: 156px;
	height: 156px;
	flex-shrink: 0;
	align-self: flex-start;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #fff;
	line-height: 1.5;
	margin-right: 40px;
	font-weight: 700;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
}

.cpyhistory .hislist .hiscont {
	flex: 1;
}

.cpyhistory .hislist .histxt {}

@media (max-width: 767px) {
	.cpyhistory {
		padding: 40px 0 50px;
	}

	.cpyhistory .hislist {
		margin: 0;
	}

	.cpyhistory .hislist:before {
		width: 1px;
		left: 57px;
	}

	.cpyhistory .hislist li {
		display: flex;
		align-items: center;
		position: relative;
		z-index: 1;
	}

	.cpyhistory .hislist .hisdate {
		width: 115px;
		height: 115px;
		font-size: 14px;
		margin-right: 20px;
	}
}

@media (max-width: 320px) {
	.cpyhistory .hislist .histxt {
		font-size: 12px;
	}

	.cpyhistory .hislist:before {
		width: 1px;
		left: 50px;
	}

	.cpyhistory .hislist .hisdate {
		width: 101px;
		height: 101px;
		font-size: 12px;
		margin-right: 10px;
	}
}




/* com ist
----------------------------------------------- */
.comlist li {
	display: flex;
	align-items: stretch;
}

.comlist li+li {
	border-top: 1px #d0d1d2 solid;
	margin: 50px 0 0;
	padding: 50px 0 0;
}

.comlist li .listimg {
	width: 42%;
}

.comlist li .listimg img {
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px;
	border-radius: 10px;
}

.comlist li .listin {
	width: 58%;
	padding: 0 0 0 6%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.comlist li .listcont {}

.comlist li .listtit {
	font-size: 26px;
	font-weight: 700;
	color: #3f3377;
	line-height: 1.5;
	margin-bottom: 25px;
}

.comlist li .listtxt {}

.comlist li .listlink {
	display: flex;
	justify-content: flex-start;
	margin-top: 20px;
}

.comlist li .listlink a {
	display: flex;
	align-items: center;
	font-size: 16px;
	font-weight: 700;
	min-height: 56px;
	padding: 0 0 0 75px;
	position: relative;
}

.comlist li .listlink a:before {
	position: absolute;
	content: "";
	background: url(../img/common/arrow_wh.svg) center center no-repeat #61618c;
	border: 1px #61618c solid;
	width: 56px;
	height: 56px;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	z-index: 0;
	transition: 0.3s;
}

.comlist li .listlink a:hover:before {
	background: url(../img/common/arrow_pp.svg) center center no-repeat #fff;
}

@media (max-width: 767px) {
	.comlist li {
		display: block;
		padding: 0 10px;
	}

	.comlist li+li {
		margin: 30px 0 0;
		padding: 30px 0 0;
	}

	.comlist li .listimg {
		width: auto;
		margin-bottom: 35px;
	}

	.comlist li .listimg img {
		width: 100%;
		-webkit-border-radius: 8px;
		-moz-border-radius: 8px;
		-ms-border-radius: 8px;
		-o-border-radius: 8px;
		border-radius: 8px;
	}

	.comlist li .listin {
		width: auto;
		padding: 0;
		display: block;
	}

	.comlist li .listtit {
		font-size: 18px;
		margin-bottom: 15px;
	}

	.comlist li .listlink {
		margin-top: 50px;
	}

	.comlist li .listlink a {
		font-size: 14px;
		min-height: 44px;
		padding: 0 0 0 60px;
		position: relative;
	}

	.comlist li .listlink a:before {
		width: 44px;
		height: 44px;
	}
}



/* about
----------------------------------------------- */
.abtpurple {
	padding-top: 100px;
}

@media (max-width: 767px) {
	.abtpurple {
		padding-top: 60px;
	}
}

.abtmvv {
	display: flex;
	align-items: stretch;
	justify-content: center;
	margin-bottom: 100px;
}

.abtmvv>li {
	background: #61618c;
	width: 396px;
	height: 396px;
	margin: 0 -20px;
	color: #fff;
	padding: 70px 70px 20px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	position: relative;
}

.abtmvv>li:before {
	position: absolute;
	content: "";
	border: 1px #fff solid;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	z-index: 1;
}

.abtmvv .mvvtit {
	text-align: center;
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 20px;
	position: relative;
	z-index: 1;
}

.abtmvv .mvvcont {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 1;
}

.abtmvv .mvvtxt {
	text-align: center;
}

.abtmvv .mvvdot li {
	line-height: 1.5;
	padding-left: 18px;
	position: relative;
}

.abtmvv .mvvdot li:before {
	position: absolute;
	content: "";
	background: #fff;
	width: 7px;
	height: 7px;
	left: 0;
	top: 8px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	z-index: 0;
}

.abtmvv .mvvdot li+li {
	margin-top: 12px;
}

@media (max-width: 1160px) {
	.abtmvv>li {
		width: 33vw;
		height: 33vw;
		margin: 0 -2vw;
		color: #fff;
		padding: 50px 60px 20px;
	}

	.abtmvv .mvvcont {
		font-size: 14px;
	}

	.abtmvv .mvvtit {
		margin-bottom: 15px;
	}
}

@media (max-width: 1024px) {
	.abtmvv {
		flex-direction: column;
		align-items: center;
	}

	.abtmvv>li {
		width: 50vw;
		height: 50vw;
		padding: 70px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		margin-bottom: -40px;
	}

	.abtmvv .mvvtit {
		text-align: center;
		font-size: 30px;
		font-weight: 700;
		line-height: 1;
		margin-bottom: 20px;
	}

	.abtmvv .mvvcont {
		display: block;
		flex: 1;
	}

	.abtmvv .mvvtxt {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
		text-align: center;
	}

	.abtmvv .mvvdot {
		height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
}

@media (max-width: 767px) {
	.abtmvv {
		margin-bottom: 85px;
		padding: 0 30px 0 0;
	}

	.abtmvv>li {
		width: 80vw;
		height: 80vw;
		padding: 50px;
		margin-bottom: -25px;
	}

	.abtmvv .mvvtit {
		font-size: 23px;
	}

	.abtmvv .mvvdot {
		font-size: 12px;
	}

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

	.abtmvv .mvvdot li:before {
		position: absolute;
		content: "";
		background: #fff;
		width: 5px;
		height: 5px;
		left: 0;
		top: 6px;
		-webkit-border-radius: 50%;
		-moz-border-radius: 50%;
		-ms-border-radius: 50%;
		-o-border-radius: 50%;
		border-radius: 50%;
		z-index: 0;
	}

	.abtmvv .mvvdot li {
		padding-left: 13px;
	}
}

@media (max-width: 320px) {
	.abtmvv>li {
		padding: 40px;
	}

	.abtmvv .mvvdot {
		font-size: 10px;
	}
}

.abtmess {
	padding: 80px 30px 70px;
	max-width: 1140px;
	margin: 0 auto;
}

.abtmess .abtdet {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-direction: row-reverse;
	margin-bottom: 130px;
}

.abtmess .abtpic {
	width: 45%;
	align-self: flex-start;
}

.abtmess .abtpic .picsml {
	position: relative;
	margin-bottom: -50px;
	padding-right: 43%;
}

.abtmess .abtpic .piclar {
	text-align: right;
	padding-left: 22%;
}

.abtmess .abtpic .picsml img,
.abtmess .abtpic .piclar img {
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px;
	border-radius: 10px;
}

.abtmess .abtinner {
	width: 55%;
	padding: 0 3.7% 0 6.5%;
}

.abtmess .abttxt {
	letter-spacing: 0.02em;
}

.abtmess .analysis {
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
}

@media (max-width: 767px) {
	.abtmess {
		padding: 35px 25px 45px;
	}

	.abtmess .abtdet {
		display: block;
		margin-bottom: 45px;
	}

	.abtmess .abtpic {
		width: auto;
		display: flex;
		align-items: flex-start;
		flex-direction: column;
	}

	.abtmess .abtpic .picsml {
		width: 48%;
		margin-bottom: -35px;
		padding-right: 0;
	}

	.abtmess .abtpic .piclar {
		width: 65%;
		padding-left: 0;
		align-self: flex-end;
	}

	.abtmess .abtpic .picsml img,
	.abtmess .abtpic .piclar img {
		-webkit-border-radius: 10px;
		-moz-border-radius: 10px;
		-ms-border-radius: 10px;
		-o-border-radius: 10px;
		border-radius: 10px;
	}

	.abtmess .abtinner {
		width: auto;
		padding: 0;
		margin-bottom: 35px;
	}

	.abtmess .analysis {
		padding: 0 5px;
	}
}



/* compliance
----------------------------------------------- */
.lianceteaser {
	background-image: url(../img/about/teaser_about.jpg);
}

.termstxt {
	margin-bottom: 40px;
}

.comp-box {
	margin-bottom: 60px;
}

.termstxt-center {
	text-align: center;
	margin-bottom: 60px;
}

.termstxt-right {
	text-align: right;
	margin-bottom: 40px;
}

.termstxt-sub {
	color: #3f3377;
	margin-bottom: 40px;
	padding-left: 1rem;
}

.comp-list {
	margin-bottom: 40px;
}

.compliance .hdl {
	margin-bottom: 30px;
}

.termsmain {
	padding: 80px 0 90px;
}


@media (max-width: 767px) {

	.lianceteaser {
		background-image: url(../img/about/teaser_about_sp.jpg);
	}

	.compliance .hdl {
		margin-bottom: 30px;
	}

	.termsmain {
		padding: 40px 0 50px;
	}

	.termstxt-center {
		margin-bottom: 40px;
	}

	.comp-box {
		margin-bottom: 40px;
	}
}



/* top
----------------------------------------------- */
.top article {
	background: #fff;
}

.toppurple {
	padding-top: 150px;
}

@media (max-width: 767px) {
	.toppurple {
		padding-top: 100px;
	}
}

.topintro {
	padding: 130px 30px 60px;
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-direction: row-reverse;
}

.topintro .tintropic {
	width: 34%;
	padding: 60px 0 0;
	position: relative;
}

.topintro .tintropic .piclar {}

.topintro .tintropic .picsml {
	position: absolute;
	width: 264px;
	max-width: 70%;
	left: calc(100% - 104px);
	top: calc(100% - 120px);
	z-index: 1;
}

.topintro .tintropic .piclar img,
.topintro .tintropic .picsml img {
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-ms-border-radius: 10px;
	-o-border-radius: 10px;
	border-radius: 10px;
}

.topintro .tintroin {
	width: 48%;
}

.topintro .tintrotit {
	font-size: 34px;
	line-height: 1.6;
	font-weight: 700;
	color: #333;
	margin-bottom: 35px;
}

.topintro .tintrotit .titpurple {
	color: #3f3377;
}

.topintro .tintrotxt {}

@media (max-width: 1024px) {
	.topintro {
		flex-direction: column;
		align-items: center;
	}

	.topintro .tintroin {
		width: auto;
	}

	.topintro .tintropic {
		width: auto;
	}
}

@media (max-width: 767px) {
	.topintro {
		padding: 70px 25px 35px;
	}

	.topintro .tintropic {
		padding: 50px 0 0;
		max-width: 66%;
		align-self: flex-start;
	}

	.topintro .tintropic .picsml {
		width: 70%;
		left: calc(100% - 16%);
		top: calc(100% - 28%);
	}

	.topintro .tintropic .piclar img,
	.topintro .tintropic .picsml img {
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		-ms-border-radius: 5px;
		-o-border-radius: 5px;
		border-radius: 5px;
	}

	.topintro .tintroin {
		width: auto;
	}

	.topintro .tintrotit {
		font-size: 21px;
		line-height: 1.55;
		margin-bottom: 20px;
	}
}

.topmain {
	display: flex;
	justify-content: flex-end;
	position: relative;
}

.topmain .mainimg {
	width: 75%;
	position: relative;
}

.topmain .mainimg:before {
	position: absolute;
	content: "";
	background: #3f3377;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	transform: rotate(-5deg);
	z-index: 0;
}

.topmain .mainimg .imgin {
	position: relative;
	z-index: 1;
}

.topmain .mainimg .imgin img {
	width: 100%;
}

.topmain .maincont {
	position: absolute;
	left: 3.15%;
	top: 0;
	width: 100%;
	height: 100%;
	padding: 45px 0 0;
	z-index: 1;
}

.topmain .maineng {
	width: min(506px, 36.14vw);
	margin-bottom: min(90px, 6.43vw);
}

.topmain .maineng-en {
	width: min(620px, 40.14vw);
    margin-bottom: min(90px, 6.43vw);
    margin-left: min(80px, 6.43vw);
}

.topmain .maintxt {
	font-size: 13px;
	line-height: 1.7;
	color: #333;
	margin: 0 0 0 min(100px, 7vw);
	max-width: 13%;
}

.topmain .mainscroll {
	position: absolute;
	left: 3.15%;
	bottom: 45px;
	z-index: 2;
}

.topmain .mainscroll .downin {
	color: #333;
	font-size: 11px;
	display: block;
	line-height: 1.5;
	font-weight: 700;
	-webkit-writing-mode: vertical-lr;
	writing-mode: vertical-lr;
	-ms-writing-mode: tb-lr;
}

.topmain .mainscroll:after {
	content: "";
	position: absolute;
	top: 100%;
	left: calc(50% - 1px);
	width: 1px;
	height: 40px;
	background: #333;
	animation: pathmove 1.4s ease-in-out infinite;
	opacity: 0;
}

@keyframes pathmove {
	0% {
		height: 0;
		top: 100%;
		opacity: 0;
	}

	30% {
		height: 40px;
		opacity: 1;
	}

	100% {
		height: 0;
		top: calc(100% + 40px);
		opacity: 0;
	}
}

@media (max-width: 767px) {
	.topmain {
		display: block;
		padding: 30px 0 0;
	}

	.topmain .mainimg {
		width: auto;
		display: flex;
		justify-content: flex-end;
		margin-left: 9.3%;
	}

	.topmain .mainimg:before {
		width: 115%;
		height: 105%;
		transform: rotate(-9deg);
	}

	.topmain .maincont {
		left: auto;
		top: auto;
		width: 100%;
		height: 100%;
		padding: 0;
		margin-top: -75px;
		position: relative;
		z-index: 2;
	}

	.topmain .maineng {
		width: 100%;
		margin-bottom: 30px;
	}

	.topmain .maineng-en {
		width: 100%;
		margin-bottom: 30px;
	}

	.topmain .maintxt {
		font-size: min(12px, 3.2vw);
		line-height: 1.6;
		padding: 0 20px 0 11.8vw;
		max-width: none;
	}

	.topmain .mainscroll {
		left: 6.66vw;
		bottom: 10px;
	}

	.topmain .mainscroll .downin {
		color: #333;
		font-size: 11px;
		display: block;
		line-height: 1.5;
		font-weight: 700;
		-webkit-writing-mode: vertical-lr;
		writing-mode: vertical-lr;
		-ms-writing-mode: tb-lr;
	}

	.topmain .mainscroll:after {
		content: "";
		position: absolute;
		top: 100%;
		left: calc(50% - 1px);
		width: 1px;
		height: 40px;
		background: #333;
		animation: pathmove 1.4s ease-in-out infinite;
		opacity: 0;
	}
}


@media (max-width: 1024px) {}

@media (max-width: 767px) {}