@charset "utf-8";
/**
 * layout pc
 */


/* import
--------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
@import "init.css";


/* html, body
--------------------------------------------------*/
html,body{
	overflow-x:hidden;
}

#mega10-header-Sec{
	position:relative;
	width:100%;
	height:84px;
	background:#000000;
}

/* ヘッダ背景処理 */
#indexfundTop #headerContent{
	background:#000000;
	z-index:9999!important;
}

#indexfundTop #headerContent.fixed{
	z-index:9999!important;
}

@media only screen and (max-width: 1022px) {
    #headerContent {
	background:#000000!important;
	}
	#utilityList03 > li.menuType .body .menuList01 > li > a img{
		margin:auto;
	}
	#mega10-header-Sec{
	position:relative;
	width:100%;
	height:56px;
	background:#000000;
}
}

@media only screen and (max-width: 640px) {
    #indexfundTop #headerContent {
        position: fixed;
	background:#000000!important;
    }
	
}

#dcnibf4-header-Sec{
	position:relative;
	width:100%;
	height:118px;
	background:#ffffff;
	border-top:solid 8px #bf0000;
	box-sizing:border-box;
}

.dcnibf4-header-logo01{
	position:absolute;
	top:34px;
	left:20px;
}

.dcnibf4-header-logo02{
	position:absolute;
	top:-8px;
	right:14px;
}


html,body{
	/* min-width: 1028px; */
}


/* 全体設定 */
main {
	position:relative;
	width:100%;
	/* min-width: 1028px; */
	min-height:100%;
	margin:0;
	text-align:left;
	font-family: Verdana,"メイリオ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",sans-serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight:400;
	font-feature-settings:"palt";
	letter-spacing:0.075em;
	-webkit-text-size-adjust:none;
	color:#000000;
	background:#048acf;
}

main img{
	width:auto; !important;
	display:block; !important;
}

.start {
	transform: scale(0.2);
	animation: poyonInitial 0.6s ease-out forwards;
	position: absolute;
}


@keyframes poyonInitial {
	0% {
		transform: scale(0.2);
	}
	40% {
		transform: scale(1.2);
	}
	60% {
		transform: scale(1);
	}
	80% {
		transform: scale(1.1);
	}
	100% {
		transform: scale(1);
	}
}

@keyframes poyonBounce {
	0% { transform: scale(1); }
	40% { transform: scale(1.2); }
	60% { transform: scale(1); }
	80% { transform: scale(1.1); }
	100% { transform: scale(1); }
}

.poyon.poyon-bounce {
	transform: scale(0.2);
	animation: poyonBounce 0.6s ease-out forwards;
}




/* メインビジュアル */
#dcnibf4-main-Sec{
	position:relative;
	width:100%;
}

.dcnibf4-main-bubble01{
	position:absolute;
	top:19px;
	left:50%;
	margin-left:-700px;
}

.dcnibf4-main-chara01{
	position:absolute;
	top:55px;
	left:50%;
	margin-left:-493px;
}

.dcnibf4-main-chara02{
	position:absolute;
	top:16px;
	left:50%;
	margin-left:342px;
}

.dcnibf4-main-chara03{
	position:absolute;
	top:-90px;
	left:50%;
	margin-left:394px;
	z-index:1;
}

.dcnibf4-main-caption01{
	position:relative;
	margin:0 auto 0;
	padding-top:20px;
}

.dcnibf4-main-text01{
	position:relative;
	margin:23px auto 50px;
}

.dcnibf4-main-inbox{
	position:relative;
	width:100%;
	background-image:url("../img/mv_bg_pc.png");
	background-repeat:no-repeat;
	background-position:top center;
	background-size:100% auto;
	background-color:#e5f6ff;
	padding-top:50px;
	padding-bottom:100px;
}


.dcnibf4-main-title-box{
	position:relative;
	width:1085px;
	margin: 0 auto 50px;
	
	background:rgba(255,255,255,0.9);
	border-radius:12px;
	box-shadow: 0 0 15px 7.5px rgba(4,138,207,0.2);
	padding-top:60px;
	padding-bottom:60px;
}

.dcnibf4-main-chara04{
	position:absolute;
	top:159px;
	left:50%;
	margin-left:-468px;
	z-index:1;
}

.dcnibf4-main-chara05{
	position:absolute;
	top:206px;
	left:50%;
	margin-left:212px;
	z-index:1;
}

.dcnibf4-main-bubble02{
	position:absolute;
	top:30px;
	left:50%;
	margin-left:-528px;
	z-index:1;
}

.dcnibf4-main-title01{
	position:relative;
	margin:auto;
}

.dcnibf4-main-features-box{
	position: relative;
	width:calc(980px + 14px + 14px);
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 0;
	box-sizing: border-box;
	column-gap: 11px;
}

.dcnibf4-main-features-text01{
	position: relative;
	flex-basis: 100%;
	width:100%;
	font-size:14px;
	font-weight:bold;
	line-height:1.6;
	color:#666666;
	text-align:right;
	margin-top:10px;
}

.dcnibf4-main-features-text02{
	position: relative;
	flex-basis: 100%;
	width:100%;
	font-size:14px;
	line-height:1.6;
	color:#666666;
	text-align:right;
	margin-bottom:50px;
}

.dcnibf4-btn-box{
	position: relative;
	width: 100%;
	display:block;
	text-align:center;
}

.dcnibf4-btn-box a{
	position: relative;
	display:inline-block;
}

.dcnibf4-btn-box a img{
	position: relative;
	display:block;
	vertical-align:baseline;
}

.dcnibf4-btn-box a:nth-child(2) img{
	position: relative;
	display:inline-block;
	margin-left:12px;
}


.dcnibf4-link-box{
	position: absolute;
	top: -40px;  
	left: 50%;
	width:calc(980px + 14px + 14px);
	transform: translateX(-50%);
	display: flex;
	flex-wrap:wrap;
	box-sizing: border-box;
	column-gap: 0;
}

.dcnibf4-link-box > *{
	margin-right: -8px;
}

.dcnibf4-link-box img:hover{
	animation: poyonInitial02 0.4s ease-out forwards;
}


@keyframes poyonInitial02 {
	0% {
		transform: scale(1);
	}
	40% {
		transform: scale(1.05);
	}
	60% {
		transform: scale(1);
	}
	80% {
		transform: scale(1.03);
	}
	100% {
		transform: scale(1);
	}
}





/* コンテンツ01 */
#dcnibf4-ct01-Sec{
	position:relative;
	width:100%;
	background-image:url("../img/ct01_bg_pc.png");
	background-repeat:no-repeat;
	background-position:top center;
	background-size:100% auto;
	background-color:#f2fbff;
	padding-top:195px;
	padding-bottom:235px;
}


.dcnibf4-ct01-title01{
	position: relative;
	margin:0 auto 40px;
}

.dcnibf4-ct01-img-set{
	position: relative;

}

.dcnibf4-ct01-img01{
	position: relative;
	left:50%;
	transform: translateX(-50%);
	pointer-events: none; 
}

.dcnibf4-ct01-fukidashi01-box{
	position:absolute;
	left:50%;
	top:43px;
	margin-left:-517px;
}

.dcnibf4-ct01-chara01{
	position:absolute;
	right:-126px;
	top:-43px;
}

.dcnibf4-ct01-fukidashi02-box{
	position:absolute;
	left:50%;
	top:320px;
	margin-left:-400px;
}

.dcnibf4-ct01-chara02{
	position:absolute;
	left:-102px;
	top:9px;
}

.dcnibf4-ct01-fukidashi03-box{
	position:absolute;
	left:50%;
	top:70px;
	margin-left:162px;
}

.dcnibf4-ct01-chara03{
	position:absolute;
	right:10px;
	top:110px;
}

