/*
----------------------------------------
business
----------------------------------------
*/

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

/* business-list */

.business-list .block-02 > a {
	min-height: 500px;
	-js-display: flex;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	color: #fff;
	padding: 4.5rem 0 2rem;
}

.business-list .wrap {
	max-width: 1050px;
	padding: 0 30px;
	position: relative;
	z-index: 99;
}

.business-list .bus:nth-child( odd ) .wrap {
	text-align: right;
}

.business-list .block-02 .box {
	text-align: left;
	max-width: 50%;
}

.business-list .block-02 .box .sub {
	color: #fff;
	letter-spacing: 2px;
	line-height: 1.2;
}

.business-list .block-02 .box .read {
	letter-spacing: .7px;
	margin-bottom: 0;
}

.business-list .block-02 .box .more {
	margin-top: 4rem;
	padding: 0 2px;
}

.business-list .block-02 .box .more span {
	color: #fff;
	border: solid 2px #fff;
	font-size: 1.3rem;
	letter-spacing: .8px;
	line-height: 2.4;
}

/* single */

.single .page-header {
	background-image: url( ../img/business/2x/header-bg-02.png );
	background-position: center 10%;
	background-size: cover;
	background-repeat: no-repeat;
	position: relative;
}

.single .page-header::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: -moz-linear-gradient( to right, #9dc419, #0bb84a );
	background: -webkit-linear-gradient( to right, #9dc419, #0bb84a );
	background: linear-gradient( to right, #9dc419, #0bb84a );
	opacity: .5;
}

.single .page-header .wrap {
	position: relative;
	z-index: 1;
}

.about-box {
	padding: 50px 0;
}

.about-box .ttl-02 + .read {
	line-height: 2.4;
	letter-spacing: 1px;
	margin: 2.5rem 0 5rem;
}

.about-box .cont-block {
	margin: 3.5rem 0 8.8rem;
}

.about-box .about-img {
	line-height: .5;
}

.about-box .about-img img {
	width: 100%;
	height: 500px;
}

.about-box .about-ttl {
	text-align: center;
	margin: -2rem 0 -2rem;
}

.about-box .about-read {
	line-height: 2.4;
	letter-spacing: 1.2px;
	text-align: center;
	margin: 2.8rem 0 4rem;
}

.about-box .point-list {
	margin: 8.8rem 0 7rem;
}

.about-box .point-list .info {
	margin-top: 6rem;
	padding: 0;
	align-items: center;
}

.about-box .point-list .info.img-block {
	min-height: 500px;
}

.about-box .block-01 .img + .wrap .box {
	width: 50%;
	margin: 0 0 0 auto;
	transform: translateY( -10px );
}

.block-01 > .img {
	padding-right: 0;
	margin-right: 85px;
}

.about-box .block-01 .ttl h2.jp {
	font-size: 4rem;
	line-height: 1.4;
	margin-bottom: 3rem;
}

.about-box .point-list h2 b {
	font-weight: 500;
	background: -moz-linear-gradient( transparent 80%, #c8e58a 80%, #c8e58a 95%, transparent 95% );
	background: -webkit-linear-gradient( transparent 80%, #c8e58a 80%, #c8e58a 95%, transparent 95% );
	background: linear-gradient( transparent 80%, #c8e58a 80%, #c8e58a 95%, transparent 95% );
}

.about-box .point-list .read b {
	font-weight: 500;
	background: -moz-linear-gradient( transparent 75%, #c8e58a 75%, #c8e58a 96%, transparent 96% );
	background: -webkit-linear-gradient( transparent 75%, #c8e58a 75%, #c8e58a 96%, transparent 96% );
	background: linear-gradient( transparent 75%, #c8e58a 75%, #c8e58a 96%, transparent 96% );
}

.about-box .block-01 .ttl .en {
	transform: translateX( -10px );
}

.about-box .block-01.img-block .ttl .en {
	transform: translateX( -112px );
}

.about-box .block-01 > .img img {
	max-height: 500px;
}

.about-box .heading-01 {
	margin: 7rem 0 40px;
}

.about-box .dl-02 {
	margin: 4.2rem 0 5rem;
}

.about-box .txt-block {
	margin-bottom: 6rem;
}

/* result-box */

.result-box {
	padding-bottom: 5.5rem;
}

.result-box .result-img {
	line-height: .5;
}

.result-box .result-img img {
	width: 100%;
	height: 500px;
}

.result-box .cont-ttl + .cont-block .result-img {
	margin-top: -34px;
}

.result-box .result-read {
	margin-top: 3rem;
	margin-bottom: 4.5rem;
	text-align: center;
	line-height: 2.4;
	letter-spacing: .8px;
}

/* flow-box */

.flow-box {
	padding: 8rem 0 4.5rem;
}

.flow-box .puzzle-01 {
	top: -16rem;
}

.flow-box .step-list {
	margin-top: 4rem;
}

.flow-box .step {
	background: #fff;
	border-radius: 10px;
	margin-bottom: 32px;
	padding: 30px 30px 30px 138px;
	position: relative;
}

.flow-box .step::before {
	content: '';
	width: 3px;
	position: absolute;
	top: 60px;
	left: 68.5px;
	bottom: -62px;
	background: url( ../img/business/2x/step-border.png ) center bottom / 3px repeat-y;
	z-index: 1;
}

.flow-box .step:last-child::before {
	display: none;
}

.flow-box .step-num {
	width: 80px;
	height: 80px;
	border: solid 2px #8fc31f;
	border-radius: 50%;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 2px;
	text-align: center;
	color: #8fc31f;
	background: #fff;
	padding: 16px 5px;
	position: absolute;
	top: 30px;
	left: 30px;
	z-index: 99;
}

.flow-box .step-num .step-txt {
	text-indent: 5px;
}

.flow-box .step-num .num {
	font-size: 2.2rem;
}

.flow-box .step .cont {
	flex-direction: row-reverse;
}

.flow-box .step .cont .img {
	line-height: .5;
}

.flow-box .step .cont .img img {
	width: 250px;
	height: 188px;
	border-radius: 10px;
	line-height: .5;
}

.flow-box .step .cont .img + .txt {
	width: calc( 100% - 250px );
	padding-right: 35px;
}

.flow-box .step .cont h3 {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 1.4px;
	padding: 2rem 0 1.2rem;
}

.flow-box .step .cont p {
	/*font-size: 1.4rem;*/
	line-height: 2.3;
	letter-spacing: 1px;
}

/* contact-box */

.contact-box {
	padding-top: 4rem;
}

.contact-box .read {
	margin-top: 2.5rem;
	line-height: 2.4;
	letter-spacing: 1.2px;
	text-align: center;
}

.contact-box .contact-btn {
	background: url( ../img/business/2x/contact-bg.png ) center center / cover no-repeat;
	padding: 90px 0;
	margin-top: 4rem;
}

.contact-box .contact-btn .btn-wrap {
	justify-content: space-between;
}

.contact-box .contact-btn .btn-wrap > div {
	width: calc( ( 100% - 50px ) / 2 );
}

.contact-box .contact-btn a {
	display: block;
	height: 180px;
	padding: 3rem 1.5rem 3.8rem;
	border-radius: 10px;
	box-shadow: 0 0 10px rgba( 0, 0, 0, .1 );
	text-align: center;
	background: rgba( 255, 255, 255, .9 );
}

.contact-box .contact-btn a h3 {
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 1.2px;
	color: #8fc31f;
}

.contact-box .contact-btn .tel-num .num {
	font-size: 3.8rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 1.6px;
	padding-left: 3.6rem;
	background: url( ../img/business/2x/icon-tel.png ) left center / 29px no-repeat;
}

.contact-box .contact-btn .tel-num .num > span {
	display: inline-block;
	font-weight: normal;
	transform: translateY( -2px );
}

.contact-box .contact-btn .note {
	font-size: 1.6rem;
	line-height: 1.3;
	letter-spacing: .8px;
	color: #999;
}

.contact-box .form-btn {
	margin-top: 1.3rem;
}

.contact-box .form-btn span {
	display: inline-block;
	width: 270px;
	max-width: 100%;
	font-size: 1.6rem;
	font-weight: 500;
	text-align: center;
	letter-spacing: 1px;
	color: #fff;
	background: #8fc31f;
	box-shadow: 0 0 10px rgba( 0, 0, 0, .1 );
	padding: 7px;
	border: solid 2px #8fc31f;
	border-radius: 25px;
	transition: all .2s;
}

/* other-nav */

.other-nav {
	padding: 7rem 0 5rem;
}

.other-nav ul.flex > li {
	width: calc( ( 100% - 60px ) / 3 );
	margin: 0 30px 20px 0;
}

.other-nav ul.flex > li:nth-child( 3n ) {
	margin-right: 0;
}

.other-nav .page-link a {
	background: #fff;
	border-radius: 5px;
	box-shadow: 0 0 10px rgba( 0, 0, 0, .1 );
	overflow: hidden;
	padding-right: 3.5rem;
	background: url( ../img/business/2x/arrow-gr.png ) right 15px center / 18px no-repeat;
}

.other-nav .page-link .thumb,
.other-nav .page-link .thumb img {
	width: 100px;
	height: 100px;
	transition: all .2s;
}

.other-nav .txt {
	height: 100px;
	justify-content: flex-start;
	align-items: center;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.2;
	color: #222;
}

.other-nav .page-link .txt {
	width: calc( 100% - 100px );
	padding-left: 20px;
	letter-spacing: .8px;
}

.other-nav .txt .m-txt {
	font-size: 1.6rem;
}

.other-nav .txt .note {
	display: inline-block;
	font-size: 1.2rem;
	font-weight: normal;
	text-indent: -2px;
}

.other-nav .back-link a {
	background: #8fc31f;
	color: #fff;
	font-weight: 500;
	border-radius: 5px;
	justify-content: center;
	box-shadow: 0 0 10px rgba( 0, 0, 0, .1 );
	overflow: hidden;
}

.other-nav .back-link a > span {
	padding: 5px 33px 5px 8px;
	background: url( ../img/business/2x/arrow-wh.png ) right 3px center / 18px no-repeat;
	letter-spacing: .8px;
	transition: all .2s;
}


/*
----------------------------------------
1400
----------------------------------------
*/

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

	.about-box .about-img img {
		height: 450px;
	}

	.block-01 > .img {
		margin-right: 50px;
	}

	.about-box .block-01.img-block .ttl .en {
		transform: translateX( -80px );
	}

	.about-box .block-01 .ttl h2.jp {
		font-size: 3.6rem;
	}

	.business-list .block-02 > a {
		min-height: 30vw;
	}

	.block-02 a .sub {
		font-size: 1.6rem;
	}

	.business-list .block-02 .box .more {
		margin-top: 2.5rem;
	}

	.result-box .result-img img {
		height: 450px;
	}

	.other-nav .page-link .txt {
		padding-left: 15px;
	}

}


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

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

	.about-box .about-img img {
		height: 400px;
	}

	.block-01 > .img {
		margin-right: 30px;
	}

	.about-box .block-01 .img + .wrap .box {
		padding: 20px 0 0;
	}

	.about-box .point-list .info.img-block {
		min-height: 45vw;
	}

	.about-box .block-01 > .img img {
		height: 45vw;
	}

	.about-box .block-01.img-block .ttl .en {
		transform: translateX( -60px );
	}

	.about-box .block-01 .ttl h2.jp {
		font-size: 3rem;
	}

	.result-box .cont-ttl + .cont-block .result-img {
		margin-top: -25px;
	}

	.result-box .result-img img {
		height: 400px;
	}

	.contact-box .contact-btn .btn-wrap > div {
		width: calc( ( 100% - 30px ) / 2 );
	}

	.business-list .block-02 > a {
		min-height: 35vw;
	}

	.other-nav ul.flex > li {
		width: calc( ( 100% - 20px ) / 2 );
	}

	.other-nav ul.flex > li:nth-child( odd ) {
		margin-right: 20px !important;
	}

	.other-nav ul.flex > li:nth-child( even ) {
		margin-right: 0 !important;
	}

	.other-nav .page-link .txt {
		padding-left: 20px;
	}

}


/*
----------------------------------------
1000
----------------------------------------
*/

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

	.about-box .about-img img {
		height: 35vw;
	}

	.about-box .block-01 .ttl h2.jp {
		font-size: 2.6rem;
		margin-bottom: 1.5rem;
	}

	.result-box .result-img img {
		height: 35vw;
	}

	.business-list .block-02 > a {
		min-height: 50vw;
		position: relative;
	}

	.business-list .block-02 > a::after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
	}

	.business-list .bus:nth-child( odd ) .block-02 > a::after {
		right: 0;
		left: 25%;
		background: -moz-linear-gradient( to right, transparent, rgba( 0, 0, 0, .2 ) );
		background: -webkit-linear-gradient( to right, transparent, rgba( 0, 0, 0, .2 ) );
		background: linear-gradient( to right, transparent, rgba( 0, 0, 0, .2 ) );
	}

	.business-list .bus:nth-child( even ) .block-02 > a::after {
		right: 25%;
		left: 0;
		background: -moz-linear-gradient( to left, transparent, rgba( 0, 0, 0, .2 ) );
		background: -webkit-linear-gradient( to left, transparent, rgba( 0, 0, 0, .2 ) );
		background: linear-gradient( to left, transparent, rgba( 0, 0, 0, .2 ) );
	}

	.business-list .block-02 .wrap {
		position: relative;
		z-index: 99;
	}

}


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

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

	.business-list .wrap {
		padding: 0 20px;
	}

	.about-box {
		padding: 20px 0;
	}

	.about-box .ttl-02 + .read {
		line-height: 2;
		letter-spacing: .4px;
		margin: 1rem 0 3rem;
	}

	.about-box .about-img img {
		height: 50vw;
	}

	.about-box .about-read {
		line-height: 2;
		text-align: left;
		letter-spacing: .6px;
		margin-bottom: 3.5rem;
	}

	.about-box .point-list {
		margin: 3rem 0;
	}

	.about-box .point-list .info {
		margin-top: 2rem;
	}

	.about-box .point-list .info.img-block {
		min-height: initial;
	}

	.block-01 > .img {
		padding: 0;
		margin: 0 0 -20px;
	}

	.about-box .cont-block {
		margin: 2.5rem 0 3rem;
	}

	.about-box .block-01 > .img img {
		width: 100vw;
		height: 72vw;
	}

	.about-box .block-01 .img + .wrap .box {
		width: 100%;
		transform: none;
	}

	.about-box .block-01 .ttl .en {
		transform: scale( .75 ) !important;
		text-align: center;
	}

	.about-box .block-01.img-block .ttl .en {
		margin: -15px 0 -5px;
	}

	.about-box .block-01 .ttl h2.jp {
		font-size: 2.2rem;
		text-align: center;
	}

	.block-01 .read {
		line-height: 2;
		letter-spacing: .6px;
	}

	.about-box .heading-01 {
		margin: 3rem 0;
	}

	.about-box .dl-02 {
		margin: 3rem 0;
	}

	.about-box .txt-block {
		margin-bottom: 4rem;
	}

	.result-box {
		padding-bottom: 2rem;
	}

	.result-box .ttl-01.type-02 .jp {
		font-size: 2.4rem;
	}

	.result-box .cont-ttl + .cont-block .result-img {
		margin-top: -20px;
	}

	.result-box .result-read {
		margin-top: 2rem;
		margin-bottom: 3rem;
		text-align: left;
		line-height: 2;
		letter-spacing: .4px;
	}

	.flow-box {
		padding: 3rem 0 0;
	}

	.flow-box .puzzle-01 {
		top: -2.5rem;
	}

	.flow-box .step {
		padding: 15px 15px 20px 70px;
		margin-bottom: 20px;
	}

	.flow-box .step-num {
		width: 50px;
		height: 50px;
		font-size: 1.1rem;
		line-height: 1.2;
		letter-spacing: 0;
		padding: 8px 0;
		top: 15px;
		left: 10px;
	}

	.flow-box .step-num .step-txt {
		text-indent: 2px;
	}

	.flow-box .step-num .num {
		font-size: 1.8rem;
	}

	.flow-box .step::before {
		top: 45px;
		bottom: -40px;
		left: 33.5px;
	}

	.flow-box .step .cont {
		flex-direction: column-reverse;
	}

	.flow-box .step .cont .img + .txt {
		width: 100%;
		padding-right: 0;
	}

	.flow-box .step .cont h3 {
		font-size: 1.8rem;
		letter-spacing: .2px;
		padding: 1.2rem 0;
	}

	.flow-box .step .cont p {
		line-height: 2;
		letter-spacing: .2px;
	}

	.flow-box .step .cont .img {
		margin-top: 2rem;
	}

	.flow-box .step .cont .img img {
		width: 100%;
		height: 40vw;
	}

	.contact-box {
		padding-top: 2rem;
	}

	.ttl-02 .jp {
		margin-bottom: 20px;
	}

	.contact-box .read {
		margin-top: 20px;
		text-align: left;
		line-height: 2;
		letter-spacing: .6px;
	}

	.contact-box .contact-btn {
		padding: 30px 0;
	}

	.contact-box .contact-btn .btn-wrap {
		flex-direction: column;
	}

	.contact-box .contact-btn .btn-wrap > div {
		width: 100%;
	}

	.contact-box .contact-btn .btn-wrap > div.tel {
		margin-bottom: 20px;
	}

	.contact-box .contact-btn a {
		height: 140px;
		padding: 20px 15px;
	}

	.contact-box .contact-btn a h3 {
		font-size: 1.8rem;
		line-height: 1.8;
	}

	.contact-box .contact-btn .tel-num .num {
		font-size: 3rem;
	}

	.contact-box .contact-btn .note {
		font-size: 1.4rem;
		line-height: 1.8;
	}

	.contact-box .form-btn {
		margin-top: 1rem;
	}

	.contact-box .form-btn span {
		width: 100%;
	}

	.other-nav {
		padding: 3rem 0;
	}

	.other-nav ul.flex > li {
		width: 100%;
		margin: 0 0 15px;
	}

	.other-nav ul.flex > li:nth-child( odd ) {
		margin-right: 0 !important;
	}

	.other-nav .page-link a {
		padding-right: 4rem;
	}

	.other-nav .page-link .thumb,
	.other-nav .page-link .thumb img {
		width: 80px;
		height: 80px;
	}

	.other-nav .txt {
		height: 80px;
	}

	.other-nav .page-link .txt {
		width: calc( 100% - 80px );
		justify-content: flex-start;
		padding-left: 15px;
	}

	.other-nav ul.flex > li:last-child {
		margin-bottom: 0;
	}

	.other-nav .back-link a {
		background: #8fc31f url( ../img/business/2x/arrow-wh.png ) right 15px center / 18px no-repeat;
	}

	.other-nav .back-link a > span {
		padding: 0;
		background: transparent;
	}

	.business-list .block-02 > a {
		min-height: 64vw;
		padding: 2rem 0;
	}

	.business-list .block-02 .box .sub {
		font-size: 1.3rem;
	}

	.block-02 a h2 {
		font-size: 2.4rem;
		line-height: 1.3;
	}

	.business-list .block-02 .box .read {
		letter-spacing: 1px;
		text-align: justify;
	}

	.business-list .block-02 .box .read br {
		display: none;
	}

	.business-list .block-02 .box .more {
		margin-top: 1.5rem;
	}

}


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

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

	.business-list .block-02 a:hover .more span {
		background: #fff;
		color: #8fc31f;
	}

	.contact-box a:hover .form-btn span {
		background: #fff;
		color: #8fc31f;
	}

	.other-nav .page-link a:hover {
		background: rgba( 143, 195, 31, .2 ) url( ../img/business/2x/arrow-gr.png ) right 12px center / 18px no-repeat;
	}

	.other-nav .page-link a:hover .thumb img {
		opacity: .8;
	}

	.other-nav .back-link a:hover {
		background: #a1db23;
	}

	.other-nav .back-link a:hover > span {
		background: url( ../img/business/2x/arrow-wh.png ) right center / 18px no-repeat;
	}

}
