/* banner page Top */
.banner-main {
	position: relative;
	background-image: url(../img/banner_bg_main_pc.png);
	background-size: cover;
	background-position: center;
	height: 990px;
}
.banner-main .box-main {
	padding-top:min(15vw, 122px);
	width: 100%;
}

.banner-main .box-banner-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.banner-main .box-main .inner-banner {
	position: relative;
	max-width: 1480px;
	margin: auto;
}

.banner-main .box-main .inner-banner .box-sub {
	position: absolute;
	width: 48%;
	right: 16px;
	top: 36px;
}
.banner-main .box-main .inner-banner .box-sub img {
	width: 100%;
}

.banner-main .text-line {
	position: relative;
	display: inline-block;
	color: #05BC50;
	font-family: 'NJK-Bold';
	z-index: 99;
	font-size: 28px;
	margin-bottom: 13px;
	letter-spacing: 1px;
}

.banner-main .text-line::after {
	position: absolute;
	content: "";
	width: calc(100% + 10px);
	height: 15px;
	border-radius: 6px;
	background: rgba(255, 196, 0, 0.3);
	bottom: 3px;
	left: -5px;
	z-index: -1;
}
.banner-main .big {
	font-size: min(10vw, 142px);
	color: #05BC50;
	font-weight: 500;
	position: relative;
	top: 10px;
}
.banner-main .blue {
	color: #05BC50;
	font-weight: 500;
	font-family: 'NJK-Bold';
}
.banner-main .bignumber  {
	font-size: min(10vw, 38px);
	font-weight: 700;
}
.banner-main .samll  {
	font-size: min(10vw, 24px);
	font-weight: 700;
}
.banner-main .text-main {
	font-size: min(5vw, 82px);
	color: #203842;
	position: relative;
	display: inline-block;
	z-index: 99;
	margin-bottom: 20px;
	margin-left: 50px;
	letter-spacing: 6px;
	font-family: 'NJK-Bold';
}
.banner-main .text-main::after {
	position: absolute;
	content: "";
	width: 102%;
	height: 23px;
	border-radius: 10px;
	background: rgba(255, 196, 0, 0.3);
	bottom: 17px;
	left: -10px;
	z-index: -1;
}
.banner-main .mobifontb {
	font-size: min(5vw, 92px);
	font-family: 'NJK-Bold';
}
.banner-main .text-banner-bg {
	background-image: url(../img/banner_bg_text_pc.png);
	width: 598px;
	height: 40px;
	text-align: center;
	color: white;
	font-size: 20px;
	font-family: 'NJK-Bold';
	letter-spacing: 2px;
	line-height: 40px;
	background-size: contain;
	margin: auto;
	margin-bottom: 33px;
}

.banner-main .list-banner {
	margin-bottom: 23px;
} 
.banner-main .list-banner .item-banner {
	width: calc(100%/3 - 15px);
	border-radius: 20px;
	background: white;
	border: 2px solid #D5D5D5;
	text-align: center;
	padding: 24px 5px 22px;
}
.banner-main .list-banner .item-banner .text-01 {
	font-size: 14px;
	font-family: 'NJK-Bold';
	margin-bottom: 15px;
}
.banner-main .list-banner .item-banner .text-01.last {
	margin-bottom: 7px;
}
.banner-main .list-banner .item-banner .text-note {
	font-size: 14px;
	font-family: 'NJK-Bold';
}
.banner-main .dl-banner {
	margin-bottom: 45px;
	text-align: center;
}
.banner-main .dl-banner .dt-banner {
	font-size: 18px;
	font-family: 'NJK-Bold';
	margin-bottom: 8px;
	line-height: 33px;
	letter-spacing: 1.5px;
}
.banner-main .dl-banner .dd-banner {
	font-size: 25px;
	font-family: 'NJK-Bold';
	letter-spacing: 3px;
}
.banner-main .content-banner {
	max-width: 54.73%;
}
.banner-main .box-link-banner {
	max-width: 596px;
	margin: auto;
}
.banner-main .box-link-banner .link-contact-banner {
	font-size: 20px;
	border-radius: 50px;
	width: calc(50% - 10px);
	height: 72px;
	background: #FF5320;
	color: white;
	text-align: center;
	line-height: 72px;
	position: relative;
	padding-left: 15px;
	font-family: 'NJK-Bold';
}
.banner-main .box-link-banner .link-contact-banner::after {
	position: absolute;
	content: "";
	background-image: url(../img/banner_icon_02.svg);
	width: 27.83px;
	height: 20px;
	top: 24px;
	left: 24px;
}
.banner-main .box-link-banner .link-contact-banner.one::after {
	background-image: url(../img/banner_icon_01.svg);
	width: 19.70px;
	height: 25.31px;
	top: 21px;
	left: 30px;
}
.banner-main .box-link-banner .link-contact-banner.one {
	background: #0B80E0;
	padding-left: 45px;
}
.banner-main .box-link-banner .link-contact-banner span {
	margin-right: 15px;
}