.dcnibf4-ct01-fukidashi04-box{
	position:absolute;
	left:50%;
	top:348px;
	margin-left:120px;
}

.dcnibf4-ct01-chara04{
	position:absolute;
	right:23px;
	top:111px;
}

.dcnibf4-ct01-title02{
	position: relative;
	margin:95px auto 55px;

}


.dcnibf4-movie-box{
	position: relative;
	width:600px;
	margin:-750px auto 0;
	background:#ffffff;
	z-index:1;
}




/* コンテンツ02 */
#dcnibf4-ct02-Sec{
	position:relative;
	width:100%;
	background-image:url("../img/ct02_bg_pc.png");
	background-repeat:no-repeat;
	background-position:top center;
	background-size:100% auto;
	background-color:#048acf;
	padding-top:570px;
	padding-bottom:300px;
}

.dcnibf4-ct02-bg{
	position:absolute;
	top:0;
	left:50%;
	transform: translateX(-50%);
	pointer-events: none; 
}

.dcnibf4-ct02-bg02{
	position:relative;
}

.dcnibf4-ct02-bg02-img{
	position:absolute;
	top:580px;
	left:50%;
	margin-left:-720px;
	pointer-events: none; 
}

.dcnibf4-ct02-bg03{
	position:relative;
}

.dcnibf4-ct02-bg03-img{
	position:absolute;
	top:-280px;
	left:50%;
	margin-left:400px;
	pointer-events: none; 
}

.dcnibf4-ct02-bg04{
	position:relative;
}

.dcnibf4-ct02-bg04-img{
	position:absolute;
	top:-66px;
	left:50%;
	margin-left:-640px;
	pointer-events: none; 
}

.dcnibf4-ct02-chara01{
	position:absolute;
	left:50%;
	top:390px;
	margin-left:-480px;
}


.dcnibf4-ct02-chara02{
	position:absolute;
	left:50%;
	top:413px;
	margin-left:230px;
}

.dcnibf4-ct02-title{
	position: relative;
	margin:150px auto 110px;
	
}

.dcnibf4-ct02-caption-box{
	position: relative;
	margin:0 auto 35px;
	width:980px;
	z-index:2;
}

.dcnibf4-ct02-caption{
}


.dcnibf4-ct02-text{
	position: relative;
	margin:0 auto 30px;
	text-align:center;
	color:#ffffff;
	font-size:20px;
	line-height:2;
}

.dcnibf4-ct02-img01{
	position: relative;
	margin:0 auto 10px;
	z-index:2;
}

.dcnibf4-ct02-arrow{
	position: relative;
	margin:0 auto 10px;
}

.dcnibf4-ct02-img02{
	position: relative;
	margin:0 auto 110px;
}

.dcnibf4-ct02-img02-anime-set{
	position: relative;
	z-index:2;
}

.dcnibf4-ct02-img02-anime{
	position:absolute;
	left:50%;
	transform: translateX(-50%);
	z-index:3;
}

.dcnibf4-ct02-img02-anime img{
	position:absolute;
	top:0;
	left:0;
	opacity:0;
	max-width: none !important;
}

.dcnibf4-ct02-img02-anime img:nth-child(1){
	position:relative;
	opacity:1;
}


.dcnibf4-ct02-img-box{
	position:relative;
	width:980px;
	margin:20px auto 113px;
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap:0;
}

.dcnibf4-ct02-img-box-left{
	position:relative;
	width:490px;
	margin-left:-13px;
}

.dcnibf4-ct02-img-box-right{
	position:relative;
	width:490px;
	margin-right:-13px;
}

.dcnibf4-ct02-chara03{
	position:absolute;
	right:-45px;
	top:300px;
}


.dcnibf4-ct02-img-box02{
	position:relative;
	width:980px;
	margin:20px auto 110px;
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap:0;
	align-items: center;
	z-index:2;
}

.dcnibf4-ct02-img-box02-left{
	position:relative;
	width:530px;
}

.dcnibf4-ct02-img-box02-right{
	position:relative;
	width:450px;
	margin-right:-13px;
}

.dcnibf4-ct02-img-box02-text{
	position:relative;
	font-size:20px;
	line-height:2;
	color:#ffffff;
	
}



/* コンテンツ03 */
#dcnibf4-ct03-Sec{
	position:relative;
	width:100%;
	background-image:url("../img/ct03_bg_pc.png");
	background-repeat:no-repeat;
	background-position:top center;
	background-size:100% auto;
	background-color:#ffffff;
	padding-top:280px;
	padding-bottom:120px;
}


.dcnibf4-movie-box02{
	position: relative;
	width:600px;
	margin:-460px auto 0;
	z-index:1;
}


.dcnibf4-ct03-chara01{
	position:absolute;
	left:50%;
	top:200px;
	margin-left:-395px;
	z-index:1;
}


.dcnibf4-ct03-title-box{
	position: relative;
	width:100%;
	margin-top:120px;
	background-image:url("../img/ct03_title01_bg_pc.png");
}

.dcnibf4-ct03-title{
	position: relative;
	margin:auto;
}


.dcnibf4-ct03-caption01{
	position: relative;
	margin:90px auto 30px;
}


.dcnibf4-ct02-text01{
	position: relative;
	text-align:center;
	color:#191919;
	line-height:2;
	font-size:20px;
	margin-bottom:20px;
}

.dcnibf4-ct03-img_box{
	position: relative;
	
}

.dcnibf4-ct03-chara02{
	position:absolute;
	left:50%;
	top:430px;
	margin-left:300px;
	z-index:1;
}

.dcnibf4-ct03-img01{
	position: relative;
	margin:0 auto 5px;
}

.dcnibf4-ct02-text02_set{
	position: relative;
	width:980px;
	text-align:left;
	color:#666666;
	line-height:1.6;
	font-size:12px;
	margin:0 auto 0;
}

.dcnibf4-ct02-text02{
	padding-left: 2em;   /* ← 全体を右へ */
	text-indent: -2em;  /* ← 1文字分だけ戻す */
}

.dcnibf4-ct02-text03{
	position: relative;
	width:980px;
	text-align:left;
	color:#666666;
	line-height:1.6;
	font-size:12px;
	margin:0 auto 0;
}

.dcnibf4-ct02-text03 a{
	text-decoration:none;
	color:#666666;
}

.dcnibf4-ct03-caption02{
	position: relative;
	margin:90px auto 30px;
}




/* コンテンツ04 */
#dcnibf4-ct04-Sec{
	position:relative;
	width:100%;
	background-color:#e5f6ff;
	padding-bottom:120px;
	padding-top:60px;
}

.dcnibf4-ct04-title-box{
	position: relative;
	width:100%;
	background-image:url("../img/ct04_title01_bg_pc.png");
	margin-bottom:80px;
	margin-top:-90px;
}

.dcnibf4-ct04-title{
	position: relative;
	margin:auto;
	width:980px;
}

.dcnibf4-ct04-img-box{
	position: relative;
	width:980px;
	margin:auto;
}


.dcnibf4-ct04-text01{
	position: relative;
	width:800px;
	text-align:left;
	color:#666666;
	line-height:1.6;
	font-size:12px;
	margin:35px auto 80px;
}




.dcnibf4-ct04-img-box-anime{
	position:absolute;
	top:0;
	left:0;
	width:0;
	height:100%;
	overflow:hidden;
	transition: width 2s linear;
	z-index:1;
}

.dcnibf4-ct04-img-box-anime.active {
	width: 100%;
}

.dcnibf4-ct04-img-box-anime img{
	position: relative;
	margin:auto;
	width:980px;
	height:auto;
	max-width: none !important;
}








