/*
----------------------------------------
introduction
----------------------------------------
*/

.page-header {
	background: url( ../img/introduction/2x/header-bg.png ) center center / cover no-repeat;
}

/* introduction-box */

.introduction-box {
	padding: 50px 0 185px;
	position: relative;
}

.introduction-box .introduction-wrap {
	background: #fff;
	margin-top: 50px;
	padding: 40px;
	border-radius: 10px;
}

.introduction-box dd .link-02 {
	margin-left: 25px;
}

.introduction-box dd .flex {
	max-width: 100%;
}

.introduction-box dd .flex.tel {
	width: 475px;
}

.introduction-box dd .flex.tel > div {
	width: 50%;
}

.introduction-box dd .flex.post > div {
	width: 33%;
}

.introduction-box dd .flex.work {
	width: 650px;
	max-width: 100%;
	margin-bottom: -18px;
}

.introduction-box dd .flex.work > dl {
	width: 50%;
}

.introduction-box dd dt {
	font-weight: 500;
	margin-bottom: 10px;
}

.introduction-box dd dd {
	margin-bottom: 21px;
}

.introduction-box dd .ttl {
	font-weight: 500;
	margin-bottom: 10px;
}

.introduction-box dd .authorization + .ttl {
	margin-top: 15px;
}

.introduction-box dd .authorization span {
	display: inline-block;
	white-space: nowrap;
	line-height: 1.9;
	letter-spacing: 1px;
}

.introduction-box dd .more-01 {
	margin-left: 35px;
}

.introduction-box dd .flex.bank {
	margin-bottom: -5px;
}

.introduction-box dd .flex.bank > div {
	letter-spacing: 0;
	margin-bottom: 7px;
}

.introduction-box dd .flex.bank > div:nth-child( odd ) {
	width: 53%;
	padding-right: 20px;
}

.introduction-box dd .flex.bank > div:nth-child( even ) {
	width: 47%;
}

.introduction-box dd .dl-column  {
	margin-bottom: -16px;
}

.introduction-box .link {
	margin-left: 40px;
}

.introduction-box .link a {
	display: inline-block;
	padding: 0 17px 0 0;
	background: url( ../img/common/2x/icon-link-01.png ) right center / 14px no-repeat;
	letter-spacing: 1px;
}

.introduction-box .link span {
	color: #8fc31f;
	border-bottom: solid 1px #8fc31f;
	padding: 0 5px;
}

.introduction-box .lh {
	line-height: 1.9;
}

.introduction-box .bg > div {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 300px;
	left: 0;
	z-index: -1;
}

.introduction-box .bg > div:nth-of-type( 1 ) {
	background: url( ../img/introduction/2x/puzzle-01.png ) left -8px top 8px / 311px repeat-y;
}

.introduction-box .bg > div:nth-of-type( 2 ) {
	background: url( ../img/introduction/2x/puzzle-02.png ) left 57px top 290px / 169px repeat-y;
}

.introduction-box .bg > div:nth-of-type( 3 ) {
	background: url( ../img/introduction/2x/puzzle-03.png ) right 0 top 560px / 329px repeat-y;
}

/* partners-box */

.partners-box {
	background: #fff;
	padding: 85px 0 40px;
	position: relative;
}

.partners-box .ttl-02 {
	position: absolute;
	top: -65px;
	right: 0;
	left: 0;
}

.partners-box .heading-01 {
	margin-bottom: 22px;
}

.partners-box .read {
	line-height: 1.8;
	letter-spacing: .5px;
	margin-bottom: 10px;
}

.partners-box .right {
	margin-bottom: 40px;
}

/* group-box */

.group-box {
	background: url( ../img/introduction/2x/group-bg.png ) center top / 100% no-repeat;
	padding: 118px 0 42px;
}

.group-box .logo-set {
	position: relative;
}

.group-box .img {
	margin-top: 60px;
	text-align: center;
}

.group-box .logo-set .egao-logo a {
	display: block;
	width: 274px;
	height: 274px;
	background: rgba( 255, 255, 255, .2 );
	opacity: 0;
	border-radius: 50%;
	overflow: hidden;
	text-indent: -9999px;
	position: absolute;
	top: calc( 50% - 142px );
	left: calc( 50% - 138px );
}

/* qualification-dox */