@media (max-width: 1280px) {
	.banner-main {
		height: 850px;
	}
	.banner-main .text-line {
		font-size: 26px;
	}
	.banner-main .dl-banner {
		margin-bottom: 20px;
		text-align: center;
	}
	.banner-main .box-main .inner-banner .box-sub {
		right:0px;
	}
	.banner-main .text-banner-bg {
		background-image: url(../img/banner_bg_text_pc.png);
		width: 555px;
		height: 38px;
	}
}

@media (max-width: 767px) {
	.banner-main .box-main {
		padding-top: 43px;
		width: 100%;
	}
	.banner-main .box-main .inner-banner{
		display: flex;
		flex-direction: column-reverse;
	}

	.banner-main .text-banner-bg {
		width: 100%;
		max-width: 328px;
		background-image: url(../img/banner_bg_text_sp.png);
		height: 70px;
		line-height: 28px;
		font-size: 17px;
		padding-top: 8px;
		margin-bottom: 22px;
	}
	.banner-main .text-main {
/* 		margin: auto; */
		width: 210px;
		display: block;
		font-size: 32px;
		letter-spacing: 0px;
		line-height: 70px;
/* 		text-align: center; */
		margin-bottom: 22px;
		margin-left: 16px;
	}
	.banner-main .big {
		font-size: 120px;
	}
	.banner-main .content-banner {
		width: 100%;
		max-width: 100%;
		padding-left:0px;
		margin-top: -40%;
	}

	.banner-main .box-main .inner-banner .box-sub{
		position: relative;
		width: 108%;
		top: unset;
		/* 		right: 3px; */
		display: block;
		/* 		margin-top: 10px; */
	}

	.banner-main {
		background-image: url(../img/banner_bg_main_sp.png);
		height: auto;
		padding-top: 55px;
		padding-bottom: 60px;
		overflow: hidden;
		background-position: bottom;
	}

	.banner-main .list-banner .item-banner {
		width: 100%;
		max-width: 327px;
		margin: auto;
		margin-bottom: 13px;
	}

	.banner-main .list-banner .item-banner .text-01.last {
		margin-bottom: -5px;
	}
	.banner-main .bignumber {
		font-size: 38px;
	}
	.banner-main .samll {
		font-size: 24px;
	}

	.banner-main  .mobifont {
		font-size: 64px;
		font-family: 'NJK-Bold';
	}
	.banner-main .text-main::after {
		bottom: 7px;
		left: -5px;
	}
	.banner-main .list-banner {
		margin-bottom: 20px;
	}

	.banner-main  .mobifontb {
		font-size: 75px;
	}
	.banner-main .dl-banner .dt-banner {
		font-size: 16px;
		line-height: 29px;
	}
	.banner-main .dl-banner {
		margin-bottom: 40px;
	}


	.banner-main .dl-banner .dd-banner {
		font-size: 26px;
	}
	.banner-main .info-banner {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.banner-main .list-banner .item-banner .text-note {
		font-size: 12px;
		text-align: left;
		margin-left: 10px;
	}
	.banner-main .text-line {
		font-size: 24px;
		margin-bottom: 0px;
	}
	.banner-main .text-line::after {
		bottom: 0px;
	}

	.banner-main .box-link-banner .link-contact-banner {
		width: 100%;
		max-width: 290px;
		margin: auto;
		margin-bottom: 20px;
	}
	.banner-main .list-banner .item-banner .text-01 {
		font-size: 16px;
		margin-bottom: 15px;
	}
	.banner-main .text-line.last::after {
		bottom: 5px;
	}
}


/* banner Agencry */ 


.banner-main .banner-agencry .text-banner-bg-samll {
	background-image: url(../img/page/banner_bg_text_samll_pc.png);
	width: 377px;
	height: 50px;
	text-align: center;
	color: white;
	font-size: 23px;
	font-family: 'NJK-Bold';
	letter-spacing: 2px;
	line-height: 50px;
	background-size: contain;
	margin: auto;
	margin-bottom: 43px;
}

.banner-main .box-main.agencry {
	padding-top: min(15vw, 190px);
	width: 100%;
}
.banner-main .banner-agencry .text-agencry {
	text-align: center;
	font-size: 34px;
	letter-spacing: 5px;
	margin-bottom: 23px;
	line-height: 55px;
} 
.banner-main .banner-agencry .note-agencry {
	font-size: 27px;
	margin-bottom: 65px;
	text-align: center;
	letter-spacing: 3px;
	font-family: 'NJK-Bold';
} 

.banner-main .banner-agencry .text-img {
	width: 67%;
	margin: auto;
	margin-bottom: 40px;
}

.banner-main .box-main .inner-banner .box-sub.agencry {
	top: -44px;
}

@media (max-width: 767px) { 
	.banner-main .box-main.agencry {
		padding-top: 65px;
	}
	.banner-main.small-page {
		background-image: url(../img/page/banner_bg_main02_sp.png);
		height: auto;
		padding-top: 55px;
		padding-bottom: 50px;
	}
	.banner-main .banner-agencry .text-banner-bg-samll {
		background-image: url(../img/page/banner_bg_text_samll_sp.png);
		width: 245px;
		height: 32px;
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 32px;
		margin-bottom: 25px;
	}
	.banner-main .banner-agencry .text-agencry {
		font-size: 21px;
		letter-spacing: 3px;
		margin-bottom: 25px;
		line-height: 34px;
	}
	.banner-main .banner-agencry .note-agencry {
		font-size: 17px;
		margin-bottom: 35px;
		letter-spacing: 2px;
	} 

	.banner-main .banner-agencry .text-img {
		width: 87%;
		margin: auto;
		margin-bottom: 35px;
		text-align: center;
	}
	.banner-main .box-main .inner-banner .box-sub.agencry {
		top: 22px;
	}
}








/*  top new desgin  */

.banner-main  .dd-banner-img {
	max-width: 100%;
	text-align:center;
	margin: auto;
}
.banner-main  .dd-banner-img img {
	width: 100%;
}
.banner-main .dl-banner .dt-banner-new {
	font-size: 27px;
	line-height:52px;
	font-family: 'NJK-Bold';
	margin-bottom: 35px;
	letter-spacing: 2.5px;
}
.banner-main .box-main.new {
	padding-top: min(15vw, 270px); 
	width: 100%;
}
.banner-main .dl-banner.new {
	margin-bottom: 110px;
	text-align: center;
}
.banner-main .box-main .inner-banner .box-sub.new {
	position: absolute;
	width: 48%;
	right: 16px;
	top: -114px;
}
.banner-main .box-main .inner-banner .box-sub.new.pc-br{

	display: block;
}
.banner-main .box-main .inner-banner .box-sub.new.sp-br{
	display: none;
}
@media (max-width: 1450px) {


	.banner-main .dl-banner .dt-banner-new {
		font-size: 18px;
		line-height: 40px;
		margin-bottom: 25px;
		letter-spacing: 2px;
	}
	.banner-main .dd-banner-img {
		max-width: 78%;
		text-align: center;

	}
	.banner-main .dl-banner.new {
		margin-bottom: 50px;
		text-align: center;
	}
	.banner-main.new {
		height: 700px;
	}
	.banner-main .box-main .inner-banner .box-sub.new {
		position: absolute;
		width: 44%;
		right: 16px;
		top: -65px;
	}
}





@media (max-width: 767px) {

	.banner-main .box-main.new {
		padding-top: 77px;
	}
	.banner-main .box-main .inner-banner .box-sub.new {
		position: relative;
		width: 114%;
		top: unset;
		right: -9px;
		margin-top: 0px;
		margin-bottom: -10px;
	}
	.banner-main .box-main .inner-banner .box-sub.new.pc-br{
		display: none;
	}
	.banner-main .box-main .inner-banner .box-sub.new.sp-br{
		display: block;
	}
	.banner-main.new {
		background-image: url(../img/page/banner_bg_main02_sp.png);
		height: auto;
		padding-top: 55px;
		padding-bottom: 62px;
		background-position: unset;
		background-position-x: -4px;
	}
	.banner-main .dl-banner .dt-banner-new {
		font-size: 16px;
		line-height: 29px;
		margin-bottom: 15px;
		letter-spacing: 1px;
	}
	.banner-main .dd-banner-img {
		max-width: 68%;
	}
	.banner-main .dl-banner.new {
		margin-bottom: 25px;
		text-align: center;
	}
}





/* banner Agegation */ 


.banner-main .banner-aggregation .text-banner-bg-samll {
	background-image: url(../img/page/banner_bg_text_samll02_pc.png);
	width: 433px;
	height: 50px;
	text-align: center;
	color: white;
	font-size: 25px;
	font-family: 'NJK-Bold';
	letter-spacing: 2px;
	line-height: 50px;
	background-size: contain;
	margin: auto;
	margin-bottom: 52px;
}

.banner-main .box-main.aggregation {
	padding-top: min(15vw, 201px);
	width: 100%;
}
.banner-main .banner-aggregation .text-aggregation {
	text-align: center;
	font-size: 40px;
	letter-spacing: 8px;
	margin-bottom: 32px;
	line-height: 55px;
	font-family: 'NJK-Bold';
} 
.banner-main .banner-aggregation .note-aggregation {
	font-size: 26px;
	margin-bottom: 65px;
	text-align: center;
	letter-spacing: 3px;
} 

.banner-main .banner-aggregation .text-img {
	width: 70%;
	margin: auto;
	margin-bottom: 50px;
}

.banner-main .box-main .inner-banner .box-sub.aggregation {
	top: -51px;
}

@media (max-width: 1200px) { 
	.banner-main .banner-aggregation .text-aggregation {
		font-size:36px;
	}
}
@media (max-width: 767px) { 
	.banner-main .box-main.aggregation {
		padding-top: 78px;
	}
	.banner-main.small-page {
		background-image: url(../img/page/banner_bg_main02_sp.png);
		height: auto;
		padding-top: 55px;
		padding-bottom: 110px;
		background-position:bottom;
		background-position-x: -4px;
	}
	.banner-main .banner-aggregation .text-banner-bg-samll {
		background-image: url(../img/page/banner_bg_text_samll02_sp.png);
		width: 247px;
		height: 29px;
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 30px;
		margin-bottom: 22px;
	}
	.banner-main .banner-aggregation .text-aggregation {
		font-size: 21px;
		letter-spacing: 4px;
		margin-bottom: 17px;
		line-height: 34px;
	}
	.banner-main .banner-aggregation .note-aggregation {
		font-size: 17px;
		margin-bottom: 35px;
		letter-spacing: 2px;
	} 

	.banner-main .banner-aggregation.text-img {
		width: 80%;
		margin: auto;
		margin-bottom: 25px;
	}
	.banner-main .box-main .inner-banner .box-sub.aggregation {
		top: 22px;
	}
}

/*  Block-Service  */

#homepage .block-service {
	background: white;
	padding: 100px 0px 105px;
	border-top-right-radius: 30px;
	border-top-left-radius: 30px;
	margin-top: -34px;
	position: relative;
	z-index: 99;
}
#homepage .list_service {
	margin-bottom: 40px;
	margin-top: 102px;
} 