/* コンテンツ05 */
#dcnibf4-ct05-Sec{
	position:relative;
	width:100%;
	background:#ffffff;
	padding-top:120px;
	padding-bottom:120px;
}


.dcnibf4-ct05-title{
	position: relative;
	margin:0 auto 40px;
}


.dcnibf4-ct05-btn01_box{
	position: relative;
	text-align:center;
	margin-bottom:110px;
	
}

.dcnibf4-ct05-btn01_box a{
	position: relative;
	display:inline-block;
}

.dcnibf4-ct05-btn01_box a img{
	position: relative;
	display:block;
}

.dcnibf4-ct05-asset-box{
	position: relative;
	width:980px;
	margin:0 auto 40px;
	box-sizing:border-box;
	border:solid 1px #048acf;
}

.dcnibf4-ct05-asset-text01{
	position: relative;
	text-align:center;
	font-size:18px;
	line-height:1.8;
	color:#191919;
	font-weight:normal;
	margin-top:25px;
	margin-bottom:35px;
}

.dcnibf4-ct05-asset-img{
	position: relative;
	margin:0 auto 35px;
	
}


.dcnibf4-ct05-btn02_box{
	position: relative;
	text-align:center;
	margin-bottom:35px;
	
}

.dcnibf4-ct05-btn02_box a{
	position: relative;
	display:inline-block;
}

.dcnibf4-ct05-btn02_box a img{
	position: relative;
	display:block;
}



.dcnibf4-ct05-set{
	position:relative;
	width:980px;
	margin:80px auto 0;
}

.dcnibf4-ct05-text01{
	position:relative;
	font-size:18px;
	line-height:1 !important;
	margin-bottom:25px;
	font-weight:bold;
	text-align:center;
}

.dcnibf4-ct05-text02{
	position:relative;
	font-size:14px;
	line-height:2 !important;
	margin-bottom:60px;
	color:#6e6e6e;
}

.dcnibf4-ct05-text03{
	position:relative;
	font-size:18px;
	line-height:1 !important;
	margin-top:60px;
	margin-bottom:25px;
	font-weight:bold;
}

.dcnibf4-ct05-list-detail{
	position:relative;
	font-size:14px;
	line-height:1.8 !important;
	margin-top:10px;
	color:#6e6e6e;
	text-indent: -1.5em; /* 1行目を戻す */
	padding-left: 1.5em; /* 2行目以降を字下げ */
}


.dcnibf4-ct05-set-text01{
	position:relative;
	width:980px;
	text-align:right;
	margin:120px auto 0;
	font-size:14px;
}







/* アニメ系 */
.poyon{
	animation-delay: 0.1s;
	transform: scale(0);
}

.fade-up {
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.8s ease, transform 0.6s ease;
}

.fade-up.show {
	opacity: 1;
	transform: translateY(0);
}

.fade-up.show_title {
	opacity: 1;
	animation: poyonTitle 0.6s ease-out forwards;
}

@keyframes poyonTitle {
	0% {
		transform: scale(1);
	}
	40% {
		transform: scale(1.1);
	}
	60% {
		transform: scale(1);
	}
	80% {
		transform: scale(1.05);
	}
	100% {
		transform: scale(1);
	}
}



/* ホバー系 */
.dcnibf4-movie-box::after,
.dcnibf4-movie-box02::after{
	content: "";
	position: absolute;
	inset:0;
	background: #ffffff;
	opacity: 0;
	transition: opacity 0.4s ease;
	pointer-events:none;
}

.dcnibf4-movie-box:hover::after,
.dcnibf4-movie-box02:hover::after {
	opacity: 0.3;
}

.over{
	opacity:1;
	transition: opacity 0.4s ease;
}

.over:hover {
	opacity:0.6;
}

.dcnibf4-header-logo02{
	transition: filter 0.4s ease;
}

.dcnibf4-header-logo02:hover {
	opacity:1;
	filter: brightness(1.1) saturate(1.1);
}





/* ホバー系 */
.dcnibf4-ct05-btn,.light_btn{
	transition: filter 0.4s ease;
}

.dcnibf4-ct05-btn,.light_btn:hover {
	opacity:1;
	filter: brightness(1.2) saturate(1.2);
}






/* ここからテンプレートエリア */
.rps_visible{
    display:none;
}

.rps_del{
    display:block;
}



/* layout middle High
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 1085px) {


.dcnibf4-main-title-box{
	position:relative;
	width:100%;
	margin: 0 auto 50px;
	
	background:rgba(255,255,255,0.9);
	border-radius:0;
	box-shadow: 0 0 15px 7.5px rgba(4,138,207,0.2);
	padding-top:60px;
	padding-bottom:60px;
}


.dcnibf4-main-title01{
	position:relative;
	margin:auto;
	width:90%;
	height:auto;
}

}



/* layout middle
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 1028px) {


/* ヘッダー */
#dcnibf4-header-Sec{
	position:relative;
	width:100%;
	height:100px;
	background:#ffffff;
	border-top:solid 8px #bf0000;
	box-sizing:border-box;
}

.dcnibf4-header-logo01{
	position:relative;
	top:25px;
	left:20px;
}

.dcnibf4-header-logo02{
	position:absolute;
	top:-8px;
	right:14px;
	width:auto;
	height:100px;
}




/* メインビジュアル */
#dcnibf4-main-Sec{
	position:relative;
	width:100%;
}

.dcnibf4-main-bubble01{
	position:absolute;
	top:19px;
	left:50%;
	margin-left:-65%;
	width:130%;
	height:auto;
}

.dcnibf4-main-chara01{
	position:absolute;
	top:2%;
	left:2%;
	margin-left:0;
	width:18%;
}

.dcnibf4-main-chara02{
	position:absolute;
	top:1%;
	left:82%;
	margin-left:0;
	width:10%;
}

.dcnibf4-main-chara03{
	position:absolute;
	top:-40px;
	left:84%;
	margin-left:0;
	z-index:1;
	width:15%;
}

.dcnibf4-main-caption01{
	position:relative;
	margin:0 auto 0;
	padding-top:20px;
	width:60%;
	height:auto;
}

.dcnibf4-main-text01{
	position:relative;
	margin:23px auto 40px;
	width:75%;
	height:auto;
}

.dcnibf4-main-inbox{
	position:relative;
	width:100%;
	background-image:url("../img/mv_bg_pc.png");
	background-repeat:no-repeat;
	background-position:top center;
	background-size:100% auto;
	background-color:#e5f6ff;
	padding-top:40px;
	padding-bottom:80px;
}


.dcnibf4-main-title-box{
	position:relative;
	width:100%;
	margin: 0 auto 0;
	
	background:rgba(255,255,255,0.9);
	border-radius:0;
	box-shadow: 0 0 15px 7.5px rgba(4,138,207,0.2);
	padding-top:60px;
	padding-bottom:60px;
}

.dcnibf4-main-chara04{
	position:absolute;
	top:50%;
	left:7%;
	margin-left:0;
	z-index:1;
	width:13%;
	height:auto;
}

.dcnibf4-main-chara05{
	position:absolute;
	top:22%;
	left:67%;
	margin-left:0;
	z-index:1;
	width:32%;
	height:auto;
}

.dcnibf4-main-bubble02{
	position:absolute;
	top:5%;
	left:2%;
	margin-left:0;
	z-index:1;
	width:28%;
}

.dcnibf4-main-title01{
	position:relative;
	margin:auto;
	width:90%;
	height:auto;
}

.dcnibf4-main-features-text01{
	position: relative;
	flex-basis: 100%;
	width:100%;
	font-size:14px;
	font-weight:bold;
	line-height:1.6;
	color:#666666;
	text-align:right;
	margin-top:10px;
}

