	body::before {
		background: none;
	}
	body {
		background: none;
	}

/* ============================================================================
共通
============================================================================*/
/* cardBox */
	.cardBox{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.cardBox .cardUnit {
		position: relative;
		width: 31.74%;
		padding: 40px 40px 50px;
		background: rgba(255, 255, 255, 0.9);
		border: 1px solid #90E0FF;
		border-radius: 30px;
		box-shadow: 0 10px 40px rgba(165, 215, 234, 0.5);
		backdrop-filter: blur(5px);
	}
	.cardBox .cardUnit .icon,
	.cardBox .cardUnit .ttl,
	.cardBox .cardUnit .txt {
			display: block;
	}
	.cardBox .cardUnit .icon {
		margin: 0 auto 1em;
		width: min(126px, 60%);
		aspect-ratio: 680 / 478;
		display: flex;
		align-items: flex-end;
		justify-content: center;
	}
	.cardBox .cardUnit .icon img {
		max-width: 100%;
		max-height: 100%;
		width: auto;
		height: auto;
		object-fit: contain;
	}

	.cardBox .cardUnit .ttl {
			padding-bottom: 1em;
			text-align: center;
			color:var(--color-bl-01);
		}

@media (max-width:767px){
		.cardBox .cardUnit {
		margin-bottom: 30px;
		width: 100%;
		padding: 30px 30px 40px 30px;
	}
}



/* ============================================================================
heroSection
============================================================================*/
	.heroSection {
		position: relative;
		width: 100%;
		max-width: 1920px;
		aspect-ratio: 1920 / 950;
		overflow: hidden;
	}
	.heroSection .hero-bg {
		position:relative;
		width: 100%;
	}
@media (max-width: 1199px) {
	.heroSection {
		aspect-ratio: 1920 / 1100;
	}
	.heroSection .hero-bg {
		height: 100%;
	}
	.heroSection .hero-bg img {
		width: auto;
		height: 100%;
	}	
}


	/* hero-sopraBox
	--------------------------- */
	.heroSection .hero-sopraBox > div {
		position: absolute;
		width: 60%;
		right: 0;
		bottom:0;	
		z-index: 3;
	}
@media (max-width:1199px){
	.heroSection .hero-sopraBox > div {
		width: 65%;
	}
}
@media (min-width: 768px) and (max-width:1199px) {
	.heroSection .hero-sopraBox > div {
		right: -5%;
	}
}



	/* hero-txtBox
	--------------------------- */	
	.heroSection .hero-txtBox {
		position: absolute;
		width: 34%;
		top: 52%;
		transform: translateY(-50%);
		left: calc((100% - min(90%, 1260px)) / 2);
		z-index: 4;
		white-space: nowrap;
	}
@media (min-width: 1200px) and (max-width: 1600px) {
	.heroSection .hero-txtBox  {
		left: calc((100% - min(76%, 1260px)) / 2);
	}
}
@media (max-width:1199px){
	.heroSection .hero-txtBox  {
		left: calc((100% - min(80%, 1260px)) / 2);
	}
}

	/* mainTxt */
	.heroSection .hero-txtBox .mainTxt .iconElement {
		display: block;
		padding-bottom:0.5em;
	}
	.heroSection .hero-txtBox .mainTxt .iconElement img {
		width: 45px;
	}
	.heroSection .hero-txtBox .mainTxt .iconElement .txt {
		display: inline-block;
		padding-left:0.5em;
		font-size: clamp(1.8rem, 0.8rem + 1vw, 2.4rem);
		font-weight: 700;
		background: linear-gradient(90deg, #003896, #3879E6);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		background-clip: text;
		color: transparent;
	}
	.heroSection .hero-txtBox .mainTxt .mainTitle {
		position: relative;
	}	
	.heroSection .hero-txtBox .mainTxt .mainTitle img {
		width: 98%;
	}


	/* subTxt */
	.heroSection .hero-txtBox .subTxt {
		padding-top:0.3em;
		padding-bottom:0.8em;
		color: var(--color-bk-accent);
		font-size: clamp(2.8rem, calc(0.831rem + 2.564vw), 3.6rem);
		font-weight: 800;
		line-height: 1.2;		
	}

	/* AwardsUnit */
	.heroSection .hero-txtBox .AwardsUnit {
		display: flex;
		justify-content: space-between;
	}
	.heroSection .hero-txtBox .AwardsUnit .award {
		width: 49%;
	}
	.heroSection .hero-txtBox .AwardsUnit .award .awardLaurel {
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		padding: 0 4rem;
		}
	.heroSection .hero-txtBox .AwardsUnit .award .awardLaurel::before,
	.heroSection .hero-txtBox .AwardsUnit .award .awardLaurel::after {
		content: "";
		position: absolute;
		top: 50%;
		width: 3rem;   /* 画像サイズ */
		height: 100%;
		background: center / contain no-repeat;
		transform: translateY(-50%);
	}

	.heroSection .hero-txtBox .AwardsUnit .award .awardLaurel::before {
		left: 0;
		background-image: url(../images/top/hero_laurel.svg);
	}
	
	.heroSection .hero-txtBox .AwardsUnit .award .awardLaurel::after {
		right: 0;
		background-image: url(../images/top/hero_laurel.svg);
		transform: translateY(-50%) scaleX(-1);
	}
	
	.heroSection .hero-txtBox .AwardsUnit .award .awardLaurel .awardTxt {
		padding:10px 0;
	}
	.heroSection .hero-txtBox .AwardsUnit .award .awardLaurel .awardTxt .ttl,
	.heroSection .hero-txtBox .AwardsUnit .award .awardLaurel .awardTxt .txt {
		display: block;
		text-align: center;
		white-space: nowrap;
	}
	.heroSection .hero-txtBox .AwardsUnit .award .awardLaurel .awardTxt .ttl {
		font-size: 1.15em;
		padding-bottom:0.5em;
		font-weight: 600;
		line-height: 1;
	}
	.heroSection .hero-txtBox .AwardsUnit .award .awardLaurel .awardTxt .txt {
		font-weight: 500;
	}
	.heroSection .hero-txtBox .AwardsUnit .award .awardLaurel .awardTxt .txt .num {
		font-size: 3.6rem;
		font-family: var(--fontFamily-en_03);	
		line-height: 0.1;
	}
	.heroSection .hero-txtBox .cap {
		display: block;
		padding-top:0.1em;
		font-size: 0.8rem;
		letter-spacing: -0.05em;
	}

/* heroCtaUnit */
	.heroSection .hero-txtBox .heroCtaUnit {
		display: grid;
		grid-template-columns: 1.2fr 1fr;
		gap: 10px;
		margin-top:3em;
	}
	.heroSection .hero-txtBox .heroCtaUnit a {
		padding: 12px 24px;
	}

@media (max-width: 1300px) {
	.heroSection .hero-txtBox .heroCtaUnit {
		margin-top:1.5em;
	}
}
@media (max-width: 1199px) {
	.heroSection .hero-txtBox {
		width: 40%;
	}
}
@media (max-width:1080px){
	.heroSection .hero-txtBox {
		width: 45%;
	}
	.heroSection .hero-txtBox .mainTxt .mainTitle img {
			width: 90%;
	}
	.heroSection .hero-txtBox .AwardsUnit .award .awardLaurel .awardTxt {
		font-size: 0.9em;
	}	
	/* heroCtaUnit */
	.heroSection .hero-txtBox .heroCtaUnit {
		display: none;
	}
}


/* スマホ時レイアウト */
@media (max-width: 767px) {
	.heroSection {
		background: url(../images/top/hero_bg.jpg) top center /cover;
		aspect-ratio: auto;
	}
	.hero-bg {
		display: none;
	}
	.spWrap {
		display: flex;
		flex-wrap: wrap;
		padding-top:80px;
	}
	.heroSection .hero-txtBox,
	.heroSection .hero-sopraBox {
		position: relative;
	}
	.heroSection .hero-txtBox {
			width: 80%;
			top: 10%;
			transform: none;
			white-space:inherit;
			text-align: center;
			left: calc((100% - min(80%, 1260px)) / 2);
	}
	.heroSection .hero-txtBox .mainTxt .iconElement .txt {
		font-size:1.8rem;
	}
	.heroSection .hero-txtBox .mainTxt .mainTitle img  {
			width: 90%;
	}
	.heroSection .hero-txtBox .subTxt {
		font-size:2.6rem;
	}
	.heroSection .hero-txtBox .AwardsUnit .award .awardLaurel .awardTxt {
		font-size: 0.8em;
	}	
	.heroSection .hero-txtBox .AwardsUnit .award .awardLaurel .awardTxt .txt .num {
    font-size: 3.2rem;
	}

	.heroSection .hero-txtBox .cap {
		text-align: left;;
	}


	.heroSection .hero-sopraBox  > div:nth-child(1){
		position: relative;
	}
	.heroSection .hero-sopraBox {
		width: 100%;
	}	
	.heroSection .hero-sopraBox > div {
			width: 120%;
	}
}





/* animation */
	.heroSection .hero-sopraBox .img_sopra_main {
		animation: fuwafuwa01 5s cubic-bezier(.45, .05, .55, .95) 0s infinite;
	}
	@keyframes fuwafuwa01 {
		0% {
			transform: translate(0, 0) scale(1);
		}
		60% {
			transform: translate(0, -4%) scale(.985);
		}
		100% {
			transform: translate(0, 0) scale(1);
		}
	}
	.heroSection .hero-sopraBox .img_sopra_main_shadow {
		animation: fuwafuwa02 5s cubic-bezier(.45, .05, .55, .95) 0s infinite;
	}
	@keyframes fuwafuwa02 {
		0% {
			transform: translate(0, 0) scale(1);
			opacity: 1;
		}
		60% {
			transform: translate(0, 4%) scale(.985);
			opacity: .3;
		}
		100% {
			transform: translate(0, 0) scale(1);
			opacity: 1;
		}
	}

	.heroSection .hero-sopraBox .img_sopra_cube {
		opacity: 0;
		animation: 
				cube 5s cubic-bezier(.45, .05, .55, .95) 0s infinite,
				cubeOpa 1s cubic-bezier(.45, .05, .55, .95) 0.3s forwards;
	}
	@keyframes cube {
		0% {
			transform: translate(0, 0) scale(1);
		}
		60% {
			transform: translate(0, -4%) scale(.97);
		}
		100% {
			transform: translate(0, 0) scale(1);
		}
	}
	@keyframes cubeOpa {
		0% {
			opacity: 0;
		}
		100% {
			opacity: 1;
		}
	}

	.heroSection .hero-sopraBox .img_sopra_cube_02 {
		/* opacity: 0; */
		animation: 
				cube_02 5s cubic-bezier(.45, .05, .55, .95) 0s infinite,
				/* cubeOpa 1s cubic-bezier(.45, .05, .55, .95) 0.3s forwards; */
	}
	@keyframes cube_02 {
		0% {
			transform: translate(0, 0) scale(1);
		}
		60% {
			transform: translate(0, -4%) scale(.97);
		}
		100% {
			transform: translate(0, 0) scale(1);
		}
	}
	/* @keyframes cubeOpa {
		0% {
			opacity: 0;
		}
		100% {
			opacity: 1;
		}
	} */



	.heroSection .hero-sopraBox .img_sopra_shine_01 {
		animation: shine_01 5s ease-in-out infinite;
	}
	@keyframes shine_01 {
		0% {
			transform: translate(0, 0);
			opacity: 0;
		}
		30% {
			opacity: 1;
		}
		100% {
			transform: translate(6px, -15%);
			opacity: 0;
		}		
	}
	/* @keyframes shine_01 {
		0% {
			transform: translate(0, 0);
			opacity: 0.1;
		}
		20% {
			opacity: 1;
		}
		30% {
			opacity: .5;
		}
		45% {
			opacity: 1;
		}
		60% {
			opacity: .3;
		}
		70% {
			opacity: 1;
		}
		99.9% {
			transform: translate(6px, -15%);
			opacity: 0;
		}
		100% {
			transform: translate(0, 0);
			opacity: 0;
		} */

.heroSection .hero-sopraBox .img_sopra_shine_02 {
	animation: shine_02 5s ease-in-out 3s infinite;
	opacity: 0;
	transform: translate(0, 0);
}

@keyframes shine_02 {
		0% {
			opacity: 0;
			transform: translate(0, 0);
		}
		10% {
			opacity: 1;
		}
		30% {
			opacity: .5;
		}
		55% {
			opacity: 1;
		}
		99.9% {
			opacity: 0;
			transform: translate(6px, -20%);
		}

	}






/* ============================================================================
clientLogosSection
============================================================================*/
	.clientLogosSection {
		background: #fff;
	}
	.clientLogosSection .txtBox {
		text-align: center;
	}
	.clientLogosSection .txtBox .ttl {
		padding-bottom: 0.3em;
		font-weight: 700;
	}
	.clientLogosSection .txtBox .ttl .num {
		font-size:2em;
		font-family: var(--fontFamily-en_01);
		line-height: 1;
		letter-spacing: -0.05em;
		color:var(--color-bl-01);		
	}
	.clientLogosSection .txtBox .txt {
		padding-bottom:1.2em;
		font-weight: 600;
		color: var(--color-bk-accent);
		font-size: clamp(1.8rem, calc(0.737rem + 2.22vw), 2.4rem);
	}


/* clientLogosWrap */

	.clientLogosSection .clientLogosWrap .clientLogosBox {
		overflow: hidden;
	}

	.clientLogosBox + .clientLogosBox {
		margin-top: 30px;
	}
	.clientLogosSection .clientLogosWrap .clientLogosBox .logoTrack {
		display: flex;
		/* align-items: center; */
		width: max-content;
		gap: 40px;
		animation: marquee 40s linear infinite;
		animation-play-state: paused;
	}

	.clientLogosSection .clientLogosWrap .clientLogosBox.reverse .logoTrack {
		animation-direction: reverse;
	}


/* ロゴ */
	.clientLogosSection .clientLogosWrap .clientLogosBox .logoTrack .logoItem {
		display: flex;
		align-items: center;
		/* justify-content: center; */
		flex-shrink: 0;
	}

	.clientLogosSection .clientLogosWrap .clientLogosBox .logoTrack .logoItem img {
		display: block;
		width: auto;
		height: auto;
		max-width: none;
		max-height: 40px;
	}

/* 微調整用 */
	.clientLogosSection .clientLogosWrap .clientLogosBox .logoTrack .logoItem.xl img {
	max-height: 60px;
}

	.clientLogosSection .clientLogosWrap .clientLogosBox .logoTrack .logoItem.lg img {
	max-height: 50px;
}


	.clientLogosSection .clientLogosWrap .clientLogosBox .logoTrack .logoItem.md img {
	max-height: 35px;
}

	.clientLogosSection .clientLogosWrap .clientLogosBox .logoTrack .logoItem.sm img {
	max-height: 30px;
}

	.clientLogosSection .clientLogosWrap .clientLogosBox .logoTrack .logoItem.xs img {
	max-height: 20px;
}


@keyframes marquee {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}



/* ============================================================================
innerpageLinkSection
============================================================================*/
	.innerpageLinkSection.bg-block {
		background:
			radial-gradient(
				circle 1200px at 0 0,
				rgba(226,235,255,.9) 0%,
				rgba(240,235,244,.8) 45%,
				rgba(240,235,244,0) 100%
			) no-repeat,
			url("../images/common/bg_01.webp") top right no-repeat;
		background-size: auto, cover;
	}
	



/* innerpageLinkButton */
	.innerpageLinkSection .innerpageLinkButton a {
		display: block;
		width: min(340px,80%);
		margin: 0 auto;
		text-align: center;
		padding: 18px 24px;
		font-size: 1.7rem;
		font-weight: 800;
		border-radius: 100px;
		white-space: nowrap;
		color: #fff;;
		background: linear-gradient(90deg, #2B97BF 50%, #46CADB);
		box-shadow: 0 3px 20px rgba(39,148,168,0.47);
		text-decoration: none;
	}



/* --------------------------- 
	advantageLinkSection
--------------------------- */
	.advantageLinkSection {
		overflow: hidden;
	}
	/* advantageLinkIntroWrap */
	.advantageLinkSection .advantageLinkIntroWrap {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.advantageLinkSection .advantageLinkIntroWrap .txtBox {
		width: 37.73%;
	}	
	.advantageLinkSection .advantageLinkIntroWrap .picBox {
		/* width: 58.49%; */
		width: 65%;
    margin-right: -14%;
		margin-top:-5.66%;
	}
	.advantageLinkSection .advantageLinkIntroWrap .txtBox .txt {
		padding-bottom:3em;
	}		

@media (max-width:991px){
	.advantageLinkSection .fullbleed-left {
		width: 90%;
		margin: 0 auto;
    padding-left: 0;
	}
	.advantageLinkSection .advantageLinkIntroWrap .txtBox {
		width: 100%;
	}	
	.advantageLinkSection .advantageLinkIntroWrap .picBox {
		width: 100%;
		margin-right: auto;
		margin-top: 0;
	}
}


	/* advantageLinkCardWrap */
/* advantageLinkCardWrap */
/* advantageLinkCardWrap */
.advantageLinkSection .advantageLinkCardWrap {
	position: relative;
	margin-top: -160px;
	z-index: 2;
}

@media (max-width: 1920px) {
	.advantageLinkSection .advantageLinkCardWrap {
		margin-top: calc(-160px + (1920px - 100vw) * 0.0238);
	}
}

@media (max-width: 1500px) {
	.advantageLinkSection .advantageLinkCardWrap {
		margin-top: calc(-150px + (1500px - 100vw) * 0.5);
	}
}

@media (max-width: 1200px) {
	.advantageLinkSection .advantageLinkCardWrap {
		margin-top: 0;
	}
}
@media (max-width:991px){
	.advantageLinkSection .advantageLinkCardWrap {
		margin-top: 30px;
	}
}

	.advantageLinkSection .advantageLinkCardWrap .cardBox .cardUnit:not(:first-child)::before {
		content: "";
		position: absolute;
		top: 50%;
		left: -35px;
		transform: translateY(-50%);
		width: 30px;
		height: 35px;
		background: #73A1ED;
		clip-path: polygon(0 0, 100% 50%, 0 100%);
		z-index: 2;		
	}

@media (max-width:767px){
	.advantageLinkSection .advantageLinkCardWrap .cardBox .cardUnit:not(:first-child)::before {
		top: -40px;
		left: 50%;
		transform: translateX(-50%);
		width: 40px;
		height: 35px;
		clip-path: polygon(0 0, 50% 100%, 100% 0);
	}

}


/* --------------------------- 
	benefitsLinkSection
--------------------------- */
	/* benefitsLinkIntroWrap */
	.benefitsLinkSection .benefitsLinkIntroWrap {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		flex-direction: row-reverse;
		align-items: center;
	}
	.benefitsLinkSection .benefitsLinkIntroWrap .txtBox {
		width: 37.73%;
	}	
	.benefitsLinkSection .benefitsLinkIntroWrap .picBox {
		width: 58.49%;
		padding-left:5%
	}
	.benefitsLinkSection .benefitsLinkIntroWrap .txtBox .txt {
		padding-bottom:3em;
	}		

@media (max-width:991px){
	.benefitsLinkSection {
		padding-top:60px;
	}
	.benefitsLinkSection .fullbleed-right {
		width: 90%;
		margin: 0 auto;
    padding-left: 0;
	}
	.benefitsLinkSection .benefitsLinkIntroWrap .txtBox {
		width: 100%;
	}	
	.benefitsLinkSection .benefitsLinkIntroWrap .picBox {
		width: 100%;
		margin-right: auto;
		margin-top: 0;
	}
}



	/* benefitsLinkCardWrap */
	.benefitsLinkSection .benefitsLinkCardWrap {
		position: relative;
		margin-top: -100px;
		z-index: 2;
	}
	.benefitsLinkSection .benefitsLinkCardWrap .cardUnit {
		position: relative;
	}

	.benefitsLinkSection .benefitsLinkCardWrap .cardUnit .reasonLabel {
		position: absolute;
		top: -1.1em;
		left: 50%;
		transform: translateX(-50%);
		width: min(190px,70%);
		padding: 0.6em 1.2em;
		text-align: center;
		background: var(--color-bl-01);
		color: #fff;
		border-radius: 100px;
		font-size: 1.6rem;
		font-family: var(--fontFamily-en_01);
		font-weight: 700;
		line-height: 1;
		z-index: 2;
	}

	.benefitsLinkSection .benefitsLinkCardWrap .cardUnit .reasonLabel::after {
		content: "";
		position: absolute;
		left: 3em;
		bottom: -16px;
		width: 10px;
		height: 20px;
		background: var(--color-bl-01);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		transform: rotate(-24deg);
		z-index: -1;
	}

	.benefitsLinkSection .benefitsLinkCardWrap .cardUnit .reasonLabel .num {
		display: inline-block;
		padding-left: 0.1em;
		font-size: 2rem;
		line-height: 1;
	}


@media (max-width: 1920px) {
	.benefitsLinkSection .benefitsLinkCardWrap {
		margin-top: calc(-100px + (1920px - 100vw) * 0.0952);
	}
}

@media (max-width: 1500px) {
	.benefitsLinkSection .benefitsLinkCardWrap {
		margin-top: calc(-60px + (1500px - 100vw) * 0.2);
	}
}

@media (max-width: 1200px) {
	.benefitsLinkSection .benefitsLinkCardWrap {
		margin-top: 0;
	}
}



/* ============================================================================
ctaSection
============================================================================*/

	.ctaSection {
		position: relative;
		border-radius: 30px;
		background: url("../images/top/03_bg.jpg") top center / cover no-repeat;
		overflow: hidden;
	}
	.ctaSection .ctaWrap .fullbleed-left {
		position: relative;
		z-index: 1;
	}
/* picBox */
	.ctaSection .ctaWrap .picBox {
		position: absolute;
		top: 50%;
		right: 0%;
		transform: translateY(-50%);
		width: 40%;
	}
/* txtBox */
	.ctaSection .ctaWrap .txtBox,
	.ctaSection .ctaWrap .txtBox .ja {
		color:#FFF;
	}
	.ctaSection .ctaWrap .txtBox .ja {
		font-size: clamp(3.8rem, 3.1rem + 1.5vw, 5rem);
		font-weight: 800;
		line-height: 1.3;
	}
	.ctaSection .ctaWrap .txtBox .en {
		font-family: var(--fontFamily-en_01);
	}

/* btnBox */
	.ctaSection .ctaWrap .btnBox {
			width: 70%;
			padding-top: clamp(40px, 5vw, 60px);
	}
	.ctaSection .ctaWrap .btnBox .btnUnit {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 20px;
			max-width: 660px;
	}
	.ctaSection .ctaWrap .btnBox .btnUnit .attentionTxt {
		display: block;
		text-align: center;
		font-size: 0.9em;
		color: #FFF;;
	}
	.ctaSection .ctaWrap .btnBox .btnUnit .menu-contact a, 
	.ctaSection .ctaWrap .btnBox .btnUnit .menu-request a {
		padding: 16px 24px;
	}
	.ctaSection .ctaWrap .btnBox .btnUnit .menu-request a {
		border:1px solid #C8E9F4;
		box-shadow: 0 3px 30px rgba(173, 232, 237, 0.55);
	}

	@media (max-width:991px){
	/* picBox */
	.ctaSection .picBox {
		width: 48%;
		right:-5%;
	}

	/* txtBox */
	.ctaSection .ctaWrap .txtBox {
		width: 70%;
	}
	.ctaSection .ctaWrap .txtBox .ja {
		font-size: 3.6rem;
		font-weight: 800;
		line-height: 1.3;
	}
}

@media (max-width: 767px) {
	.ctaSection .ctaWrap {
		display: flex;
		flex-wrap: wrap;
		margin: 0 auto;
		width: 90%;
	}
	
	.ctaSection .ctaWrap .picBox {order: 2;}
	.ctaSection .ctaWrap .txtBox {order: 1;}
	.ctaSection .ctaWrap .btnBox {order: 3;}

	.ctaSection .ctaWrap .fullbleed-left {
		padding-left: 0;
	}
	/* txtBox */
	.ctaSection .ctaWrap .txtBox {
		width: 100%;
	}
	.ctaSection .ctaWrap .txtBox .ja {
		font-size: 3.4rem;
	}

/* picBox */
	.ctaSection .ctaWrap .picBox {
		position: relative;
		top: 0;
		right: 0;
		transform: none;
		width: 80%;
		margin: 0 auto;
	}
/* btnBox */
	.ctaSection .ctaWrap .btnBox {
			width: 100%;
			max-width: 660px;
			padding-top:0;
	}
	.ctaSection .ctaWrap .btnBox .btnUnit {
			grid-template-columns: 1fr;
	}

}

/* ============================================================================
supportSection
============================================================================*/
	.supportSection {
		margin-top: -30px;
		padding: clamp(100px, 10vw, 150px) 0 clamp(70px, 10vw, 120px);
		background:
		url("../images/top/04_bg_02.png") center center / 100% auto no-repeat,
		url("../images/top/04_bg_01.jpg") center / cover no-repeat;
	}
	.supportSection .leadTxt {
		font-size: 1.15em;
		line-height: 1.4;
	}

	.supportSection	.cardBox .cardUnit {
		background: rgba(255, 255, 255, 0.85);
		box-shadow: 0 10px 60px rgba(165, 186, 234, 0.5);
	}


@media (min-width: 768px) {
	.supportSection	.cardBox .cardUnit {
		width: 47.61%;
		padding: 60px 50px 60px;

	}
	.supportSection	.cardBox .cardUnit .icon {
			margin: 0 auto 1em;
			width: min(180px, 60%);
	}

}


/* ============================================================================
faqSection
============================================================================*/
	.faqSection {
		position: relative;
		background: url(../images/common/bg_01.webp) top center / cover no-repeat;
		overflow: hidden;

	}
	.faqSection .picBox {
		position: absolute;
		top:60px;
		right:-20%;
		width: 58.33%;
	}

	.faqSection .faqWrap {
		position: relative;
		z-index: 1;
	}

@media (max-width: 767px) {
	.faqSection .picBox {
		opacity: .8;
	}

}



/* --------------------------- 
	faqItem
--------------------------- */
	.faqSection .faqWrap .faqBox .faqItem {
		border:1px solid #D0E4FF;
		border-radius:20px;
		background:rgba(255, 255, 255, 0.9);
		box-shadow: 0 10px 30px rgba(165, 215, 234, 0.2);
		overflow:hidden;
		transition:.3s;
	}
	.faqItem + .faqItem{
		margin-top:20px;
	}
	.faqSection .faqWrap .faqBox .faqItem.is-open{
		box-shadow: 0 10px 30px rgba(165, 215, 234, 0.5);
	}

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


/* faqQuestion------ */
	.faqSection .faqWrap .faqBox .faqItem button.faqQuestion {
		position:relative;
		display:block;
		width:100%;
		padding:24px 60px 24px 24px;
		background:none;
		border:none;
		text-align:left;
		font:inherit;
		cursor:pointer;
		transition:.3s;
	}
@media (max-width: 767px) {
	.faqSection .faqWrap .faqBox .faqItem button.faqQuestion {
		padding:22px 60px 22px 22px;
	}
}


/* 横棒 */
	.faqSection .faqWrap .faqBox .faqItem .faqQuestion::before{
		content:"";
		position:absolute;
		top:50%;
		right:24px;
		width:20px;
		height:2px;
		background:var(--color-bl-01);
		transform:translateY(-50%);
}
/* 縦棒 */
	.faqSection .faqWrap .faqBox .faqItem .faqQuestion::after{
		content:"";
		position:absolute;
		top:50%;
		right:33px;
		width:2px;
		height:20px;
		background:var(--color-bl-01);
		transform:translateY(-50%) rotate(0deg);
		transform-origin:center;
		transition:transform .3s ease;
}

/* ＋→－ */
	.faqSection .faqWrap .faqBox .faqItem.is-open .faqQuestion::after{
		transform:translateY(-50%) rotate(90deg);
}

/* faqIcon */
	.faqSection .faqWrap .faqBox .faqItem .faqIcon {
		position: relative;
		display: inline-block;
		padding-left:65px;
	}
	.faqSection .faqWrap .faqBox .faqItem .faqIcon::before {
		content: "";
		position: absolute;
		left:0;
		top: -0.3em;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.2em;
		aspect-ratio: 1;
		border-radius: 50%;
		font-size: 1.4em;
		font-family: var(--fontFamily-en_01);
		font-weight: 500;
		color: #fff;
	}
@media (max-width: 767px) {
	.faqSection .faqWrap .faqBox .faqItem .faqIcon {
		padding-left:58px;
		line-height: 1.6;
	}	
}

/* faqQTxt */
	.faqSection .faqWrap .faqBox .faqItem .faqQTxt.faqIcon {
		font-size:1.05em;
		font-weight: 700;
		color:var(--color-bk-accent);
	}
	.faqSection .faqWrap .faqBox .faqItem .faqQTxt.faqIcon::before {
		content: "Q";
		background: var(--color-bl-01);
	}
@media (max-width: 767px) {
	.faqSection .faqWrap .faqBox .faqItem .faqQTxt.faqIcon {
		font-size: 1em;
	}
}


/* faqAnswer------ */
	.faqSection .faqWrap .faqBox .faqItem .faqAnswer {
		height:0;
		background: none;
		overflow:hidden;
		transition:height .35s ease;
	}
		.faqSection .faqWrap .faqBox .faqItem .faqAnswer .faqAnswerInner{
		padding: 10px 24px 24px;
	}

/* faqATxt */
	.faqSection .faqWrap .faqBox .faqItem .faqATxt.faqIcon {
		/* color:var(--color-bk-accent); */
		font-size:0.93em
	}
	.faqSection .faqWrap .faqBox .faqItem .faqATxt.faqIcon::before {
		content: "A";
		background: var(--color-bl-02);
		left:0.5em;
		width: 2em;
		font-size: 1.2em;
	}