#homepage .list_service .item-service {
	width: calc(100%/3 - 30px);
	height: 944px;
	border-width: 1px;
	border-radius: 15px;
	background: #EAEAEA;
	position: relative;
	padding: 90px 30px 90px 30px;
	letter-spacing: 0.2px;
	border: dashed 2px #203842;
}
#homepage .list_service .title-service {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: -45px;
	width: 108px;
	height: 108px;
	background: #203842;
	display: flex;
	justify-content: center;
	align-items: center;
	color: white;
	border-radius: 50%;
	flex-direction: column;
	justify-content: flex-start;
	padding-top: 18px;
	line-height: 36px;
}
#homepage .list_service .title-service .title-01 {
	font-size: 20px;
	font-weight: 700;
}
#homepage .list_service .title-service .title-02 {
	font-size: 32px;
	font-weight: 700;
	line-height: 28px;
}
#homepage .list_service .dt-service {
	font-size: 36px ;
	font-family: 'NJK-Bold';
	color: #05BC50;
}
#homepage .list_service .dd-service {
	font-size: 24px ;
	font-family: 'NJK-Bold';

}

#homepage .list_service .dl-service {
	margin-bottom: 40px;
	text-align: center;
}

#homepage .list_service .note-service {
	font-size: 16px;
	font-family: 'NJK-Regular';
	line-height: 28px;
	letter-spacing: 0.4px;
}
#homepage .list_service .list-check {
	font-size: 18px;
	font-family: 'NJK-Bold';
	letter-spacing: 0.4px;
	line-height: 30px;  
}
#homepage .list_service .list-check .item-check {
	padding-left: 50px;
	position: relative;
	padding-top: 27px;
	padding-bottom: 20px;
	border-bottom: 1px solid #fff;
}
#homepage .list_service .list-check .item-check:nth-child(3) {
	margin-bottom: 0px;
	border-bottom: none
}