.dcnibf4-main-features-text02{
	position: relative;
	flex-basis: 100%;
	width:100%;
	font-size:14px;
	line-height:1.6;
	color:#666666;
	text-align:right;
	margin-bottom:50px;
}

.dcnibf4-main-features-box{
	position: relative;
	width:92%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin:30px auto 0;
	box-sizing: border-box;
	column-gap: 0px;
}

.dcnibf4-main-features-box h2{
	width: calc(100% / 3);
	text-align: center;
	margin: 0 0; /* ← gapをマイナスにしたい代替 */
}

.dcnibf4-main-features-box img{
	width: 100%;
	height:auto;
	display: block;
	margin: 0 auto;
}




/* コンテンツ01 */
#dcnibf4-ct01-Sec{
	position:relative;
	width:100%;
	background-image:url("../img/ct01_bg_pc.png");
	background-repeat:no-repeat;
	background-position:top center;
	background-size:100% auto;
	background-color:#f2fbff;
	padding-top:16%;
	padding-bottom:235px;
}

.dcnibf4-link-box{
	position: absolute;
	top: -40px;  
	left: 50%;
	width:92%;
	transform: translateX(-50%);
	display: flex;
	flex-wrap:wrap;
	box-sizing: border-box;
	column-gap: 0;
	justify-content: center;
	margin:0 auto 0;
	box-sizing: border-box;
}

.dcnibf4-link-box > *{
	width: calc(100% / 3);
	text-align: center;
	margin: 0 0;
}

.dcnibf4-link-box img{
	width: 100%;
	height:auto;
	display: block;
	margin: 0 auto;
}


.dcnibf4-ct01-title01{
	position: relative;
	margin:0 auto 50px;
	width:70%;
	height:auto;
}

.dcnibf4-ct01-img01{
	position: relative;
	left:50%;
	transform: translateX(-50%);
	pointer-events: none; 
	width:125%;
	height:auto;
	padding-top:7%;
}


.dcnibf4-ct01-fukidashi01-box{
	position:absolute;
	left:2%;
	top:43px;
	margin-left:0;
	width:35%;
}

.dcnibf4-ct01-fukidashi01{
	width:100%;
	height:auto;
}

.dcnibf4-ct01-chara01{
	position:absolute;
	right:-10%;
	top:-20%;
	width:62%;
	height:auto;
}

.dcnibf4-ct01-fukidashi02-box{
	position:absolute;
	left:8%;
	top:64%;
	margin-left:0;
	width:35%;
}

.dcnibf4-ct01-fukidashi02{
	width:100%;
	max-width:300px;
	height:auto;
}

.dcnibf4-ct01-chara02{
	position:absolute;
	left:-25%;
	top:10%;
	width:42%;
	height:auto;
}

.dcnibf4-ct01-fukidashi03-box{
	position:absolute;
	left:63%;
	top:50px;
	margin-left:0;
	width:35%;
}


.dcnibf4-ct01-fukidashi03{
	width:100%;
	height:auto;
}

.dcnibf4-ct01-chara03{
	position:absolute;
	right:3%;
	top:50%;
	width:34%;
	height:auto;
}

.dcnibf4-ct01-fukidashi04-box{
	position:absolute;
	left:58%;
	top:67%;
	margin-left:0;
	width:35%;
}


.dcnibf4-ct01-fukidashi04{
	width:100%;
	height:auto;
}


.dcnibf4-ct01-chara04{
	position:absolute;
	right:8%;
	top:45%;
	width:32%;
	height:auto;
}

.dcnibf4-ct01-title02{
	position: relative;
	margin:14% auto 2%;
	width:90%;
	height:auto;

}

.dcnibf4-movie-box{
	position: relative;
	width:600px;
	margin:-750px auto 0;
	background:#ffffff;
	z-index:1;
}

.dcnibf4-btn-box a{
	position: relative;
	display:inline-block;
	width:45%;
}

.dcnibf4-btn-box a img{
	position: relative;
	display:block;
	width:100%;
	height:auto;
}

.dcnibf4-btn-box a:nth-child(2) img{
	position: relative;
	display:inline-block;
	margin-left:1vw;
	margin-top:3vw;
}

.dcnibf4-btn-box-single a{
	position: relative;
	display:inline-block;
	width:490px;
}




/* コンテンツ02 */
#dcnibf4-ct02-Sec{
	position:relative;
	width:100%;
	background-image:url("../img/ct02_bg_pc.png");
	background-repeat:no-repeat;
	background-position:top center;
	background-size:100% auto;
	background-color:#048acf;
	padding-top:570px;
	padding-bottom:260px;
}

.dcnibf4-ct02-bg{
	position:absolute;
	top:0;
	left:50%;
	transform: translateX(-50%);
	pointer-events: none; 
	width:120%;
}

.dcnibf4-ct02-bg02{
	position:relative;
}

.dcnibf4-ct02-bg02-img{
	position:absolute;
	top:50vw;
	left:-5vw;
	margin-left:0;
	pointer-events: none;
}

.dcnibf4-ct02-bg03{
	position:relative;
}

.dcnibf4-ct02-bg03-img{
	position:absolute;
	top:-28vw;
	left:78vw;
	margin-left:0;
	pointer-events: none;
}

.dcnibf4-ct02-bg04{
	position:relative;
}

.dcnibf4-ct02-bg04-img{
	position:absolute;
	top:-6vw;
	left:-5vw;
	margin-left:0;
	pointer-events: none;
}

.dcnibf4-ct02-title{
	position: relative;
	margin:120px auto 90px;
	width:90%;
	height:auto;
}

.dcnibf4-ct02-chara-set{
	position: relative;
}

.dcnibf4-ct02-chara01{
	position:absolute;
	left:8%;
	top:35%;
	margin-left:0;
	width:14%;
	height:auto;
}


.dcnibf4-ct02-chara02{
	position:absolute;
	left:70%;
	top:40%;
	margin-left:0;
	width:27%;
	height:auto;
}

.dcnibf4-ct02-caption-box{
	position: relative;
	margin:0 auto 35px;
	width:90%;
	z-index:2;
}

.dcnibf4-ct02-caption{
	width:100%;
	height:auto;
}

.dcnibf4-ct02-text{
	position: relative;
	margin:0 auto 30px;
	text-align:center;
	color:#ffffff;
	font-size:18px;
	line-height:2;
}

.dcnibf4-ct02-img01{
	position: relative;
	margin:0 auto 10px;
	z-index:2;
	width:93%;
	height:auto;
}

.dcnibf4-ct02-arrow{
	position: relative;
	margin:0 auto 10px;
	width:10%;
	height:auto;
}

.dcnibf4-ct02-img02{
	position: relative;
	margin:0 auto 80px;
	z-index:2;
	width:93%;
	height:auto;
}

.dcnibf4-ct02-img02-anime-set{
	position: relative;
	z-index:2;
}

.dcnibf4-ct02-img02-anime{
	position:absolute;
	width:93%;
	left:50%;
	transform: translateX(-50%);
	z-index:3;
}

.dcnibf4-ct02-img02-anime img{
	position:absolute;
	width:100%;
	height:auto;
	top:0;
	left:0;
	opacity:0;
}

.dcnibf4-ct02-img02-anime img:nth-child(1){
	position:relative;
	opacity:1;
}


.dcnibf4-ct02-img-box{
	position:relative;
	width:93%;
	margin:20px auto 80px;
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap:0;
}

.dcnibf4-ct02-img-box-left{
	position:relative;
	width:50%;
	margin-left:0;
}

.dcnibf4-ct02-img-box-left img{
	position:relative;
	width:100%;
	height:auto;
}

.dcnibf4-ct02-img-box-right{
	position:relative;
	width:50%;
	margin-right:0;
}

.dcnibf4-ct02-img-box-right img{
	position:relative;
	width:100%;
	height:auto;
}

