@charset "utf-8";
/* CSS Document */


.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s, transform 1s;
}
.fade-in.done {
  opacity: 1;
  transform: translateY(0);
}

.zoom {
    position: relative;
    opacity: 0;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
	transition: opacity 0.5s 400ms, transform 0.5s 400ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
.mv .zoom {
	transition: opacity 0.5s 1500ms, transform 0.5s 1500ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
.zoom.done {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}


/*---------------------
　TITLE
-----------------------*/
.secTitBox {
	text-align: center;
	margin-bottom: 5rem;
}
.secTitBox .fuki {
	background: #dce2ee;
	position: relative;
	border-radius: 1rem;
	font-size: 3rem;
	line-height: 1.8;
	font-weight: 700;
	margin: 0 auto 3.5rem;
	padding: 0.8rem 4rem;
	letter-spacing: 0.025em;
	display: table;
}
.secTitBox .fuki:before {
	content: "";
	background: url("img/fuki_sectit.png") no-repeat;
	background-size: 100%;
	width: 1.6rem;
	height: 1.2rem;
	position: absolute;
	top: 50%;
	left: -1.6rem;
	transform: translateY(-50%);
}
.secTitBox .fuki:after {
	content: "";
	background: url("img/sum_ill.png") no-repeat;
	background-size: 100%;
	width: 12.2rem;
	height: 11.7rem;
	position: absolute;
	top: 0;
	left: -13.6rem;
}
.secTitBox .fuki.ill_right:before {
	left: auto;
	right: -1.6rem;
	transform: scale(-1, 1) translateY(-50%);
}
.secTitBox .fuki.ill_right:after {
	content: "";
	background: url("img/ill_sectit.png") no-repeat;
	background-size: 100%;
	width: 9.4rem;
	height: 10.5rem;
	position: absolute;
	top: -1rem;
	left: auto;
	right: -12rem;
}
.secTitBox .secTit,
.secTitBox .subCatch {
	font-size: 3rem;
	line-height: 1.8;
	letter-spacing: 0.025em;
	font-weight: 700;
}
.secTitBox .secTit .big {
	line-height: 1.5;
	font-size: 5rem;
	letter-spacing: 0.05em;
}
.secTitBox .secTit a {
	text-decoration: none;
	background: url("img/arr_ccl_blue_right.png") no-repeat right center;
	background-size: 2.8rem auto;
	padding: 0 4rem;
	display: table;
    margin: 0 auto;
}
.lead {
	max-width: 80rem;
	margin: 0 auto 5rem;
	letter-spacing: 0.025em;
}




/*---------------------
　共通
-----------------------*/
footer {
	margin-top: 0;
}


/*---------------------
　MV
-----------------------*/
.home .mv {
	background: url("img/mv_home_bg.jpg") no-repeat top 3.2rem center;
	background-size: cover;
	display: flex;
    flex-direction: column;
	/*min-height: 78rem;*/
    position: sticky;
    top: 0;
    z-index: 0;
	width: 100%;
}
.home .mv .siteNameBox {
	padding: 0 2rem;
	background: #074ed1;
}
.home .mv .mvInr {
	padding: 6% 2rem 10%;
	flex-grow: 1;
	overflow: hidden;
}
.home .mv .wi1200 {
	position: relative;
}
.home .mv .wi1200:before {
	content: "";
	background: url("img/mv_ccl.png") no-repeat;
	background-size: 100%;
	width: min(83.3vw,100rem);
	height: min(83.3vw,100rem);
	position: absolute;
	top: 50%;
	left: min(46.2vw,55.5rem);
	z-index: -1;
	transform: translateY(-50%);
}
.home .mv .ill {
	width: min(36.6vw,44rem);
	position: absolute;
	top: 50%;
	left: min(70vw,84rem);
	transform: translateY(-50%);
}
/* MVイラストの done を最優先で反映（SPでも確実に表示） */
.home .mv .ill .zoom.zoom--mv.done {
	opacity: 1;
	transform: scale(1);
}
.home .mv .logo {
	overflow: hidden;
	width: min(25.8vw,31rem);
	margin-bottom: 9rem;
}
.home .mv .mainTit {
	overflow: hidden;
	font-size: min(4vw,4.8rem);
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.025em;
}
.home .mv .mainTit .big {
	font-size: min(4.83vw,5.8rem);
}
.home .mv .mainTit .marker {
	background:linear-gradient(transparent 80%, #fbd920 80%);
}
.home .mv .btmBar {
	background: #5287f3;
	color: #fff;
	font-size: 1.3rem;
	text-align: center;
	line-height: 1.6;
	padding: 0.8rem 1rem 1rem;
}

.anim {
	overflow: hidden;
	display: block;
    height: auto;
	position: relative;
}
.anim .animTxt {
	overflow: hidden;
	width: 100%;
    height: auto;
    display: block;
	transform: translateY(100%);
}
.anim .animTxt.ready {
    transform: translateY(0);
    transition: transform 1.5s cubic-bezier(.19,1,.22,1) 0s;
}
.mv .anim,
.mv .anim .animTxt{
	overflow: visible;
}


/*---------------------
　INTRO
-----------------------*/
.intro {
	background: url("img/intro_bg_cloud.png") no-repeat top 3rem center, url("img/intro_bg_grad.jpg") repeat-x bottom center;
	background-size: 100% auto;
	background-color: #fff;
	padding: 12rem 0 9rem;
}
.intro .wi1200 {
	position: relative;
}
.intro .wi1200:before {
	content: "";
	background: url("img/intro_deco01.png") no-repeat;
	background-size: 100%;
	width: 22rem;
	height: 27.5rem;
	position: absolute;
	top: -2rem;
	left: -9rem;
}
.intro .wi1200:after {
	content: "";
	background: url("img/intro_deco02.png") no-repeat;
	background-size: 100%;
	width: 25.9rem;
	height: 24.6rem;
	position: absolute;
	top: -1rem;
	right: -11rem;
}
.intro .introLead {
	text-align: center;
	margin-bottom: 12rem;
}
.intro .catchTxt {
	font-size: 3rem;
    line-height: 1.6;
    letter-spacing: 0.025em;
    font-weight: 700;
	margin-bottom: 4rem;
}
.intro .introLead p {
	margin: 0;
	font-size: 1.8rem;
	line-height: 2.3;
}
.contents .intro .tocBox {
	margin-bottom: 13rem;
}



/*---------------------
　SEC01
-----------------------*/
.sec01 {
	padding: 14rem 0;
}
.sec01 .compareArea {
	position: relative;
	margin-top: 10rem;
}
.sec01 .compareArea:before {
	content: "";
	background: #d4e3ff;
	border-radius: 2rem 0 0 2rem;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.sec01 .compareArea:after {
	content: "";
	background: #fff;
	border-radius: 2rem 0 0 0;
	position: absolute;
	top: -2.5rem;
	left: calc(50% - 11rem);
	width: 100%;
	height: calc(100% + 2.5rem);
	box-shadow: 0 0 10px rgba(220,222,225,0.8);
}
.sec01 .twoColBox {
	display: flex;
	max-width: 120rem;
	margin: 0 auto;
}
.sec01 .compareBox {
	background: #d4e3ff;
	width: 49rem;
	padding: 0 0 3rem;
	position: relative;
}
.sec01 .twoColBox:last-child .compareBox {
	padding-bottom: 9rem;
}
.sec01 .compareBox.future {
	background: #fff;
	padding: 0 0 3rem 7rem;
	width: auto;
}
.sec01 .compareBox.future.first {
	background: #fff url("img/sec01_deco_future.png") no-repeat right 3rem top 0rem;
	background-size: 38.2rem auto;
	z-index: 1;
}
.sec01 .compareTit {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.025em;
	display: flex;
    align-items: center;
	gap: 5px;
	position: relative;
	margin-bottom: 1rem;
	z-index: 1;
}
.sec01 .first .compareTit {
	font-size: 2.8rem;
	gap: 5px;
	min-height: 8rem;
	margin-top: 8rem;
	margin-bottom: 9rem;
}
.sec01 .first .compareTit:before {
	content: "";
	background: url("img/sec01_ill_now.png") no-repeat;
	background-size: 100%;
	width: 147px;
	height: 179px;
	position: absolute;
	left: 22rem;
}
.sec01 .compareTit:before {
	transform: translateY(-50%) translateY(30px) scale(0.5);
	opacity: 0;
	transition: opacity 0.5s 500ms, transform 0.5s 500ms cubic-bezier(0.34, 1.56, 0.64, 1);
	/*opacity: 0;
    transition: opacity 1s, transform 1s;*/
}
.sec01 .compareTit span {
	background: #001741;
	width: 5.2rem;
	height: 5.2rem;
	border-radius: 50%;
	color: #fff;
	text-align: center;
	display: flex;
    align-items: center;
	justify-content: center;
}
.sec01 .first .compareTit span {
	width: 8rem;
	height: 8rem;
}
.sec01 .future .compareTit {
	font-size: 1.8rem;
	margin-bottom: 1rem;
}
.sec01 .future.first .compareTit {
	font-size: 3.4rem;
	margin-bottom: 8rem;
	margin-top: 5rem;
}
.sec01 .future.first .compareTit::before {
  content: "";
  position: absolute;
  background: url(img/sec01_ill_future.png) no-repeat;
  background-size: 100%;
  width: 161px;
  height: 160px;
  top: -1px;
  left: 37rem;
}
.sec01 .compareTit.done::before {
  opacity: 1;
  transform: scale(1);
}
/*.sec01 .compareTit.done::before {
  opacity: 1;
  transform: translateY(-50%) translateY(0);
}*/
.sec01 .future .compareTit span {
	font-size: 1.8rem;
	background: #074ed1;
	width: 5.2rem;
	height: 5.2rem;
}
.sec01 .future.first .compareTit span {
	font-size: 4rem;
	width: 12rem;
	height: 12rem;
}
.sec01 .boxWrap {
	width: 42rem;
	position: relative;
}
.sec01 .future .boxWrap {
	width: 64rem;
}
.sec01 .ribbon {
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.025em;
	background: url("img/sec01_box_arrow.png") no-repeat;
	background-size: 100%;
	width: 17rem;
	height: 10.5rem;
	display: flex;
	align-items: center;
	padding: 0 0 0 1.5rem;
	position: absolute;
	top: 14rem;
	right: -16rem;
	z-index: 2;
}
.sec01 .ribbon span {
	font-size: 2.2rem;
    background:linear-gradient(transparent 70%, #fff 70%);
}
.sec01 .box {
	border-radius: 2rem;
	background: #fff;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.sec01 .future .box {
	background: #f1f5ff;
}
.sec01 .boxTit {
	background: #001741;
	padding: 1.5rem 3rem 2rem;
	min-height: 11rem;
	display: flex;
	align-items: center;
}
.sec01 .future .boxTit {
	background: #074ed1;
	padding-top: 3rem;
}
.sec01 .boxTit .tit {
	font-size: 2.4rem;
	color: #fff;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.025em;
	position: relative;
	display: inline-block;
	padding: 0 5rem 0rem 0;
}
.sec01 .boxTit .tit .bb {
	font-size: 100%;
}
.sec01 .future .boxTit .tit .bb {
	font-size: 3rem;
	border-bottom: none;
	background: linear-gradient(transparent 95%, #fbd920 95%);
}
.sec01 .future .boxTit .bikkuri:after {
	content: "";
	background: url("img/sec01_icon_bikkuri.png") no-repeat;
	background-size: 100%;
	width: 32px;
	height: 43px;
	position: absolute;
	top: 0;
	right: 0;
}
.sec01 .box .txtBox {
	padding: 2rem 3rem 3rem;
}
.sec01 .box .txtBox p {
	margin: 0;
}
.sec01 .box .txtBox p + p {
	margin: 2rem 0;
}
.sec01 .box .txtBox .ill {
	float: right;
	margin: 0 0 0 4rem;
}


.sec01 .subArea {
	padding: 14rem 0 0;
}
.sec01 .subArea .hyou {
	margin: 0 auto 2rem;
	text-align: center;
	position: relative;
}
.sec01 .subArea .hyou:after {
	content: "";
	background: url("img/sec01_sub_arrow.png") no-repeat;
	background-size: 100%;
	width: 9.9rem;
	height: 3.2rem;
	position: absolute;
	bottom: -13rem;
	left: 50%;
	transform: translateX(-50%);
}
.contents .parts_sum {
    margin: 20rem auto 10rem;
	position: relative;
}
/*.contents .parts_sum:after {
	content: "";
	background: url("img/sec01_sub_arrow.png") no-repeat;
	background-size: 100%;
	width: 9.9rem;
	height: 3.2rem;
	position: absolute;
	top: -14rem;
	left: 50%;
	transform: translateX(-50%);
}*/
.contents .parts_sv_v2 {
    background: url(img/eng_sv.png) no-repeat top center, url(img/sv_bg.png) no-repeat bottom center;
    background-color: #001741;
    background-size: 37.5rem auto, 100% auto;
}
.sec01 .parts_sv_v2 {
	margin-bottom: 0;
}
.contents .parts_sv_v2 .topBox {
    width: auto;
    justify-content: center;
}
.contents .parts_sv_v2 .catch {
    font-size: 3.4rem;
    width: auto;
	text-align: center;
	margin-bottom: 2rem;
}
.contents .parts_sv_v2 p {
    text-align: center;
}
.contents .parts_sv_v2 .btns-flex {
    margin: 4rem auto 0;
}
.contents .parts_sv_v2 .btn-link a {
    background: url("img/arr_base_white_right.png") no-repeat right center;
    background-size: 1.6rem auto;
}


/*---------------------
　SEC02
-----------------------*/
.sec02 {
	padding: 0 0 10rem;
	background: #d4e3ff url("img/sec02_bg_wave.png") no-repeat top center;
	background-size: 100% auto;
}
.sec02 .tapTxt {
	text-align: center;
}
.sec02 .rowArea {
	margin-top: 6rem;
	position: relative;
}
.sec02 .rowArea:after {
	content: "";
	background: url(img/sec02_sub_arrow.png) no-repeat;
    background-size: 100%;
	width: 9.9rem;
	height: 3.2rem;
	position: absolute;
	bottom: -10rem;
	left: 50%;
	transform: translateX(-50%);
}
.sec02 .rowBox {
	background-color: #fff;
	border-radius: 2rem 2rem 0 0;
	padding: 3rem 5rem 5rem 5rem;
	min-height: 15rem;
	cursor: pointer;
	margin: -2rem 0 0;
	transition: all 0.6s ease;
}
.sec02 .rowBox:nth-child(2n) {
	background-color: #f0f5ff;
}
.sec02 .rowBox.active {
	background: linear-gradient(180deg,rgba(2, 82, 229, 1) 0%, rgba(0, 191, 250, 1) 100%);
	padding-bottom: 6rem;
}
.sec02 .rowBox .rowHead {
	position: relative;
	padding: 0 0 0 10rem;
}
.sec02 .rowBox .rowHead:before {
	content: "";
	width: 7.5rem;
	height: 7.5rem;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 0rem;
	transform: translateY(-50%);
}
.sec02 .rowBox.no01 .rowHead:before {
	background: #fff url("img/sec02_icon01.png") no-repeat center;
}
.sec02 .rowBox.no02 .rowHead:before {
	background: #f0f5ff url("img/sec02_icon02.png") no-repeat center;
}
.sec02 .rowBox.no03 .rowHead:before {
	background: #fff url("img/sec02_icon03.png") no-repeat center;
}
.sec02 .rowBox.no04 .rowHead:before {
	background: #f0f5ff url("img/sec02_icon04.png") no-repeat center;
}
.sec02 .rowBox.no05 .rowHead:before {
	background: #fff url("img/sec02_icon05.png") no-repeat center;
}
.sec02 .rowBox.no06 .rowHead:before {
	background: #f0f5ff url("img/sec02_icon06.png") no-repeat center;
}
.sec02 .rowBox.active .rowHead:before {
	background-color: #fff;
}
.sec02 .rowBox .rowHead:after {
	content: "";
	background: url("img/icon_plus_blue.png") no-repeat center;
	background-size: 100%;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 0rem;
	transform: translateY(-50%);
}
.sec02 .rowBox.active .rowHead:after {
	background: url("img/icon_minus.png") no-repeat center;
	background-size: 100%;
}
.sec02 .rowBox .tit {
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.025em;
	margin-bottom: 1rem;
	transition: all 0.3s ease;
}
.sec02 .rowBox.active .tit {
	color: #fff;
}
.sec02 .rowBox .list {
	margin: 0;
	padding: 0;
	display: flex;
	gap: 3.5rem;
}
.sec02 .rowBox .list li {
	margin: 0;
	padding: 0 0 0 2.3rem;
	background: none;
	position: relative;
	font-weight: 700;
	letter-spacing: 0.025em;
	transition: all 0.3s ease;
}
.sec02 .rowBox.active .list li {
	font-size: 2rem;
	color: #fff;
	padding: 0 0 0 3rem;
}
.sec02 .rowBox .list li:before {
	content: "";
	width: 16px;
	height: 16px;
	background: #074ed1;
	border-radius: 50%;
	position: absolute;
	top: 5px;
	left: 0;
}
.sec02 .rowBox.active .list li:before {
	background: url("img/icon_check_wh.png") no-repeat;
	background-size: 100%;
	width: 2.4rem;
	height: 2.4rem;
	top: 4px;
}
.sec02 .rowBox .hiddenBox {
	max-height: 0;
    overflow: hidden;
    transition: max-height 0.6s ease;
}
.sec02 .rowBox.active .hiddenBox {
	max-height: 500px;
}
.sec02 .rowBox .whiteBox {
	background: #fff;
	border-radius: 1rem;
	margin: 7rem 0 2rem;
	padding: 5rem;
	position: relative;
}
.sec02 .rowBox .whiteBox .label {
	background: #001741;
	border-radius: 2.5rem;
	text-align: center;
	color: #fbd920;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.025em;
	display: table;
	margin: 0 auto;
	padding: 6px 40px;
	position: absolute;
	top: -2.5rem;
	left: 50%;
	transform: translateX(-50%);
	min-width: 68rem;
}
.sec02 .rowBox .whiteBox .flexBox {
	
}
.sec02 .rowBox .whiteBox .ill {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	display: flex;
	left: 5rem;
	align-items: center;
}
.sec02 .rowBox .whiteBox .catchTxt {
	font-size: 2.8rem;
	letter-spacing: 0.025em;
	margin: 0 0 1rem;
	width: 73rem;
	float: right;
}
.sec02 .rowBox .whiteBox .txtBox {
	width: 73rem;
	float: right;
}
.sec02 .rowBox .whiteBox .txtBox p {
	margin: 0;
}
.sec02 .rowBox .whiteBox .txtBox p + p {
	margin: 2rem 0;
}
.sec02 .rowBox .btn-link {
	margin: 0;
}
.sec02 .rowBox .btn-link a {
	color: #fff;
	background: url("img/arr_base_white_right.png") no-repeat right center;
    background-size: 1.6rem auto;
}
.contents .sec02 .parts_sum {
    background: #fff;
}
.sec02 .parts_sv_v2 {
	margin-bottom: 0;
}



/*---------------------
　SEC03
-----------------------*/
.sec03 {
	padding: 13rem 0 20rem;
	background: url("img/sec03_bg.png") no-repeat top center;
	background-size: 100% auto;
	position: relative;
}
.sec03:after {
    content: "";
    background: url(img/sec01_sub_arrow.png) no-repeat;
    background-size: 100%;
    width: 9.9rem;
    height: 3.2rem;
    position: absolute;
    bottom: 8rem;
    left: 50%;
    transform: translateX(-50%);
}
.sec03 .caseBox {
	margin-bottom: 8rem;
}
.sec03 .caseBox .topBox {
	background: #001741;
	border-radius: 2rem 0 0 0;
	position: relative;
	padding: 9.5rem 0 0 10rem;
	min-height: 18rem;
}
.sec03 .caseBox .topBox:before {
	background: #001741;
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: -100%;
}
.sec03 .caseBox .topBox:after {
	content: "";
	background: url("img/eng_case_study01.png") no-repeat;
	background-size: 100%;
	width: 48.1rem;
	height: 5rem;
	position: absolute;
	top: 3rem;
	left: 10rem;
}
.sec03 .caseBox:nth-child(2) .topBox:after {
	background: url("img/eng_case_study02.png") no-repeat;
	background-size: 100%;
}
.sec03 .caseBox:nth-child(3) .topBox:after {
	background: url("img/eng_case_study03.png") no-repeat;
	background-size: 100%;
}
.sec03 .caseBox .topBox .subTit a {
	color: #fff;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.05em;
	text-decoration: none;
	background: url("img/arr_ccl_white_right.png") no-repeat right center;
    background-size: 2.8rem auto;
	padding: 0 4rem 0 0;
}
.sec03 .caseBox .contBox {
	background: linear-gradient(180deg,rgba(241, 245, 255, 1) 0%, rgba(198, 216, 251, 1) 100%);
	border-radius: 0 0 0 2rem;
	position: relative;
	padding: 5rem 0 10rem 10rem;
}
.sec03 .caseBox .contBox:before {
	content: "";
	background: linear-gradient(180deg,rgba(241, 245, 255, 1) 0%, rgba(198, 216, 251, 1) 100%);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: -100%;
}
.sec03 .caseBox .flexBox {
	display: flex;
	flex-direction: row-reverse;
	gap: 4rem;
	margin-bottom: 8rem;
}
.sec03 .caseBox .flexBox .picBox {
	text-align: center;
}
.sec03 .caseBox .flexBox .picBox img {
	border-radius: 1rem;
}
.sec03 .caseBox .flexBox .comBox {
	flex: 1;
}
.sec03 .caseBox .flexBox .comName {
	color: #074ed1;
	font-weight: 700;
	line-height: 1.6;
	position: relative;
	font-size: 3.2rem;
	letter-spacing: 0.025em;
	border-bottom: solid 3px #ccc;
	padding-bottom: 1.5rem;
	margin-bottom: 2rem;
}
.sec03 .caseBox .flexBox .comName:before {
	content: "";
	width: 10rem;
	height: 3px;
	background: #002261;
	position: absolute;
	bottom: -3px;
	left: 0;
}
.sec03 .caseBox .flexBox .comBox p {
	font-weight: 700;
	letter-spacing: 0.025em;
}
.sec03 .caseBox .flexBox .nameBox {
	display: flex;
	align-items: center;
	gap: 3rem;
	margin-top: 3rem;
}
.sec03 .caseBox .flexBox .name {
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.025em;
}
.sec03 .caseBox .flexBox .label {
	background: #fff;
	border-radius: 1rem;
	color: #0252e5;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	padding: 5px 30px;
}
.sec03 .kadaiBox {
	max-width: 100rem;
	background: #fff;
	border-radius: 2rem;
	padding: 5rem;
	position: relative;
	margin-bottom: 9rem;
}
.sec03 .kadaiBox:before {
	content: "";
	background: url("img/icon_bikkuri.png") no-repeat;
	background-size: 100%;
	width: 10rem;
	height: 15.2rem;
	position: absolute;
	top: -11rem;
	left: -3.5rem;
}
.sec03 .flowArea .label {
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.5;
	border-radius: 2.3rem;
	text-align: center;
	min-width: 22rem;
	height: 4.6rem;
	display: inline-block;
	padding: 6px 5px 0;
	position: absolute;
	top: -2.3rem;
	left: 13rem;
}
.sec03 .kadaiBox .label {
	background: #001741;
	color: #fff;
}
.sec03 .kadaiBox .tit {
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.6;
	color: #0252e5;
	margin-bottom: 2rem;
	letter-spacing: 0.025em;
	position: relative;
}
/*.sec03 .kadaiBox .tit:before {
	content: "";
	background: url("img/icon_bikkuri.png") no-repeat;
	background-size: 100%;
	width: 10rem;
	height: 15.2rem;
	position: absolute;
	top: 0;
	left: 0;
}*/
.sec03 .kadaiBox .list {
	padding: 0;
	margin: 0;
}
.sec03 .kadaiBox .list li {
	padding: 0 0 0 3rem;
    background: url("img/icon_check.png") 0 4px no-repeat;
    background-size: 2.4rem auto;
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 1.3rem;
}
.sec03 .kadaiBox .list li:last-child {
	margin-bottom: 0;
}
.sec03 .flowArea {
	position: relative;
}
.sec03 .flowArea:before {
	content: "";
	background: #9fbef8;
	width: 5rem;
	height: 100%;
	position: absolute;
	top: 0;
	left: 21.5rem;
}
.sec03 .flowBox {
	position: relative;
	margin-bottom: 9rem;
}
.sec03 .flowBox:last-child {
	margin-bottom: 0;
}
.sec03 .flowBox_sp:before {
	content: "";
	background: url("img/eng_sp.png") no-repeat;
	background-size: 100%;
	width: 37rem;
	height: 4.7rem;
	position: absolute;
	top: -3.5rem;
	left: 39rem;
	z-index: 1;
}
.sec03 .flowBox_ra:before {
	content: "";
	background: url("img/eng_ra.png") no-repeat;
	background-size: 100%;
	width: 35.3rem;
	height: 3.6rem;
	position: absolute;
	top: -3.5rem;
	left: 39rem;
	z-index: 1;
}
.sec03 .flowBox .label {
	background: #fbd920;
}
.sec03 .flowBox .titBox {
	background: #074ed1;
	min-height: 11rem;
	position: relative;
	display: flex;
	align-items: center;
	border-radius: 2rem 0 0 0;
	padding: 4rem 30rem 4rem 5rem;
}
.sec03 .flowBox .titBox:before {
	content: "";
	background: #074ed1;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: -100%;
}
.sec03 .flowBox .titBox .tit {
	color: #fff;
	font-size: 2.6rem;
	font-weight: 700;
	letter-spacing: 0.025em;
}
.sec03 .flowBox .txtBody {
	background: #fff;
	border-radius: 0 0 0 2rem;
	padding: 3rem 0 3rem 5rem;
	position: relative;
}
.sec03 .flowBox .txtBody:before {
	content: "";
	background: #fff;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: -100%;
}
.sec03 .flowBox .txtBody p {
	width: 70rem;
	margin: 0;
}
.sec03 .flowBox .txtBody p + p {
	margin: 2rem 0;
}
.sec03 .flowBox .txtBody .ill {
	position: absolute;
	top: -5.5rem;
	right: 5rem;
}
.sec03 .flowBox_ra .txtBody .ill {
	top: -1.5rem;
	right: 3.5rem;
}
.sec03 .flowBox_ra .caption {
	margin: 0.5rem 0 0 27rem;
}
.contents .sec03 .parts_sv {
    margin-bottom: 0;
}
.contents .sec03 .parts_sum {
    margin: 9rem 0 0;
    position: relative;
    background: #ffffff;
}
.sec03 .accBtn {
	background: #93a2c1 url("img/icon_plus.png") no-repeat right 1.5rem center;
	background-size: 3rem auto;
	width: 30rem;
	height: 6rem;
	color: #fff;
	text-align: center;
	font-weight: 700;
	border-radius: 3rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 6rem auto 0;
	cursor: pointer;
	transition: all 0.4s;
}
.sec03 .accBtn:hover {
	opacity: 0.7;
}
.sec03 .accBtn.open {
	background: #93a2c1 url("img/icon_minus.png") no-repeat right 1.5rem center;
	background-size: 3rem auto;
}


/*---------------------
　SEC04
-----------------------*/
.sec04 {
	padding: 9rem 0 10rem;
	background: url(img/sec04_bg.png) no-repeat top center, linear-gradient(180deg, #074ed1 0%, rgba(0, 191, 250, 1) 100%);
	background-size: 100% auto, auto;
}
.sec04 .secTit a {
	background: url("img/arr_ccl_white_right.png") no-repeat right center;
    background-size: 2.8rem auto;
	color: #fff;
}
.sec04 .lead {
	text-align: center;
	color: #fff;
	margin-bottom: 10rem;
}
.sec04 .cclWrap {
	display: flex;
	justify-content: center;
	gap: 2.5rem;
	margin-bottom: 3rem;
}
.sec04 .cclBox {
	width: 31.4rem;
	position: relative;
}
.sec04 .cclBox .cclInr {
	background: #fff;
	width: 31.4rem;
	height: 31.4rem;
	border-radius: 50%;
	overflow: hidden;
	padding: 5.5rem 0 0;
	display: flex;
    flex-direction: column;
	box-shadow: 0px 0px 20px rgba(0,23,65,0.7);
}
.sec04 .cclBox .icon {
	position: absolute;
	top: -5rem;
	left: 50%;
	transform: translateX(-50%);
}
.sec04 .cclBox .label {
	background: #001741;
	font-size: 2.4rem;
	color: #fff;
	text-align: center;
	font-weight: 700;
	line-height: 1.6;
	padding: 1rem 0;
	letter-spacing: 0.04em;
}
.sec04 .cclBox .txt {
	font-size: 3rem;
	text-align: center;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.025em;
    flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 0 3rem;
}
.sec04 .cclBox .txt .num {
	font-size: 5.8rem;
	color: #f36262;
}
.sec04 .cclBox .txt .kome {
	font-size: 1.6rem;
}
.sec04 .cclArea .notice {
	font-size: 1rem;
	color: #fff;
	max-width: 80rem;
	margin: 0 auto;
	line-height: 2.2;
	text-align: center;
}
.sec04 .cclArea .notice a {
	color: #fff;
}
.sec04 .fileArea {
	margin-top: 14rem;
}
.sec04 .fileBox {
	background: #fff;
	position: relative;
	border-radius: 0 0 0 2rem;
	padding: 0 0 7rem 5rem;
	margin-bottom: 13.5rem;
}
.sec04 .fileBox:nth-child(2n) {
	border-radius: 0 2rem 2rem 0;
	padding: 0 5rem 7rem 0;
}
.sec04 .fileBox:last-child {
	margin-bottom: 0;
}
.sec04 .fileBox:before {
	content: "";
	background: url("img/sec04_head.png") no-repeat;
	background-size: 100%;
	width: 104.7rem;
	height: 6rem;
	position: absolute;
	top: -6rem;
	left: 0;
}
.sec04 .fileBox:nth-child(2n):before {
	background: url("img/sec04_head02.png") no-repeat;
	background-size: 100%;
	width: 104.7rem;
	height: 6rem;
	position: absolute;
	top: -6rem;
	left: 0;
}
.sec04 .fileBox:after {
	content: "";
	background: #fff;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: -100%;
}
.sec04 .fileBox:nth-child(2n):after {
	top: -6rem;
	right: auto;
	left: -100%;
	height: calc(100% + 6rem);
}
.sec04 .fileBox .subTit {
	color: #ef6262;
	font-size: 3.6rem;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 5rem;
	padding: 0 0 0 10rem;
	letter-spacing: 0.025em;
	position: relative;
}
.sec04 .fileBox .subTit:before {
	content: "";
	background: url("img/sec04_num01.png") no-repeat;
	background-size: 100%;
	width: 3.6rem;
	height: 10.6rem;
	position: absolute;
	top: -2.5rem;
	left: 0;
}
.sec04 .fileBox:nth-child(2) .subTit:before {
	background: url("img/sec04_num02.png") no-repeat;
	background-size: 100%;
	width: 5.7rem;
	height: 10.8rem;
}
.sec04 .fileBox:nth-child(3) .subTit:before {
	background: url("img/sec04_num03.png") no-repeat;
	background-size: 100%;
	width: 5.8rem;
	height: 11rem;
}
.sec04 .fileBox .flexBox {
	display: flex;
	gap: 4rem;
	justify-content: center;
}
.sec04 .fileBox .leftBox .caption {
	text-align: center;
	margin-top: 2rem;
}
.sec04 .fileBox .rightBox {
	width: 55rem;
}
.sec04 .fileBox .rightBox p {
	margin: 0;
}
.sec04 .fileBox .pointBox {
	background: #fcf0a7;
	border-radius: 1rem;
	padding: 4.5rem 11rem 3rem 3rem;
	position: relative;
	margin: 6rem 0 0;
}
.sec04 .fileBox .pointBox:before {
	content: "";
	background: url("img/sec04_ill.png") no-repeat;
	background-size: 100%;
	width: 16.2rem;
	height: 16.7rem;
	position: absolute;
	bottom: -5.2rem;
	right: -5rem;
	z-index: 1;
}
.sec04 .fileBox .pointBox .label {
	background: #001741;
	border-radius: 2.3rem;
	color: #fff;
	text-align: center;
	font-weight: 700;
	line-height: 1.4;
	width: 19rem;
	padding: 12px;
	position: absolute;
	top: -2.3rem;
	left: 3rem;
}
.sec04 .fileBox .pointBox ul {
	margin: 0;
	padding: 0;
}
.sec04 .fileBox .pointBox ul li {
	padding-bottom: 1rem;
}
.sec04 .modalArea {
	margin-bottom: 7rem;
}
.sec04 .modalArea .click {
	font-size: 1.4rem;
	margin-bottom: 1rem;
}
.sec04 .modalArea .modalBox {
	background: #f1f5ff url("img/sec04_deco_modal.png") no-repeat right 5rem center;
	background-size: auto 25rem;
	border-radius: 2rem;
	padding: 3rem;
}
.sec04 .modalBox .list {
	display: flex;
	flex-wrap: wrap;
	gap: 1.2rem;
}
.sec04 .modalBox .js-modal {
	background: #fff url("img/icon_hatena.png") no-repeat right 1rem center;
	background-size: 2.4rem auto;
	border-radius: 2rem;
	cursor: pointer;
	text-align: center;
	font-size: 1.1rem;
	line-height: 1.5;
	padding: 10px 50px 10px 20px;
	transition: all 0.4s;
}
.sec04 .modalBox .js-modal:hover {
	opacity: 0.6;
}
.sec04 .moreBox {
	background: #fff;
	border-radius: 2rem;
	max-width: 100rem;
	margin: 0 auto;
	overflow: hidden;
}
.sec04 .moreBox .topBox {
	background: #d4e3ff url("img/eng_moreinfo.png") no-repeat top right 4rem;
	background-size: 29.6rem auto;
	padding: 3rem 4rem 3.5rem;
	position: relative;
}
.sec04 .moreBox .topBox:before {
	content: "";
	background: url(img/sum_ill.png) no-repeat;
	background-size: 100%;
	width: 19rem;
	height: 29rem;
	position: absolute;
	top: 6.5rem;
	left: 5rem;
}
.sec04 .moreBox .topBox .label {
	background: #fff;
	border-radius: 2rem;
	text-align: center;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.025em;
	margin: 0 auto 1.5rem;
	width: 11rem;
	height: 4rem;
	display: flex;
	align-items: center;
	justify-content: center;
}
.sec04 .moreBox .topBox .subTit {
	font-size: 2.8rem;
	text-align: center;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.05em;
}
.sec04 .moreBox .topBox .subTit a {
	text-decoration: none;
	background: url(img/arr_ccl_blue_right.png) no-repeat right center;
    background-size: 2.8rem auto;
	padding: 0 5rem;
	display: inline-block;
}
.sec04 .moreBox .topBox .subTit span {
	font-size: 4rem;
}
.sec04 .moreBox .txtBody {
	padding: 2rem 4rem 3rem;
}


/* ボタン */
.close-btn {
    position: absolute;
    top: -1rem;
    right: -1rem;
    background: transparent;
    border: none;
    cursor: pointer;
    transition: transform 0.3s ease;
	width: 5rem;
}

/* モーダル背景 */
.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 100;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

/* モーダル表示状態 */
.modal.active {
    display: flex;
    opacity: 1;
    pointer-events: auto;
}

/* モーダルの中身*/
.modal-content {
    background: #fff;
    padding: 3.5rem 5rem;
    border-radius: 2rem;
    width: 80vw;
    max-width: 110rem;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    position: relative;
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.3s ease;
}

/* アニメーション*/
.modal.active .modal-content {
    animation: fadeInScale 0.4s ease forwards;
}

@keyframes fadeInScale {
    0% {
        opacity: 0;
        transform: scale(0.8);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}
.modal .catchTxt {
	color: #0252e5;
	font-weight: 700;
	font-size: 2.5rem;
	letter-spacing: 0.025em;
	line-height: 1.6;
	margin-bottom: 2rem;
}


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

/*---------------------
　TITLE
-----------------------*/
.secTitBox {
	text-align: center;
	margin-bottom: 2rem;
}
.secTitBox .fuki {
	position: relative;
	border-radius: 1rem;
	font-size: 1.7rem;
	line-height: 1.4;
	margin: 0 0 2rem 7rem;
	padding: 0.8rem 1rem 0.8rem 1.3rem;
	display: inline-block;
	text-align: left;
	width: auto;
	max-width: 24rem;
}
.secTitBox .fuki.ill_right {
	margin: 0 8rem 2rem 0;
}
.secTitBox .fuki:before {
	width: 1.6rem;
	height: 1.2rem;
	position: absolute;
	top: 50%;
	left: -1.6rem;
	transform: translateY(-50%);
}
.secTitBox .fuki:after {
	width: 6.1rem;
	height: 5.8rem;
	position: absolute;
	top: 1rem;
	left: -8rem;
}
.secTitBox .fuki.ill_right:before {
	left: auto;
	right: -1.6rem;
}
.secTitBox .fuki.ill_right:after {
	width: 6rem;
	height: 6.7rem;
	position: absolute;
	top: 0rem;
	right: -8rem;
}
.secTitBox .secTit,
.secTitBox .subCatch {
	font-size: 1.7rem;
	line-height: 1.7;
}
.secTitBox .secTit .big {
	line-height: 1.4;
	font-size: 2.5rem;
}
.secTitBox .secTit a {
	background: url("img/arr_ccl_blue_right.png") no-repeat right center;
	background-size: 1.8rem auto;
	padding: 0 3rem;
	display: table;
    margin: 0 auto;
}
.lead {
	margin: 0 auto 3rem;
}




/*---------------------
　共通
-----------------------*/

/*---------------------
　MV
-----------------------*/
.home .mv {
	background: url("img/mv_home_bg_sp.jpg") no-repeat top 2.5rem center;
	background-size: cover;
	display: flex;
	flex-direction: column;
	min-height: inherit;
	position: relative;
}
.home .mv .siteNameBox {
	padding: 0 4% 0.5rem;
}
.home .mv .mvInr {
	padding: 2rem 4% 3rem;
}
.home .mv .wi1200 {
	position: relative;
}
.home .mv .wi1200:before {
	content: "";
	background: url("img/mv_ccl.png") no-repeat;
	background-size: 100%;
	width: 42rem;
	height: 42rem;
	position: absolute;
	top: -6rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
.home .mv .ill {
    width: 24rem;
    position: absolute;
    top: 25%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.home .mv .ill .zoom.zoom--mv.done {
	bottom: 3.2rem;
}
.home .mv .logo {
	width: 16rem;
	margin: 0 auto;
	margin-bottom: 17rem;
}
.home .mv .mainTit {
	font-size: 2rem;
	text-align: center;
	margin-bottom: 2rem;
}
.home .mv .mainTit .big {
	font-size: 2.3rem;
}
.home .mv .catchTxt {
	color: #074ed1;
	font-size: 1.8rem;
	line-height: 1.5;
	letter-spacing: 0.025em;
	font-weight: 700;
	margin-bottom: 2rem;
}
.home .mv .btmBar {
	font-size: 1.2rem;
	text-align: left;
	line-height: 1.6;
	padding: 0.8rem 4% 1.3rem;
}
.home .mv .txt_bold {
	font-weight: 700;
	color: #f36262;
}


/*---------------------
　INTRO
-----------------------*/
.intro {
	background: none;
	background-color: #fff;
	padding: 4rem 4% 0;
}
.intro .wi1200 {
	position: relative;
}
.intro .wi1200:before {
	content: none;
}
.intro .wi1200:after {
	content: none;
}
.contents .intro .tocBox {
	margin-top: 0;
	margin-bottom: 7rem;
}
.contents .parts_sv {
    width: 100%;
}
.contents .intro .parts_sv{
	margin-bottom: 0;
}

/*---------------------
　SEC01
-----------------------*/
.sec01 {
	padding: 7rem 4%;
}
.sec01 .tapTxt {
	text-align: center;
	font-size: 1.1rem;
	margin-bottom: 2rem;
	line-height: 1.6;
}
.sec01 .ancBox {
	margin-bottom: 4.5rem;
}
.sec01 .ancBox .btnList {
	display: flex;
	flex-wrap: wrap;
	grid-row-gap: 1.5rem;
	column-gap: 2rem;
}
.sec01 .ancBox .btnList .btn {
	width: calc(50% - 1rem);
}
.sec01 .ancBox .btnList .btn a {
	color: #fff;
	background: #074ed1 url("img/arr_ccl_white_down.png") no-repeat center right 1rem;
	background-size: 1.6rem auto;
	border-radius: 2rem;
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-decoration: none;
	display: block;
	padding: 0.5rem 1.5rem;
}
.sec01 .ancBox .btnList .btn a span {
	font-size: 1.7rem;
}
.sec01 .compareArea {
	position: relative;
	margin-top: 0;
}
.sec01 .compareArea:before {
	content: none;
}
.sec01 .compareArea:after {
	content: none;
	background: #fff;
	border-radius: 2rem 0 0 0;
	position: absolute;
	top: -2.5rem;
	left: calc(50% - 11rem);
	width: 100%;
	height: calc(100% + 2.5rem);
	box-shadow: 0 0 10px rgba(220,222,225,0.8);
}
.sec01 .twoColBox {
	display: flex;
	flex-direction: column;
	margin: 0 auto 6rem;
}
.sec01 .twoColBox:last-child {
	margin: 0 auto;
}
.sec01 .compareBox {
	background: #d4e3ff;
	width: 100%;
	padding: 0 1.5rem 3rem;
	border-radius: 1rem;
	position: relative;
}
.sec01 .compareBox:before {
	content: "";
    background: url(img/sec02_sub_arrow.png) no-repeat;
    background-size: 100%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 5rem;
    height: 1.6rem;
    bottom: -7px;
    z-index: 2;
}
.sec01 .twoColBox:last-child .compareBox {
	padding-bottom: 3rem;
}
.sec01 .twoColBox .compareBox:last-child:before {
	content: none;
}
.sec01 .compareBox.future {
	background: #fff url("img/sec01_deco_future.png") no-repeat right 3rem top -2rem;
	background-size: 19rem auto;
	padding: 0 1.5rem 3rem;
	width: calc(100% + 1rem);
    position: relative;
    left: -0.5rem;
	box-shadow: 0 0 10px rgba(220,222,225,0.8);
}
.sec01 .compareBox.future.first {
	background: #fff url("img/sec01_deco_future.png") no-repeat right 3rem top -2rem;
	background-size: 19rem auto;
	z-index: 1;
}
.sec01 .compareTit {
	font-size: 2.1rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.025em;
	display: flex;
    align-items: center;
	gap: 5px;
	position: relative;
	z-index: 1;
	min-height: 6rem;
	margin-top: 5rem;
	margin-bottom: 2rem;
}
.sec01 .first .compareTit {
	font-size: 2.1rem;
	gap: 5px;
	min-height: 6rem;
	margin-top: 5rem;
	margin-bottom: 2rem;
}
.sec01 .compareTit:before,
.sec01 .first .compareTit:before {
	content: "";
	background: url("img/sec01_ill_now.png") no-repeat;
	background-size: 100%;
	width: 79px;
	height: 107px;
	position: absolute;
	left: 19.5rem;
}
.sec01 .compareTit:before {
}
.sec01 .compareTit span {
	background: #001741;
	width: 6rem;
	height: 6rem;
	border-radius: 50%;
	color: #fff;
	text-align: center;
	display: flex;
    align-items: center;
	justify-content: center;
}
.sec01 .first .compareTit span {
	width: 6rem;
	height: 6rem;
}
.sec01 .future .compareTit {
	font-size: 2.1rem;
	margin-bottom: 2.5rem;
    margin-top: 3.5rem;
}
.sec01 .future.first .compareTit {
	font-size: 2.1rem;
	margin-bottom: 2.5rem;
    margin-top: 3.5rem;
}
.sec01 .future .compareTit:before, 
.sec01 .future.first .compareTit:before {
	content: "";
	background: url("img/sec01_ill_future.png") no-repeat;
	background-size: 100%;
	width: 84px;
	height: 82px;
	left: 20.5rem;
	top: -11px;
}
.sec01 .future .compareTit span {
	font-size: 2.1rem;
	background: #074ed1;
	width: 6rem;
	height: 6rem;
}
.sec01 .future.first .compareTit span {
	font-size: 2.1rem;
	width: 6rem;
	height: 6rem;
}
.sec01 .boxWrap {
	width: 100%;
	position: relative;
}
.sec01 .future .boxWrap {
	width: 100%;
}
.sec01 .ribbon {
	text-align: center;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	background: url("img/sec01_box_arrow_sp.png") no-repeat;
	background-size: 100%;
	width: 20.2rem;
	height: 5.4rem;
	justify-content: center;
	padding: 0 0 7px;
	top: -15rem;
	right: auto;
	left: 50%;
	transform: translate(-50%);
	z-index: 2;
}
.sec01 .ribbon span {
	font-size: 2rem;
	background: none;
	color: #074ed1;
}
.sec01 .box {
	border-radius: 1rem;
}
.sec01 .boxTit {
	padding: 1.2rem 2rem 1.8rem;
	min-height: inherit;
	display: block;
}
.sec01 .future .boxTit {
    padding-top: 1.7rem;
}
.sec01 .boxTit .tit {
	font-size: 1.8rem;
	display: inline-block;
	padding: 0;
}
.sec01 .future .boxTit .tit {
	font-size: 1.6rem;
}
.sec01 .future .boxTit .tit .bb {
	font-size: 1.9rem;
}
.sec01 .future .boxTit .bikkuri:after {
    width: 18px;
    height: 25px;
    display: inline-block;
    position: relative;
    top: 6px;
    right: -6px;
}
.sec01 .box .txtBox {
	padding: 2rem 2rem 2rem;
}
.sec01 .box .txtBox p + p {
	margin: 1.5rem 0;
}
.sec01 .box .txtBox .ill {
	float: right;
	margin: 0 0 1.5rem 1.5rem;
	width: 9rem;
}


.sec01 .subArea {
	padding: 6rem 0 0;
}
.sec01 .subArea .hyou {
	margin: 0 auto 2rem;
	text-align: center;
	width: 80%;
}
.sec01 .subArea .hyou:after {
	width: 5rem;
	height: 1.6rem;
	bottom: -12rem;
}
.contents .parts_sum {
    margin: 11rem auto 3rem;
}
/*.contents .parts_sum:after {
	width: 5rem;
	height: 1.6rem;
	top: -8rem;
}*/
.contents .parts_sv_v2 {
    background: url(img/eng_sv.png) no-repeat top center, url(img/sv_bg_sp.png) no-repeat bottom center;
    background-color: #001741;
    background-size: 18rem auto, 100% auto;
	margin: 4rem auto 4rem;
}
.sec01 .parts_sv_v2 {
	margin-bottom: 0;
}
.contents .parts_sv_v2 .topBox {
    width: auto;
    justify-content: center;
}
.contents .parts_sv_v2 .catch {
    font-size: 2.2rem;
    width: auto;
    text-align: center;
    margin-bottom: 2rem;
    line-height: 32px;
}
.contents .parts_sv_v2 p {
    text-align: center;
    line-height: 1.4;
}
.contents .parts_sv_v2 .btns-flex {
    margin: 2rem auto 0;
}
.contents .parts_sv_v2 .btn-link {
    width: auto;
}
.contents .parts_sv_v2 .btn-link a {
    background: url("img/arr_base_white_right.png") no-repeat right center;
    background-size: 1.2rem auto;
    text-decoration: underline;
    font-weight: 400;
    display: inherit;
    position: relative;
    color: #fff;
    padding: 0.2rem 2.5rem 0.2rem 0;
    line-height: 1.6;
    border-radius: 0;
    min-height: inherit;
    font-size: 1.5rem;
    text-align: right;
    box-shadow: none;
	
}


/*---------------------
　SEC02
-----------------------*/
.sec02 {
	padding: 0 0 1rem;
	background: #d4e3ff url("img/sec02_bg_wave.png") no-repeat top center;
	background-size: 100% auto;
}
.sec02 .secTitBox {
    padding: 0 4%;
}
.sec02 .lead {
    padding: 0 4%;
}
.sec02 .tapTxt {
    text-align: center;
    font-size: 1.3rem;
    margin-bottom: 2rem;
    line-height: 1.6;
}
.sec02 .rowArea {
	margin-top: 4rem;
}
.sec02 .rowArea:after {
	width: 5rem;
	height: 1.6rem;
	bottom: -4.5rem;
}
.sec02 .rowBox {
	border-radius: 1rem 1rem 0 0;
	padding: 2rem 4% 4rem;
	min-height: 15rem;
	margin: -2rem 0 0;
}
.sec02 .rowBox:nth-child(2n) {
	background-color: #f0f5ff;
}
.sec02 .rowBox.active {
	background: linear-gradient(180deg, #074ed1 0%, rgba(0, 191, 250, 1) 100%);
	padding-bottom: 5rem;
}
.sec02 .rowBox .rowHead {
	position: relative;
	padding: 0;
}
.sec02 .rowBox .rowHead:before {
	content: none;
	width: 3.7rem;
	height: 3.7rem;
	top: 50%;
	left: 0rem;
	transform: translateY(-50%);
}
.sec02 .rowBox.active .rowHead:before {
	background-color: #fff;
}
.sec02 .rowBox .rowHead:after {
	content: "";
	background: url("img/icon_plus_blue.png") no-repeat center;
	background-size: 100%;
	width: 2.7rem;
	height: 2.7rem;
	border-radius: 50%;
	position: absolute;
	top: 0.4rem;
	right: 0rem;
	transform: inherit;
}
.sec02 .rowBox.active .rowHead:after {
	background: url("img/icon_minus.png") no-repeat center;
	background-size: 100%;
}
.sec02 .rowBox .tit {
	font-size: 1.9rem;
	padding: 0 4rem 0 5rem;
	margin-bottom: 1.5rem;
	position: relative;
	line-height: 1.5;
}
.sec02 .rowBox .tit:before {
	content: "";
	width: 3.7rem;
	height: 3.7rem;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 0rem;
	transform: translateY(-50%);
}
.sec02 .rowBox:nth-child(1) .tit:before {
	background: #fff url("img/sec02_icon01.png") no-repeat center;
	background-size: 2.2rem auto;
}
.sec02 .rowBox:nth-child(2) .tit:before {
	background: #f0f5ff url("img/sec02_icon02.png") no-repeat center;
	background-size: 2.4rem auto;
}
.sec02 .rowBox:nth-child(3) .tit:before {
	background: #fff url("img/sec02_icon03.png") no-repeat center;
	background-size: 2.4rem auto;
}
.sec02 .rowBox:nth-child(4) .tit:before {
	background: #f0f5ff url("img/sec02_icon04.png") no-repeat center;
	background-size: 2.4rem auto;
}
.sec02 .rowBox:nth-child(5) .tit:before {
	background: #fff url("img/sec02_icon05.png") no-repeat center;
	background-size: 2.4rem auto;
}
.sec02 .rowBox:nth-child(6) .tit:before {
	background: #f0f5ff url("img/sec02_icon06.png") no-repeat center;
	background-size: 2.4rem auto;
}	
	
.sec02 .rowBox.active .tit {
	margin-bottom: 2rem;
}
.sec02 .rowBox .list {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.sec02 .rowBox .list li {
	padding: 0 0 0 1.8rem;
	font-size: 1.5rem;
}
.sec02 .rowBox.active .list li {
	font-size: 1.6rem;
	padding: 0 0 0 2.5rem;
}
.sec02 .rowBox .list li:before {
	width: 12px;
	height: 12px;
	top: 8px;
	left: 0;
}
.sec02 .rowBox.active .list li:before {
	width: 1.8rem;
	height: 1.8rem;
	top: 4px;
}
.sec02 .rowBox .hiddenBox {
}
.sec02 .rowBox.active .hiddenBox {
	max-height: 500px;
}
.sec02 .rowBox .whiteBox {
	border-radius: 1rem;
	margin: 6rem 0 2rem;
	padding: 6rem 2rem 3rem;
	position: relative;
}
.sec02 .rowBox .whiteBox .label {
	border-radius: 1rem;
	font-size: 1.7rem;
	display: table;
	margin: 0 auto;
	padding: 10px 1rem;
	position: absolute;
	top: -3.5rem;
	left: 50%;
	transform: translateX(-50%);
	min-width: inherit;
	width: 88%;
}
.sec02 .rowBox .whiteBox .flexBox {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1.5rem;
}
.sec02 .rowBox .whiteBox .ill {
	width: 11.4rem;
	position: static;
}
.sec02 .rowBox .whiteBox .catchTxt {
	font-size: 1.8rem;
	margin: 0;
	width: auto;
	float: none;
}
.sec02 .rowBox .whiteBox .txtBox {
	width: auto;
	float: none;
}
.sec02 .rowBox .whiteBox .txtBox p + p {
	margin: 1.5rem 0;
}
.sec02 .rowBox .btn-link {
	margin: 0;
	width: auto;
}
.sec02 .rowBox .btn-link a {
	background: url("img/arr_base_white_right.png") no-repeat right center;
    background-size: 1.2rem auto;
    text-decoration: underline;
    font-weight: 400;
    display: inherit;
    position: relative;
    color: #fff;
    padding: 0.2rem 2.5rem 0.2rem 0;
    line-height: 1.6;
    border-radius: 0;
    min-height: inherit;
    font-size: 1.5rem;
    text-align: right;
    box-shadow: none;
}
.contents .sec02 .parts_sum:after {
	top: -7rem;
}
.contents .sec02 .parts_sum {
    width: 92%;
}
.contents .sec02 .parts_sv_v2 {
    width: 92%;
}



/*---------------------
　SEC03
-----------------------*/
.sec03 {
	padding: 6rem 4% 10rem;
	background: url("img/sec03_bg_sp.png") no-repeat top center;
	background-size: 100% auto;
	position: relative;
}
.sec03:after {
    width: 5rem;
    height: 1.6rem;
    bottom: 4rem;
}
.sec03 .caseBox {
	margin-bottom: 4rem;
}
.sec03 .caseBox .topBox {
	border-radius: 1rem 0 0 0;
	position: relative;
	padding: 4.5rem 0 2rem 1.5rem;
	min-height: inherit;
}
.sec03 .caseBox .topBox:before {
	background: #001741;
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: -100%;
}
.sec03 .caseBox .topBox:after {
	width: 22.5rem;
	height: 2.3rem;
	position: absolute;
	top: 1.3rem;
	left: 1.5rem;
}
.sec03 .caseBox:nth-child(2) .topBox:after {
	background: url("img/eng_case_study02.png") no-repeat;
	background-size: 100%;
}
.sec03 .caseBox:nth-child(3) .topBox:after {
	background: url("img/eng_case_study03.png") no-repeat;
	background-size: 100%;
}
.sec03 .caseBox .topBox .subTit a {
	font-size: 1.8rem;
	background: url("img/arr_ccl_white_right.png") no-repeat right center;
    background-size: 1.7rem auto;
	padding: 0 3rem 0 0;
	display: block;
}
.sec03 .caseBox .contBox {
	background: linear-gradient(180deg,rgba(241, 245, 255, 1) 0%, rgba(198, 216, 251, 1) 100%);
	border-radius: 0 0 0 2rem;
	position: relative;
	padding: 2rem 0rem 2rem 1.5rem;
}
.sec03 .caseBox .contBox:before {
	content: "";
	background: linear-gradient(180deg,rgba(241, 245, 255, 1) 0%, rgba(198, 216, 251, 1) 100%);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: -100%;
}
.sec03 .caseBox .flexBox {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-bottom: 6rem;
}
.sec03 .caseBox .flexBox .picBox {
	text-align: center;
}
.sec03 .caseBox .flexBox .comBox {
	flex: 1;
}
.sec03 .caseBox .flexBox .comName {
	font-size: 1.7rem;
	border-bottom: solid 2px #ccc;
	padding-bottom: 0.8rem;
	margin-bottom: 1.4rem;
	line-height: 1.2;
}
.sec03 .caseBox .flexBox .comName:before {
	width: 5rem;
	height: 2px;
	bottom: -2px;
}
.sec03 .caseBox .flexBox .comBox p {
	margin: 1.5rem 0;
}
.sec03 .caseBox .flexBox .nameBox {
	display: block;
	margin-top: 1.5rem;
}
.sec03 .caseBox .flexBox .name {
	font-size: 1.8rem;
	margin-bottom: 0.5rem;
}
.sec03 .caseBox .flexBox .label {
	border-radius: 0.5rem;
	line-height: 1.6;
	text-align: center;
	padding: 5px 20px;
	display: inline-block;
}
.sec03 .kadaiBox {
	border-radius: 1rem;
	padding: 3.5rem 1.5rem 2rem;
	position: relative;
	margin-bottom: 5rem;
}
.sec03 .kadaiBox:before {
	content: "";
	background: url("img/icon_bikkuri.png") no-repeat;
	background-size: 100%;
	width: 4rem;
	height: 6.1rem;
	position: absolute;
	top: -3rem;
	left: -2rem;
}
.sec03 .flowArea .label {
	font-size: 1.8rem;
	border-radius: 2.3rem;
	text-align: center;
	min-width: 14.3rem;
	height: 3rem;
	display: inline-block;
	padding: 0 5px;
	position: absolute;
	top: -1.4rem;
	left: 3.5rem;
}
.sec03 .kadaiBox .label {
}
.sec03 .kadaiBox .tit {
	font-size: 1.8rem;
	margin-bottom: 2rem;
}
/*.sec03 .kadaiBox .tit:before {
	content: "";
	background: url("img/icon_bikkuri.png") no-repeat;
	background-size: 100%;
	width: 10rem;
	height: 15.2rem;
	position: absolute;
	top: 0;
	left: 0;
}*/
.sec03 .kadaiBox .list {
}
.sec03 .kadaiBox .list li {
	padding: 0 0 0 2rem;
    background: url("img/icon_check.png") 0 5px no-repeat;
    background-size: 1.5rem auto;
	font-size: 1.6rem;
	margin-bottom: 1.3rem;
}
.sec03 .flowArea {
	position: relative;
}
.sec03 .flowArea:before {
	width: 2.5rem;
	height: 100%;
	left: 9.5rem;
}
.sec03 .flowBox {
	position: relative;
	margin-bottom: 5rem;
}
.sec03 .flowBox_sp:before {
	content: "";
	background: url("img/eng_sp.png") no-repeat;
	background-size: 100%;
	width: 14.5rem;
	height: 1.9rem;
	position: absolute;
	top: -1.3rem;
	left: auto;
	right: -1rem;
	z-index: 1;
}
.sec03 .flowBox_ra:before {
	content: "";
	background: url("img/eng_ra.png") no-repeat;
	background-size: 100%;
	width: 13.8rem;
	height: 1.4rem;
	position: absolute;
	top: -1.3rem;
	left: auto;
	right: -1rem;
	z-index: 1;
}
.sec03 .flowBox_ra .caption {
	margin-left: 13rem;
}
.sec03 .flowBox .label {
}
.sec03 .flowBox .titBox {
	min-height: inherit;
	position: relative;
	border-radius: 1rem 0 0 0;
	padding: 3rem 0 1.5rem 1.5rem;
}
.sec03 .flowBox .titBox .tit {
	font-size: 1.7rem;
}
.sec03 .flowBox .txtBody {
	border-radius: 0 0 0 1rem;
	padding: 2rem 0 2rem 2rem;
	position: relative;
}
.sec03 .flowBox .txtBody:before {
	content: "";
	background: #fff;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: -100%;
}
.sec03 .flowBox .txtBody p {
	width: auto;
	margin: 0;
}
.sec03 .flowBox .txtBody p + p {
	margin: 1.5rem 0;
}
.sec03 .flowBox .txtBody .ill {
	position: static;
	float: right;
	width: 11.5rem;
	margin: 0 0 2rem 2rem;
}
.sec03 .flowBox_ra .txtBody .ill {
	top: -3.5rem;
	right: 3.5rem;
}
.contents .sec03 .parts_sv {
    margin-bottom: 0;
}
.contents .sec03 .parts_sum {
    margin: 6rem 0 2rem;
}
.sec03 .accBtn {
	background: #93a2c1 url("img/icon_plus.png") no-repeat right 1rem center;
	background-size: 1.7rem auto;
	width: 21rem;
	height: 4rem;
	border-radius: 3rem;
	margin: 4rem auto 0;
}
.sec03 .accBtn:hover {
	opacity: 1;
}
.sec03 .accBtn.open {
	background: #93a2c1 url("img/icon_minus.png") no-repeat right 1rem center;
	background-size: 1.7rem auto;
}
.sec03 .parts_sv {
    margin-top: 4.5rem;
}

/*---------------------
　SEC04
-----------------------*/
.sec04 {
	padding: 5rem 4% 5rem;
	background: url(img/sec04_bg_sp.png) no-repeat top center, linear-gradient(180deg, #074ed1 0%, rgba(0, 191, 250, 1) 100%);
	background-size: 100% auto, auto;
}
.sec04 .secTit a {
	background: url("img/arr_ccl_white_right.png") no-repeat right center;
    background-size: 1.7rem auto;
}
.sec04 .lead {
	text-align: left;
	color: #fff;
	margin-bottom: 5rem;
}
.sec04 .cclWrap {
	display: flex;
	justify-content: center;
	flex-direction: column;
	gap: 3.8rem;
	margin: 0 auto;
	margin-bottom: 2.5rem;
	width: 93%;
}
.sec04 .cclBox {
	width: 100%;
	position: relative;
}
.sec04 .cclBox .cclInr {
	background: #fff;
	width: 100%;
	height: 8rem;
	border-radius: 1rem;
	overflow: hidden;
	padding: 0;
	display: flex;
    flex-direction: row;
	box-shadow: 0px 0px 20px rgba(0,23,65,0.7);
}
.sec04 .cclBox .icon {
	position: absolute;
    top: -2rem;
    left: -1.5rem;
	transform: inherit;
	width: 5rem;
}
.sec04 .cclBox:nth-child(2) .icon {
}
.sec04 .cclBox:nth-child(3) .icon {
	width: 5rem;
	top: -3.7rem;
}
.sec04 .cclBox .label {
	width: 14.5rem;
	font-size: 1.5rem;
	line-height: 1.5;
	padding: 1.5rem;
	text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sec04 .cclBox .txt {
	font-size: 1.5rem;
	text-align: center;
	font-weight: 700;
	line-height: 1.2;
    flex-grow: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 1rem;
}
.sec04 .cclBox .txt .num {
	font-size: 2.7rem;
}
.sec04 .cclBox .txt .kome {
	font-size: 0.8rem;
}
.sec04 .cclArea .notice {
	font-size: 1.2rem;
	margin: 0 auto;
	line-height: 2;
	text-align: left;
}
.sec04 .fileArea {
	margin-top: 6rem;
}
.sec04 .fileBox {
	border-radius: 0 0 0 1rem;
	padding: 0 0 3rem 1.5rem;
	margin-bottom: 6rem;
}
.sec04 .fileBox:nth-child(2n) {
	border-radius: 0 1rem 1rem 0;
	padding: 0 1.5rem 3rem 0;
}
.sec04 .fileBox:before {
	content: "";
	background: url("img/sec04_head_sp.png") no-repeat;
	background-size: 100%;
	width: 34.8rem;
	height: 3rem;
	position: absolute;
	top: -2.9rem;
	left: 0;
}
.sec04 .fileBox:nth-child(2n):before {
	background: url("img/sec04_head02_sp.png") no-repeat;
	background-size: 100%;
	width: 34.8rem;
	height: 3rem;
	position: absolute;
	top: -2.9rem;
	left: -2rem;
}
.sec04 .fileBox:after {
	content: "";
	background: #fff;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: -100%;
}
.sec04 .fileBox:nth-child(2n):after {
	top: -2.9rem;
	right: auto;
	left: -100%;
	height: calc(100% + 2.9rem);
}
.sec04 .fileBox .subTit {
	font-size: 2rem;
	margin-bottom: 2rem;
	padding: 0 0 0 4rem;
	line-height: 1.2;
}
.sec04 .fileBox .subTit:before {
	width: 1.5rem;
	height: 4.5rem;
	position: absolute;
	top: -1rem;
	left: 0;
}
.sec04 .fileBox:nth-child(2) .subTit:before {
	width: 2.4rem;
	height: 4.6rem;
}
.sec04 .fileBox:nth-child(3) .subTit:before {
	width: 2.4rem;
	height: 4.6rem;
}
.sec04 .fileBox .flexBox {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	justify-content: center;
}
.sec04 .fileBox .leftBox .pic {
	width: 26rem;
	margin: 0 auto;
}
.sec04 .fileBox .leftBox .caption {
	text-align: center;
	margin-top: 2rem;
}
.sec04 .fileBox .rightBox {
	width: auto;
}
.sec04 .fileBox .rightBox p {
	margin: 0;
}
.sec04 .fileBox .pointBox {
	border-radius: 1rem;
	padding: 4rem 2rem 3rem 2rem;
	position: relative;
	margin: 3rem 0 0;
}
.sec04 .fileBox .pointBox:before {
	content: "";
	background: url("img/sec04_ill.png") no-repeat;
	background-size: 100%;
	width: 8.1rem;
	height: 7.4rem;
	position: absolute;
	bottom: -4rem;
	right: 0rem;
	z-index: 1;
}
.sec04 .fileBox .pointBox .label {
	font-size: 1.3rem;
	border-radius: 2.3rem;
	width: 13.5rem;
	padding: 8px 10px;
	position: absolute;
	top: -1.8rem;
	left: 50%;
	transform: translateX(-50%);
}
.sec04 .fileBox .pointBox ul li {
	padding-bottom: 1rem;
}
.sec04 .modalArea {
	margin-bottom: 5rem;
}
.sec04 .modalArea .click {
	font-size: 1.4rem;
	text-align: center;
}
.sec04 .modalArea .modalBox {
	background: #f1f5ff url(img/sec04_deco_modal.png) no-repeat center;
    background-size: 80%;
	border-radius: 1rem;
	padding: 2rem 1.5rem;
}
.sec04 .modalBox .list {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 1rem;
}
.sec04 .modalBox .js-modal {
	background: #fff url("img/icon_hatena.png") no-repeat right 1.5rem center;
	background-size: 1.7rem auto;
	border-radius: 1rem;
	text-align: left;
	font-size: 1.1rem;
	line-height: 1.5;
	padding: 10px 50px 10px 20px;
	transition: all 0.4s;
}
.sec04 .modalBox .js-modal:hover {
	opacity: 1;
}
.sec04 .parts_sv_v2 {
    margin: 3rem 0;
}
.sec04 .moreBox {
	border-radius: 1rem;
	margin: 0 auto;
	overflow: inherit;
}
.sec04 .moreBox .topBox {
	background: #d4e3ff url("img/eng_moreinfo.png") no-repeat top right 1.5rem;
	background-size: 15rem auto;
	padding: 4rem 1rem 1.5rem;
	position: relative;
	border-radius: 1rem 1rem 0 0;
}
.sec04 .moreBox .topBox:before {
	content: "";
    background: url(img/sum_ill.png) no-repeat;
    background-size: 100%;
    width: 9rem;
    height: 8.1rem;
    position: absolute;
    top: -1.5rem;
    left: 1.5rem;
}
.sec04 .moreBox .topBox .label {
	border-radius: 2rem;
	font-size: 1.6rem;
	margin: 0 auto 1.5rem;
	width: 7rem;
	height: 3rem;
}
.sec04 .moreBox .topBox .subTit {
	font-size: 1.6rem;
	line-height: 1.6;
}
.sec04 .moreBox .topBox .subTit a {
	background: url(img/arr_ccl_blue_right.png) no-repeat right center;
    background-size: 1.8rem auto;
	padding: 0 3rem 0 3rem;
	display: inline-block;
}
.sec04 .moreBox .topBox .subTit span {
	font-size: 2rem;
}
.sec04 .moreBox .txtBody {
	padding: 2rem 2rem 3rem;
}
.sec04 .moreBox .txtBody p {
	margin: 0;
}
.sec04 .moreBox .btn-link {
    width: auto;
	margin-bottom: 0;
}	
.sec04 .moreBox .btn-link a {
    background: url(img/arr_base_black_right.png) no-repeat right center;
    background-size: 1.2rem auto;
    text-decoration: underline;
    font-weight: 400;
    display: inherit;
    position: relative;
    color: #333;
    padding: 0.2rem 2.5rem 0.2rem 0;
    line-height: 1.6;
    border-radius: 0;
    min-height: inherit;
    font-size: 1.5rem;
    text-align: right;
    box-shadow: none;
}	
	
	
/* ボタン */
.close-btn {
    position: absolute;
    top: -1rem;
    right: -1rem;
	width: 4rem;
}
/* モーダルの中身*/
.modal-content {
    padding: 3.5rem 2rem 2rem;
    border-radius: 1rem;
    width: 80vw;
    max-width: 110rem;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}
.modal .catchTxt {
	font-size: 1.8rem;
	line-height: 1.6;
	margin-bottom: 1.5rem;
}

}