#homepage .list_service .list-check .item-check::after {
	position: absolute;
	content: "";
	background-image: url(../img/check_service.svg);
	width: 24px;
	height: 24px;
	top:calc(50% - 12px);
	left: 0px;
}


#homepage .list_service .last-service .box-text-service {
	width: 173px;
	height: 173px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #05BC50;
	color: white;
	flex-direction: column;
	text-align: center;
}
#homepage .list_service  .box-text-service .service-01 {
	font-size: 14px;
	font-family: 'NJK-Medium';
	line-height: 20px;
}
#homepage .list_service  .box-text-service .service-02 {
	font-size: 26px;
	font-family: 'NJK-Bold';
}
#homepage .list_service .yellow  {
	color: #FFF957;
	font-family: 'NJK-Bold';
}
#homepage .list_service  .big-servie-02 {
	font-size: 26px;
}
#homepage .list_service  .big-servie-01 {
	font-size: 22px;
	line-height: 28px;
}
#homepage .list_service  .small-servie {
	font-size: 20px;
}
#homepage .list_service .item-service .last-service {
	position: relative;
} 
#homepage .list_service .item-service .last-service::after {
	position: absolute;
	content: "";
	background-image: url(../img/home_icon_01_pc.png);
	width: 154px;
	height: 170px;
	right: 0px;
	top:0px;
	z-index: 99;
}
#homepage .list_service .item-service .last-service.two::after {
	position: absolute;
	content: "";
	background-image: url(../img/home_icon_02_pc.png);
	width: 127px;
	height: 172px;
	right: 12px;
	top:0px;
	z-index: 99;
}
#homepage .list_service .item-service .last-service.three::after {
	position: absolute;
	content: "";
	background-image: url(../img/home_icon_03_pc.png);
	width: 153px;
	height: 173px;
	right: 12px;
	top:0px;
	z-index: 99;
}
#homepage .list_service .link-service {
	position: absolute;
	width: 232px;
	height: 64px;
	line-height: 64px;
	left: 50%;
	transform: translateX(-50%);
	background: #FFC400;
	border-radius: 40px;
	bottom: -30px;
	font-size: 20px;
	font-family: 'NJK-Bold';
	text-align: center;
}
#homepage .list_service .link-service a {
	width: 100%;
	height: 100%;
	font-family: 'NJK-Bold';
}