.dcnibf4-ct02-img-box-right .dcnibf4-ct02-chara03{
	position:absolute;
	right:1%;
	top:60%;
	width:30%;
	height:auto;
	z-index:1;
}

.dcnibf4-ct02-img-box02{
	position:relative;
	width:93%;
	margin:20px auto 40px;
	display:flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	gap:0;
	align-items: center;
	z-index:2;
}

.dcnibf4-ct02-img-box02-left{
	position:relative;
	width:56.5%;
	margin-left:1.5%;
	flex: 0 0 450px;
}

.dcnibf4-ct02-img-box02-right{
	position:relative;
	width:42%;
	margin-right:0;
	flex: 1 1 auto;
}

.dcnibf4-ct02-img-box02-right img{
	position:relative;
	width:100%;
	height:auto;
}

.dcnibf4-ct02-img-box02-text{
	position:relative;
	font-size:18px;
	line-height:2;
	color:#ffffff;
}


@media (max-width: 950px) {
	.dcnibf4-ct02-img-box02-left{
		position:relative;
		width:56.5%;
		margin-left:1.5%;
		flex: 0 0 400px;
	}
	.dcnibf4-ct02-img-box02-text{
		position:relative;
		font-size:16px;
		line-height:2;
		color:#ffffff;
	}
}



/* コンテンツ03 */
#dcnibf4-ct03-Sec{
	position:relative;
	width:100%;
	background-image:url("../img/ct03_bg_pc.png");
	background-repeat:no-repeat;
	background-position:top center;
	background-size:100% auto;
	background-color:#ffffff;
	padding-top:280px;
	padding-bottom:120px;
}


.dcnibf4-movie-box02{
	position: relative;
	width:600px;
	margin:-460px auto 0;
	background:#ffffff;
	z-index:1;
}


.dcnibf4-ct03-chara01{
	position:absolute;
	left:8%;
	top:11%;
	margin-left:0;
	z-index:1;
	width:15%;
	height:auto;
}


.dcnibf4-ct03-title-box{
	position: relative;
	width:100%;
	margin-top:120px;
	background-image:none;
}

.dcnibf4-ct03-title{
	position: relative;
	margin:auto;
	width:100%;
	height:auto;
}


.dcnibf4-ct03-caption01{
	position: relative;
	margin:80px auto 20px;
	width:auto;
	height:7vw;
}


.dcnibf4-ct02-text01{
	position: relative;
	text-align:center;
	color:#191919;
	line-height:2;
	font-size:18px;
	margin-bottom:20px;
}

.dcnibf4-ct03-img_box{
	position: relative;
	
}

.dcnibf4-ct03-chara02{
	position:absolute;
	left:80%;
	top:85%;
	margin-left:0;
	z-index:1;
	width:14%;
	height:auto;
}

.dcnibf4-ct03-img01{
	position: relative;
	margin:0 auto 5px;
	width:93%;
}

.dcnibf4-ct02-text02_set{
	position: relative;
	width:90%;
	text-align:left;
	color:#666666;
	line-height:1.6;
	font-size:12px;
	margin:0 auto 0;
}

.dcnibf4-ct02-text03{
	position: relative;
	width:90%;
	text-align:left;
	color:#666666;
	line-height:1.6;
	font-size:9px;
	margin:3px auto 0;
}

.dcnibf4-ct02-text03 a{
	text-decoration:none;
	color:#666666;
}

.dcnibf4-ct03-caption02{
	position: relative;
	margin:80px auto 20px;
	width:auto;
	height:7vw;
}



/* コンテンツ04 */
#dcnibf4-ct04-Sec{
	position:relative;
	width:100%;
	background-color:#e5f6ff;
	padding-top:60px;
	padding-bottom:80px;
}

.dcnibf4-ct04-title-box{
	position: relative;
	width:100%;
	background-image:url("../img/ct04_title01_bg_pc.png");
	margin-top:-90px;
	margin-bottom:60px;
}

.dcnibf4-ct04-title{
	position: relative;
	margin:auto;
	width:100%;
	height:auto;
}

.dcnibf4-ct04-img-box{
	position: relative;
	width:90vw;
	margin:auto;
}


.dcnibf4-ct04-text01{
	position: relative;
	width:73.5%;
	text-align:left;
	color:#666666;
	line-height:1.6;
	font-size:12px;
	margin:35px auto 40px;
}

.dcnibf4-ct04-img-box-anime{
	position:absolute;
	top:0;
	left:0;
	width:0;
	height:100%;
	overflow:hidden;
	transition: width 2s linear;
	z-index:1;
}

.dcnibf4-ct04-img-box-anime img{
	position: relative;
	margin:auto;
	width:90vw;
	height:auto;
}





/* コンテンツ05 */
#dcnibf4-ct05-Sec{
	position:relative;
	width:100%;
	background:#ffffff;
	padding-top:80px;
	padding-bottom:80px;
}


.dcnibf4-ct05-title{
	position: relative;
	margin:0 auto 40px;
}


.dcnibf4-ct05-btn01_box{
	position: relative;
	text-align:center;
	margin-bottom:80px;
}

.dcnibf4-ct05-btn01_box a{
	position: relative;
	display:inline-block;
	width:90%;
}

.dcnibf4-ct05-btn01_box a img{
	position: relative;
	display:block;
	width:100%;
	height:auto;
}

.dcnibf4-ct05-asset-box{
	position: relative;
	width:90%;
	margin:0 auto 40px;
	box-sizing:border-box;
	border:solid 1px #048acf;
}

.dcnibf4-ct05-asset-title{
	position: relative;
	width:100%;
	height:auto;	
}

.dcnibf4-ct05-asset-text01{
	position: relative;
	text-align:center;
	font-size:1.5vw;
	line-height:1.8;
	color:#191919;
	font-weight:normal;
	margin-top:25px;
	margin-bottom:35px;
}



@media (max-width: 830px) {
	.dcnibf4-ct05-asset-text01{
		font-size:2vw;
	}
	
	.dcnibf4-ct05-asset-text01 .rps_visible{
		display:block;
	}
}


.dcnibf4-ct05-asset-img{
	position: relative;
	margin:0 auto 35px;
	width:90%;
	height:auto;

}

.dcnibf4-ct05-btn02_box{
	position: relative;
	text-align:center;
	margin-bottom:5vw;
	
}

.dcnibf4-ct05-btn02_box a{
	position: relative;
	display:inline-block;
}

.dcnibf4-ct05-btn02_box a img{
	position: relative;
	display:block;
	width:90%;
	height:auto;
	margin:auto;
}




.dcnibf4-ct05-btn02_box{
	position: relative;
	text-align:center;
	margin-bottom:35px;
	
}

.dcnibf4-ct05-btn02_box a{
	position: relative;
	display:inline-block;
}

.dcnibf4-ct05-btn02_box a img{
	position: relative;
	display:block;
}


.dcnibf4-ct05-set{
	position:relative;
	width:92%;
	margin:80px auto 0;
}

.dcnibf4-ct05-text01{
	position:relative;
	font-size:18px;
	line-height:1 !important;
	margin-bottom:25px;
	font-weight:bold;
}

.dcnibf4-ct05-text02{
	position:relative;
	font-size:14px;
	line-height:2 !important;
	margin-bottom:60px;
	color:#6e6e6e;
}

.dcnibf4-ct05-text03{
	position:relative;
	font-size:18px;
	line-height:1 !important;
	margin-top:60px;
	margin-bottom:25px;
	font-weight:bold;
}

.dcnibf4-ct05-list-detail{
	position:relative;
	font-size:12px;
	line-height:1.8 !important;
	margin-top:10px;
	color:#6e6e6e;
	text-indent: -1.5em; /* 1行目を戻す */
	padding-left: 1.5em; /* 2行目以降を字下げ */
}