.qualification-box {
	padding-top: 6rem;
	margin-bottom: 65px;
}

.qualification-list {
	margin-top: 35px;
}

.qualification-list li {
	width: calc( ( 100% - 40px ) / 2 );
	margin-bottom: 18px;
}

.qualification-list li:nth-child( odd ) {
	margin-right: 40px;
}

.qualification-list li:nth-child( 3 ) {
	margin-bottom: 40px;
}

.qualification-list li .flex {
	width: 100%;
	padding: 15px 32px 17px;
	border-radius: 10px;
	background: #fff;
	align-items: center;
}

.qualification-list li .flex .ttl {
	width: calc( 100% - 6rem );
	margin-right: auto;
	font-size: 1.8rem;
}

.qualification-list li .flex .num {
	width: 6rem;
	text-align: right;
	color: #8fc31f;
	font-size: 1.4rem;
	font-weight: bold;
}

.qualification-list li .flex .num span {
	font-size: 2.4rem;
	margin-right: 2px;
}

#modal-01 .box {
	padding: 35px 50px 25px 45px;
}

#modal-01 .box .flex {
	justify-content: space-between;
	align-items: flex-end;
	margin-top: 30px;
}

#modal-01 .box p {
	padding-left: 2px;
	letter-spacing: .8px;
}

#modal-01 .box .flex > div:last-child {
	margin: 0 0 10px 8px;
}

#modal-02 .box p {
	letter-spacing: .7px;
}

#modal-02 .box .flex {
	justify-content: space-between;
	margin-top: 18px;
}

#modal-02 .box .txt {
	font-size: 3.2rem;
	line-height: 1.5;
	font-weight: 500;
}

#modal-02 .box .img {
	padding: 10px 25px 5px 0;
	margin: 0 auto;
	line-height: .5;
}


/*
----------------------------------------
1200
----------------------------------------
*/

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

	.partners-box .ttl-02 {
		top: -50px;
	}

	.introduction-box dd .link-02 {
		display: block;
		margin: 10px 0 0;
	}

	.qualification-list li {
		width: calc( ( 100% - 30px ) / 2 );
	}

	.qualification-list li:nth-child( odd ) {
		margin-right: 30px;
	}

	#modal-01 .box .flex > div {
		width: 40%;
	}

	#modal-01 .box .flex > div:last-child {
		width: 15%;
		margin: 0 0 10px;
		text-align: right;
	}

	#modal-02 .box .txt {
		font-size: 2.8rem;
	}

	#modal-02 .box .img {
		padding: 10px 0;
	}

}