@media (max-width: 1100px) {
	.banner-main .text-line {
		font-size: 20px;
	}
	.banner-main .content-banner {
		max-width: 54.73%;
		padding-left: 10px;
	}
	#homepage .list_service .item-service {
		width: calc(100%/3 - 10px);
		padding: 90px 15px 90px 15px;
	}
	#homepage .list_service .list-check {
		font-size: 16px;
		line-height: 26px;
	}
	#homepage .list_service .item-service .last-service {
		position: relative;
		margin-top: 25px;
	}
	#homepage .list_service .item-service .last-service.three {
		position: relative;
		margin-top: 0px;
	}
	#homepage .list_service .dt-service {
		font-size: 34px;
	}
	.banner-main .list-banner .item-banner .text-note {
		font-size: 12px;
	}
	.banner-main .text-main::after {
		bottom:10px;
	}
	.banner-main .bignumber {
		font-size: min(10vw, 30px);
	}
	.banner-main .text-line::after {
		bottom:-2px;
	}
	#homepage .list_service .item-service .last-service::after {
		right: -15px;
	}
	#homepage .list_service .item-service .last-service.two::after {
		right: -5px;
	}
	#homepage .list_service .item-service .last-service.three::after {
		right: -15px;
	}
}
@media (max-width: 767px) {
	.banner-main .content-banner {
		max-width:100%;
		padding-left: 0px;
	}
	#homepage {
		overflow: hidden;
	}
	#homepage .list_service {
		margin-bottom: 40px;
		margin-top: 110px;
	}
	#homepage .list_service .item-service {
		width: 100% !important;
		padding: 82px 20px 65px 24px;
		margin-bottom: 140px;
		height: auto;
	}
	#homepage .list_service .list-check .item-check {
		padding-left: 40px;
		padding-top: 22px;
		padding-bottom: 12px;
	}
	#homepage .list_service .list-check .item-check:nth-child(2) {
		padding-top: 16px;
		padding-bottom: 12px;
	}
	#homepage .list_service .list-check .item-check:nth-child(3) {
		padding-top: 16px;
		padding-bottom: 7px;
	}
	#homepage .list_service .dl-service {
		margin-bottom: 30px;
	}
	#homepage .list_service .title-service {
		width: 96px;
		height: 96px;
		line-height: 40px;
		justify-content: flex-start;
		padding-top: 5px;
	}
	#homepage .list_service .title-service .title-01 {
		font-size: 18px;
	}

	#homepage .list_service .title-service .title-02 {
		font-size: 28px;
	}
	#homepage .list_service .note-service {
		font-size: 14px;
		line-height: 24px;
	}
	#homepage .list_service .list-check {
		font-size: 16px;
		line-height: 28px;
		letter-spacing: 0.7px;
		margin-bottom: 15px;
	}

	#homepage .list_service .item-service .last-service::after {
		right: -12px;
	}
	#homepage .list_service .link-service {
		width: 205px;
	}
	#homepage .list_service .item-service .last-service.two::after {
		right: 5px;
	}
	#homepage .list_service .item-service .last-service.three::after {
		right: 4px;
	}
	#homepage .block-service { 
		padding: 75px 0px 112px;
	}    
	#homepage .list_service .item-service:nth-child(3) {
		margin-bottom: 0px;
	}
	#homepage .list_service .item-service .last-service {
		margin-top: 0px;
	}

}