.dcnibf4-ct05-set-text01{
	position:relative;
	width:100%;
	text-align:right;
	margin:120px auto 0;
	font-size:14px;
}
















/* SP/PC用 */
.rps_del{
	display:block;
}
.rps_visible{
	display:none;
}










}



/* layout sp
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {

html{
	overflow-x:hidden;
}

html,body{
	min-width:320px;
}




main {
	position:relative;
	width:100%;
	min-width:320px;
	height:100%;
	text-align:left;
	-webkit-text-size-adjust: none;
	letter-spacing:0.02em;
}


/* ヘッダー */
#dcnibf4-header-Sec{
	position:relative;
	width:100%;
	height:17vw;
	background:#ffffff;
	border-top:solid 1vw #bf0000;
	box-sizing:border-box;
}

.dcnibf4-header-logo01{
	position:absolute;
	top:7vw;
	left:4vw;
	width:32vw;
	height:auto;
}

.dcnibf4-header-logo02{
	position:absolute;
	top:-1vw;
	right:0;
	width:53vw;
	height:auto;
}



/* メインビジュアル */
#dcnibf4-main-Sec{
	position:relative;
	width:100%;
}

.dcnibf4-main-bubble01{
	position:absolute;
	top:20vw;
	left:0;
	margin-left:0;
	width:100%;
	height:auto;
}

.dcnibf4-main-chara01{
	position:absolute;
	top:2vw;
	left:-1.5vw;
	margin-left:0;
	width:22vw;
	height:auto;
}

.dcnibf4-main-chara02{
	position:absolute;
	top:3.5vw;
	left:50%;
	margin-left:35vw;
	width:12vw;
	height:auto;
}

.dcnibf4-main-chara03{
	position:absolute;
	top:-10vw;
	left:50%;
	margin-left:26.5vw;
	width:20vw;
	height:auto;
}

.dcnibf4-main-caption01{
	position:relative;
	margin:0 auto 0;
	padding-top:4vw;
	width:61vw;
	height:auto;
}

.dcnibf4-main-text01{
	position:relative;
	margin:4vw auto 4vw;
	width:100%;
	height:auto;
}

.dcnibf4-main-inbox{
	position:relative;
	width:100%;
	background-image:url("../img/mv_bg_sp.png");
	background-repeat:no-repeat;
	background-position:top center;
	background-size:100% auto;
	background-color:#e5f6ff;
	padding-top:5vw;
	padding-bottom:14vw;
}


.dcnibf4-main-title-box{
	position:relative;
	width:100%;
	margin: 0 auto 0;
	
	background:rgba(255,255,255,0.9);
	border-radius:0;
	box-shadow: 0 0 15px 7.5px rgba(4,138,207,0.2);
	padding-top:6vw;
	padding-bottom:5vw;
}

.dcnibf4-main-chara04{
	position:absolute;
	top:15vw;
	left:50%;
	margin-left:-39vw;
	z-index:1;
	width:15.5vw;
	height:auto;
}

.dcnibf4-main-chara05{
	position:absolute;
	top:26vw;
	left:50%;
	margin-left:16vw;
	z-index:1;
	width:32vw;
	height:auto;
}

.dcnibf4-main-bubble02{
	position:absolute;
	top:-1vw;
	left:0;
	margin-left:0;
	z-index:1;
	width:100%;
	height:auto;
}

.dcnibf4-main-title01{
	position:relative;
	margin:auto;
	width:100%;
	height:auto;
}

.dcnibf4-main-features-box{
	position: relative;
	width:100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 6.5vw auto 0;
	box-sizing: border-box;
	column-gap: 0px;
}

.dcnibf4-main-features-box h2{
	width: calc(100% / 3);
	text-align: center;
	margin: 0 -1vw; /* ← gapをマイナスにしたい代替 */
}

.dcnibf4-main-features-box img{
	width: 100%;
	height:auto;
	display: block;
	margin: 0 auto;
}


.dcnibf4-main-features-text01{
	position: relative;
	flex-basis: 90%;
	width:90%;
	font-size:2.5vw;
	font-weight:bold;
	line-height:1.6;
	color:#666666;
	text-align:right;
	margin-top:4vw;
}

.dcnibf4-main-features-text02{
	position: relative;
	flex-basis: 90%;
	width:90%;
	font-size:2.5vw;
	line-height:1.6;
	color:#666666;
	text-align:right;
	margin-bottom:7vw;
}

.dcnibf4-btn-box{
	position: relative;
	width: 100%;
	display:block;
	text-align:center;
}

.dcnibf4-btn-box a{
	position: relative;
	display:inline-block;
	width:auto;
}

.dcnibf4-btn-box a img{
	position: relative;
	display:block;
	width:100%;
	height:auto;
}

.dcnibf4-btn-box a:nth-child(2) img{
	position: relative;
	display:inline-block;
	margin-left:0;
	margin-top:3vw;
}


.dcnibf4-link-box{
	position: absolute;
	top: -5vw;  
	left: 50%;
	transform: translateX(-50%);
	width:100%;
	display: flex;
	flex-wrap:wrap;
	justify-content: center;
	box-sizing: border-box;
	column-gap: 0;
}

.dcnibf4-link-box > *{
	width: calc(100% / 3);
	text-align: center;
	margin: 0 -1.25vw;
}

.dcnibf4-link-box img{
	width:100%;
	height:auto;
}

.dcnibf4-link-box img:hover{
	animation: none;
}




/* コンテンツ01 */
#dcnibf4-ct01-Sec{
	position:relative;
	width:100%;
	background-image:url("../img/ct01_bg_sp.png");
	background-repeat:no-repeat;
	background-position:top center;
	background-size:100% auto;
	background-color:#f2fbff;
	padding-top:16vw;
	padding-bottom:23vw;
}


.dcnibf4-ct01-title01{
	position: relative;
	margin:10vw auto 3vw;
	width:78vw;
	height:auto;
}

.dcnibf4-ct01-img-set{
	position: relative;

}

.dcnibf4-ct01-img01{
	position: relative;
	left:0;
	transform: none;
	pointer-events: none; 
	width:100%;
	height:auto;
	padding-top:0;
}

.dcnibf4-ct01-img02{
	position: absolute;
	top:35vw;
	width:100%;
	height:auto;
	z-index:2;
}

.dcnibf4-ct01-fukidashi01-box{
	position:absolute;
	left:0;
	top:18vw;
	margin-left:0;
	width:auto;
}

.dcnibf4-ct01-fukidashi01{
	width:46.5vw;
	height:auto;
}

.dcnibf4-ct01-chara01{
	position:absolute;
	right:-8vw;
	top:-17vw;
	width:35vw;
	height:auto;
}

.dcnibf4-ct01-fukidashi02-box{
	position:absolute;
	left:2.5vw;
	top:71.5vw;
	margin-left:0;
	width:auto;
}

.dcnibf4-ct01-fukidashi02{
	width:46.5vw;
	height:auto;
}

.dcnibf4-ct01-chara02{
	position:absolute;
	left:10vw;
	top:28vw;
	width:24vw;
	height:auto;
}

.dcnibf4-ct01-fukidashi03-box{
	position:absolute;
	left:auto;
	right:2vw;
	top:2vw;
	margin-left:auto;
	width:auto;
}

.dcnibf4-ct01-fukidashi03{
	width:49vw;
	height:auto;
}

.dcnibf4-ct01-chara03{
	position:absolute;
	right:3.5;
	top:27vw;
	width:18vw;
	height:auto;
}

.dcnibf4-ct01-fukidashi04-box{
	position:absolute;
	left:auto;
	right:0;
	top:58vw;
	margin-left:0;
	width:auto;
}