/*
----------------------------------------
768
----------------------------------------
*/

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

	.introduction-box {
		padding: 30px 0 100px;
	}

	.introduction-box .bg > div:nth-of-type( 1 ) {
		background: url( ../img/introduction/2x/puzzle-01.png ) left -2.4px top 2.4px / 93.3px repeat-y;
	}

	.introduction-box .bg > div:nth-of-type( 2 ) {
		background: url( ../img/introduction/2x/puzzle-02.png ) left 17.1px top 87px / 50.7px repeat-y;
	}

	.introduction-box .bg > div:nth-of-type( 3 ) {
		background: url( ../img/introduction/2x/puzzle-03.png ) right 0 top 168px / 98.7px repeat-y;
	}

	.introduction-box .introduction-wrap {
		margin-top: 30px;
		padding: 20px;
	}

	.introduction-box dd .link-02 {
		margin: 5px 0;
		text-align: right;
	}

	.introduction-box dd .flex.post > div {
		width: 45%;
	}

	.introduction-box dd .flex.post > div:nth-child( odd ) {
		margin-right: 10%;
	}

	.introduction-box dd dt {
		font-size: 1.4rem;
		margin-bottom: 5px;
	}

	.introduction-box dd dd {
		margin-bottom: 15px;
	}

	.introduction-box dd .ttl {
		margin-bottom: 5px;
	}

	.introduction-box dd .authorization + .ttl {
		margin-top: 10px;
	}

	.introduction-box dd .flex.work {
		margin-bottom: -5px;
	}

	.introduction-box dd .flex.work > dl {
		width: 52%;
	}

	.introduction-box dd .flex.work > dl:nth-child( even ) {
		width: 48%;
	}

	.introduction-box dd .authorization span {
		font-size: 1.4rem;
		letter-spacing: 0;
	}

	.introduction-box dd .more-01 {
		display: block;
		margin: 5px 0;
		text-align: right;
	}

	.introduction-box .link {
		display: block;
		margin: 5px 0;
		text-align: right;
	}

	.introduction-box dd .flex.bank {
		font-size: 1.3rem;
	}

	.introduction-box dd .flex.bank > div:nth-child( odd ),
	.introduction-box dd .flex.bank > div:nth-child( even ) {
		width: 50%;
		padding: 0;
		line-height: 1.5;
		margin-bottom: 10px;
	}

	.partners-box {
		padding: 50px 0 20px;
	}

	.partners-box .ttl-02 {
		top: -35px;
	}

	.partners-box .heading-01 {
		margin-bottom: 15px;
	}

	.partners-box .read {
		margin-bottom: 5px;
	}

	.partners-box .right {
		margin-bottom: 30px;
	}

	.group-box {
		padding: 40px 0 30px;
	}

	.group-box .sp-block {
		display: block;
		text-align: center;
	}

	.group-box .group-list {
		display: inline-block;
		margin: 1.5rem auto 0;
		text-align: left;
		line-height: .5;
	}

	.group-box .group-list dt {
		margin-bottom: 1.5rem;
	}

	.group-box .group-list ul {
		margin-left: 2.4rem;
		position: relative;
	}

	.group-box .group-list ul::after {
		content: '';
		width: 0;
		border-left: dashed 2px #8fc31f;
		position: absolute;
		top: 0;
		left: 0;
		bottom: 30px;
	}

	.group-box .group-list li {
		padding: 5px 0 5px 35px;
		position: relative;
	}

	.group-box .group-list li::before {
		content: '';
		width: 20px;
		height: 0;
		border-top: dashed 2px #8fc31f;
		position: absolute;
		top: calc( 50% - 1px );
		left: 0;
	}

	.group-box .group-list dt img {
		height: 42px;
	}

	.group-box .group-list dd img {
		height: 50px;
	}

	.qualification-box {
		padding-top: 30px;
		margin-bottom: 30px;
	}

	.qualification-list li {
		width: calc( ( 100% - 15px ) / 2 );
		margin-bottom: 15px;
	}

	.qualification-list li:nth-child( 3 ) {
		margin-bottom: 20px;
	}

	.qualification-list li:nth-child( odd ) {
		margin-right: 15px;
	}

	.qualification-list li .flex {
		padding: 10px 8px 10px 12px;
	}

	.qualification-list li .flex .ttl {
		width: calc( 100% - 4rem );
		font-size: 1.4rem;
		line-height: 1.5;
	}

	.qualification-list li .flex .num {
		width: 4rem;
		font-size: 1.3rem;
	}

	.qualification-list li .flex .num span {
		font-size: 1.8rem;
	}

	.modal .ttl-02 .en {
		font-size: 1.2rem;
	}

	.modal .ttl-02 .jp {
		font-size: 2.4rem;
		margin-bottom: 15px;
	}

	.modal .box p {
		font-size: 1.4rem;
		text-align: left;
	}

	#modal-01 .box {
		padding: 20px;
	}

	#modal-01 .box .flex {
		justify-content: center;
		max-width: 240px;
		margin: 15px auto 0;
	}

	#modal-01 .box .flex > div {
		width: 100%;
		line-height: .5;
		text-align: center;
		margin-bottom: 15px;
	}

	#modal-01 .box .flex > div:last-child {
		width: 100%;
		text-align: right;
	}

	#modal-01 .box .flex > div:last-child img {
		width: 50px;
	}

	#modal-02 .box .flex {
		flex-direction: column;
		margin-top: 15px;
	}

	#modal-02 .box .txt {
		font-size: 1.8rem;
		text-align: center;
		width: 100%;
	}

	#modal-02 .box .img {
		width: 100%;
		text-align: center;
	}

}


/*
----------------------------------------
hover
----------------------------------------
*/

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

	.dl-01 a:hover {
		color: #8fc31f;
	}

	.introduction-box .link a:hover {
		opacity: .8;
	}

	.group-box .logo-set .egao-logo a:hover {
		opacity: 1;
	}


}