.dcnibf4-ct01-fukidashi04{
	width:47.2vw;
	height:auto;
}

.dcnibf4-ct01-chara04{
	position:absolute;
	right:10vw;
	top:38.4vw;
	width:17vw;
	height:auto;
}

.dcnibf4-ct01-title02{
	position: relative;
	margin:10vw auto 12vw;
	width:100%;
	height:auto;
}



.dcnibf4-movie-box{
	position: relative;
	width:72vw;
	margin:-26vw auto 0;
	background:none;
	z-index:1;
}

.dcnibf4-movie-box img{
	position: relative;
	width:100%;
	height:auto;
}




/* コンテンツ02 */
#dcnibf4-ct02-Sec{
	position:relative;
	width:100%;
	background-image:url("../img/ct02_bg_sp.png");
	background-repeat:no-repeat;
	background-position:top center;
	background-size:100% auto;
	background-color:#048acf;
	padding-top:13vw;
	padding-bottom:25vw;
}

.dcnibf4-ct02-bg{
	position:absolute;
	top:0;
	left:50%;
	transform: translateX(-50%);
	pointer-events: none; 
	display:none;
}

.dcnibf4-ct02-bg02{
	position:relative;
}

.dcnibf4-ct02-bg02-img{
	position:absolute;
	top:-12vw;
	left:0;
	margin-left:0;
	pointer-events: none;
	width:38.4vw;
	height:auto;
}

.dcnibf4-ct02-bg03{
	position:relative;
}

.dcnibf4-ct02-bg03-img{
	position:absolute;
	top:-280px;
	left:50%;
	margin-left:400px;
	pointer-events: none; 
}

.dcnibf4-ct02-bg04{
	position:relative;
}

.dcnibf4-ct02-bg04-img{
	position:absolute;
	top:-66px;
	left:50%;
	margin-left:-640px;
	pointer-events: none; 
}

.dcnibf4-ct02-chara01{
	position:absolute;
	left:3vw;
	top:17vw;
	margin-left:0;
	width:21vw;
	height:auto;
	z-index:1;
}


.dcnibf4-ct02-chara02{
	position:absolute;
	left:auto;
	right:1.5vw;
	top:40vw;
	margin-left:0;
	width:35vw;
	height:auto;
	z-index:3;
}

.dcnibf4-ct02-title{
	position: relative;
	margin:10vw auto 10vw;
	width:100%;
	height:auto;
	
}

.dcnibf4-ct02-caption-box{
	position: relative;
	margin:0 auto 5vw;
	width:100%;
	z-index:2;
}

.dcnibf4-ct02-caption{
	width:100%;
	height:auto;
}


.dcnibf4-ct02-text{
	position: relative;
	margin:0 auto 3vw;
	text-align:center;
	color:#ffffff;
	font-size:3.8vw;
	line-height:2;
}

.dcnibf4-ct02-img01{
	position: relative;
	margin:0 auto 0;
	z-index:2;
	width:100%;
	height:auto;
}

.dcnibf4-ct02-arrow{
	position: relative;
	margin:-7vw auto -7vw;
	width:100%;
	height:auto;
	z-index:3;
}

.dcnibf4-ct02-img02{
	position: relative;
	margin:0 auto 10vw;
	z-index:2;
	width:100%;
	height:auto;
}

.dcnibf4-ct02-img02-anime-set{
	position: relative;
	z-index:2;
}

.dcnibf4-ct02-img02-anime{
	position:absolute;
	top:8vw;
	width:100%;
	left:50%;
	transform: translateX(-50%);
	z-index:3;
}

.dcnibf4-ct02-img02-anime img{
	position:absolute;
	width:100%;
	height:auto;
	top:0;
	left:0;
	opacity:0;
}

.dcnibf4-ct02-img02-anime img:nth-child(1){
	position:relative;
	opacity:1;
}



.dcnibf4-ct02-img-box{
	position:relative;
	width:100%;
	margin:0 auto 5vw;
	display:flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap:0;
}

.dcnibf4-ct02-img-box-left{
	position:relative;
	width:100%;
	margin-left:0;
}

.dcnibf4-ct02-img-box-left img{
	width:100%;
	height:auto;
}

.dcnibf4-ct02-arrow02{
	position:relative;
	width:100%;
	height:auto;
	margin:-7vw auto -7vw;
	z-index:2;
}

.dcnibf4-ct02-img-box-right{
	position:relative;
	width:100%;
	margin-right:0;
}

.dcnibf4-ct02-img-box-right img{
	width:100%;
	height:auto;
}

.dcnibf4-ct02-img-box-right .dcnibf4-ct02-chara03{
	position:absolute;
	right:2vw;
	top:60vw;
	width:30vw;
	height:auto;
}


.dcnibf4-ct02-img-box02{
	position:relative;
	width:100%;
	margin:0 auto 7vw;
	display:flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap:0;
	align-items: center;
	z-index:2;
}

.dcnibf4-ct02-img-box02-left{
	position:relative;
	width:100%;
	margin-left:0;
	flex:none;
}

.dcnibf4-ct02-img-box02-right{
	position:relative;
	width:100%;
	margin-right:0;
	flex:none;
}

.dcnibf4-ct02-img-box02-text{
	position: relative;
	margin:0 auto 3vw;
	text-align:center;
	color:#ffffff;
	font-size:3.8vw;
	line-height:2;
	
}

.dcnibf4-ct02-img05{
	position:relative;
	width:100%;
	height:auto;
}




/* コンテンツ03 */
#dcnibf4-ct03-Sec{
	position:relative;
	width:100%;
	background-image:url("../img/ct03_bg_sp.png");
	background-repeat:no-repeat;
	background-position:top center;
	background-size:100% auto;
	background-color:#ffffff;
	padding-top:14vw;
	padding-bottom:14vw;
}


.dcnibf4-movie-box02{
	position: relative;
	width:72vw;
	margin:-24vw auto 0;
	background:none;
	z-index:1;
}

.dcnibf4-movie-box02 img{
	position: relative;
	width:100%;
	height:auto;
}


.dcnibf4-ct03-chara01{
	position:absolute;
	left:3vw;
	top:35vw;
	margin-left:0;
	z-index:1;
	width:18vw;
	height:auto;
}


.dcnibf4-ct03-title-box{
	position: relative;
	width:100%;
	margin-top:12vw;
	background-image:none
}

.dcnibf4-ct03-title{
	position: relative;
	margin:auto;
	width:100%;
	height:auto;
}


.dcnibf4-ct03-caption01{
	position: relative;
	margin:10vw auto 5vw;
	width:100%;
	height:auto;
}


.dcnibf4-ct02-text01{
	position: relative;
	text-align:center;
	color:#191919;
	line-height:2;
	font-size:3.8vw;
	margin-bottom:3vw;
}

.dcnibf4-ct03-img_box{
	position: relative;
}


.dcnibf4-ct03-chara02{
	position:absolute;
	left:auto;
	right:4vw;
	top:130vw;
	margin-left:0;
	z-index:1;
	width:21vw;
	height:auto;
}

.dcnibf4-ct03-img01{
	position: relative;
	margin:0 auto 5px;
	width:100%;
	height:auto;
}

.dcnibf4-ct02-text02_set{
	position: relative;
	width:90%;
	text-align:left;
	color:#666666;
	line-height:1.6;
	font-size:2.5vw;
	margin:0 auto 0;
}

.dcnibf4-ct02-text03{
	position: relative;
	width:90%;
	text-align:left;
	color:#666666;
	line-height:1.6;
	font-size:2.5vw;
	margin:3vw auto 0;
	padding-left:4.5em;   /* ← 全体を右へ */
	text-indent: -2.6em;  /* ← 1文字分だけ戻す */
}

.dcnibf4-ct02-text03 a{
	text-decoration:none;
	color:#666666;
}

.dcnibf4-ct03-caption02{
	position: relative;
	margin:7vw auto 0;
	width:100%;
	height:auto;
}




/* コンテンツ04 */
#dcnibf4-ct04-Sec{
	position:relative;
	width:100%;
	background-color:#e5f6ff;
	padding-bottom:14vw;
	padding-top:5vw;
}

.dcnibf4-ct04-title-box{
	position: relative;
	width:100%;
	background-image:url("../img/ct04_title01_bg_pc.png");
	margin-bottom:5vw;
	margin-top:-8vw;
}

.dcnibf4-ct04-title{
	position: relative;
	margin:auto;
	width:100%;
	height:auto;
}

.dcnibf4-ct04-zoom{
	position: relative;
	width:100%;
	height:auto;
}

.dcnibf4-ct04-img-box{
	position: relative;
	width:90vw;
	margin:5vw auto;
}

.dcnibf4-ct04-img-box img{
	width:90vw;;
	height:auto;
}


.dcnibf4-ct04-text01{
	position: relative;
	width:90%;
	text-align:left;
	color:#666666;
	line-height:1.6;
	font-size:2.5vw;
	margin:5vw auto 10vw;
}

.dcnibf4-ct04-img-box-anime{
	position:absolute;
	top:0;
	left:0;
	width:0;
	height:100%;
	overflow:hidden;
	transition: width 2s linear;
	z-index:1;
}

.dcnibf4-ct04-img-box-anime img{
	position: relative;
	margin:auto;
	width:90vw;
	height:auto;
}






/* コンテンツ05 */
#dcnibf4-ct05-Sec{
	position:relative;
	width:100%;
	background:#ffffff;
	padding-top:14vw;
	padding-bottom:14vw
}


.dcnibf4-ct05-title{
	position: relative;
	margin:0 auto 5vw;
	width:100%;
	height:auto;
}


.dcnibf4-ct05-btn01_box{
	position: relative;
	text-align:center;
	margin-bottom:7vw;
	
}

.dcnibf4-ct05-btn01_box a{
	position: relative;
	display:inline-block;
}

.dcnibf4-ct05-btn01_box a img{
	position: relative;
	display:block;
	width:100%;
	height:auto;
}

.dcnibf4-ct05-asset-box{
	position: relative;
	width:90%;
	margin:0 auto 40px;
	box-sizing:border-box;
	border:solid 1px #048acf;
}

.dcnibf4-ct05-asset-title{
	position: relative;
	width:100%;
	height:auto;
	
}

.dcnibf4-ct05-asset-text01{
	position: relative;
	text-align:center;
	font-size:3vw;
	line-height:1.8;
	color:#191919;
	font-weight:normal;
	margin-top:5vw;
	margin-bottom:5vw;
}

.dcnibf4-ct05-asset-img{
	position: relative;
	margin:0 auto 10vw;
	width:90%;
	height:auto;
}


.dcnibf4-ct05-btn02_box{
	position: relative;
	text-align:center;
	margin-bottom:5vw;
	
}

.dcnibf4-ct05-btn02_box a{
	position: relative;
	display:inline-block;
}

.dcnibf4-ct05-btn02_box a img{
	position: relative;
	display:block;
	width:90%;
	height:auto;
	margin:auto;
}


#dcnibf4-ct05-Sec{
	position:relative;
	width:100%;
	background:#ffffff;
	padding-top:14vw;
	padding-bottom:16vw;
}

.dcnibf4-ct05-chara01{
	position:absolute;
	top:5vw;
	left:50%;
	margin-left:-45vw;
}

.dcnibf4-ct05-chara01 img{
	width:8.5vw;
	height:auto;
}

.dcnibf4-ct05-chara02{
	position:absolute;
	top:-5.6vw;
	left:50%;
	margin-left:27.7vw;
}

.dcnibf4-ct05-chara02 img{
	width:13.8vw;
	height:auto;
}

.dcnibf4-ct05-caption01{
	position:relative;
	width:100%;
	text-align:center;
}

.dcnibf4-ct05-caption01 h2{
	font-size:4.2vw !important;
	line-height:1.6 !important;
	color:#000000;
	font-weight:bold;
	letter-spacing:0.05em;
}

.dcnibf4-ct05-btn-set{
	position:relative;
	width:100%;
	margin:4vw auto 0;
}

.dcnibf4-ct05-btn{
	position:relative;
	width:100%;
	height:auto;
}

.dcnibf4-ct05-set{
	position:relative;
	width:90%;
	margin:12vw auto 0;
	overflow-wrap: break-word;
}

.dcnibf4-ct05-text01{
	position:relative;
	font-size:4.2vw;
	line-height:1 !important;
	margin-bottom:3vw;
	font-weight:bold;
	letter-spacing:0.05em;
}

.dcnibf4-ct05-text02{
	position:relative;
	font-size:3.2vw;
	line-height:1.8 !important;
	margin-bottom:0;
	color:#6e6e6e;
}

.dcnibf4-ct05-text03{
	position:relative;
	font-size:4.2vw;
	line-height:1 !important;
	margin-top:8vw;
	margin-bottom:3vw;
	font-weight:bold;
}

.dcnibf4-ct05-list-detail{
	position:relative;
	font-size:3.2vw;
	line-height:1.8 !important;
	margin-top:10px;
	color:#6e6e6e;
	text-indent: -1.3em; /* 1行目を戻す */
	padding-left: 1.5em; /* 2行目以降を字下げ */
}

.dcnibf4-ct05-list-detail-link{
	color:#6e6e6e !important;
	text-decoration:underline;
	text-underline-offset: 3px;
}

.dcnibf4-ct05-list-detail-link:hover{
	text-decoration:none;
	text-decoration:underline;
}

.dcnibf4-ct05-set-text01{
	position:relative;
	width:100%;
	text-align:right;
	margin:10vw auto 0;
	font-size:2.8vw;
}








/* ホバー系 */
.dcnibf4-movie-box::after,
.dcnibf4-movie-box02::after{
	content: "";
	position: absolute;
	inset:0;
	background: #ffffff;
	opacity: 0;
	transition: opacity 0.4s ease;
	pointer-events:none;
}

.dcnibf4-movie-box:hover::after,
.dcnibf4-movie-box02:hover::after {
	opacity: 0;
}

/* iphone対策 */
.dcnibf4-movie-box img:hover,
.dcnibf4-movie-box02 img:hover {
  opacity: 1;
}


.over{
	opacity:1;
	transition: opacity 0.4s ease;
}

.over:hover {
	opacity:1;
}

.dcnibf4-header-logo02{
	transition: filter 0.4s ease;
}

.dcnibf4-header-logo02:hover {
	opacity:1;
	filter: brightness(1) saturate(1);
}





/* ホバー系 */
.dcnibf4-ct05-btn,.light_btn{
	transition: filter 0.4s ease;
}

.dcnibf4-ct05-btn,.light_btn:hover {
	opacity:1;
	filter: brightness(1) saturate(1);
}







.mega10-ct02-attention-mark.rps_visible{
	display:block;
}


/* SP/PC用 */
.rps_del{
	display:none;
}
.rps_visible{
	display:block;
}




}







/* モーダルフェードイン・アウト */
.mfp-fade.mfp-bg {
	opacity: 0;
	transition: opacity 0.4s ease;
}

.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.8;
}

.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}

/* コンテンツ本体 */
.mfp-fade .mfp-content {
	opacity: 0;
	transition: opacity 0.4s ease;
}

.mfp-fade.mfp-ready .mfp-content {
	opacity: 1;
}

.mfp-fade.mfp-removing .mfp-content {
	opacity: 0;
}
