@charset "utf-8";

.subTtl {
	display: block;
}
.clear::before,
.clear::after {
	content: "";
	display: table;
}
.clear::after {
	clear: both;
}
[class*="btnType"].grayPtn01 {
	border: 2px solid #5a5a5a;
	background: #5a5a5a;
}

@media print, all and (min-width:641px) {
	#mainArea {
		margin-top: 27px;
	}
	[class*="btnType"].grayPtn01:hover {
		border: 2px solid #5a5a5a;
		background: #fff;
		color: #5a5a5a;
	}
	[class*="btnType"].grayPtn01:hover::before {
		border-top: 1px solid #5a5a5a;
		border-right: 1px solid #5a5a5a;
	}
}

@media only screen and (max-width: 640px) {
	#mainArea {
		margin-top: 20px;
	}
}

/************************************************
mv carousel
************************************************/
.topMv {
	position: relative;
	overflow: hidden;
	margin-bottom: 10px;
}
.topMvCarousel {
	opacity: 0;
	transition: opacity .6s;
}
.topCarouselMvItem > a {
	display: block;
}
.topMvCarouselDots {
	display: flex;
	flex-wrap: wrap;
}
.topMvCarouselDots > li {
	position: relative;
}
.topMvCarouselDots > li button {
	width: 26px;
	height: 26px;
	background-color: transparent;
	font-size: 0;
	border: none;
	outline: none;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	position: relative;
	z-index: 2;
}
.topCarouselMvSvg {
	-webkit-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	transform: rotate(-90deg);
	border-radius: 50%;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	z-index: 1;
	outline: none;
}
.topCarouselMvSvg circle {
	fill: transparent;
	stroke-width: 3;
	stroke-linecap: round;
}
.topCarouselMvSvgCircle1 {
	stroke: #CFCFCF;
	stroke-dasharray: 51 51;
}
.topCarouselMvSvgCircle2 {
	stroke:#EB4741;
	display:none;
	stroke-dasharray:0 51;
}
.slick-active .topCarouselMvSvgCircle2 {
	display: block;
}
@keyframes circleTopMvCarusel {
	0% {
		stroke-dasharray:0 51;
	}
	100% {
		stroke-dasharray:51 51
	}
}
@media print, all and (min-width:641px) {
	.topMv {
		height: 460px;
		margin-bottom: 40px;
	}
	.topMvCarousel {
		width: 1200px;
		height: 460px;
		margin: 0 auto;
	}
	.topMvCarousel .slick-list {
		position: relative;
		width: 1360px;
		margin: 0 auto;
		overflow: visible;
	}
	.topMvCarousel .slick-list::before,
	.topMvCarousel .slick-list::after {
		content: "";
		position: absolute;
		top: 0;
		display: block;
		width: 300%;
		height: 100%;
		z-index: 1;
		content: none;
	}
	.topMvCarousel .slick-list::before {
		right: calc(100% - 80px);
		background-color: #fff;
	}
	.topMvCarousel .slick-list::after {
		left: calc(100% - 70px);
		background-color: rgba(255, 255, 255, .5);
	}
	.topMvCarousel .slick-slide {
		margin: 0;
	}
	.topMvCarouselDots {
		justify-content: flex-end;
		position: relative;
		bottom: 20px;
		left: 0;
		max-width: 1360px;
		width: 100%;
		margin: 0 auto;
		padding: 0 30px;
		z-index: 1;
	}
	.topMvCarouselDots > li {
		margin: 0 7px;
	}
}
.topMvCarouselTxt {
	position: absolute;
	top: 32%;
	left: 68px;
	min-width: 7.857rem;
	font-size: 18px;
}
@media only screen and (max-width: 640px) {
	.topMvCarousel {
		padding-left: 15px;
	}
	.topCarouselMvImg > img {
		width: 100%;
	}
	.topMvCarouselDots {
		justify-content: center;
		margin-top: 10px;
		padding-right: 15px;
	}
	.topMvCarouselDots > li {
		margin: 0 8px;
	}
	.topMvCarouselDots > li button {
		width: 22px;
		height: 22px;
	}
	.topCarouselMvSvg {
		width: 22px;
		height: 22px;
	}
	.topCarouselMvSvg circle {
		cx: 12;
		cy: 12;
		r: 6;
	}
	.topMvCarouselTxt {
		top: 34%;
		left: 30px;
	}
}
.topMvCarouselTxt .linkType01::before {
	top: 13px;
}
.bnrCarouselBlock03 .slick-list {
	padding: 2px 0;
}
.bnrCarouselBlock03 .item {
	text-decoration: none;
}
.bnrCarouselBlock03 .item img {
	transition: .3s ease;
}
.bnrCarouselBlock03 .item:hover img{
	transform: scale(1.02, 1.02);
}

/*---------------
mv tooltip
------------------*/
.topMvCarouselTooltipList {
	display: none;
}
.topMvCarouselTooltip {
	display: none;
	opacity: 0;
	position: absolute;
	bottom: calc(100% + 3px);
	left: 50%;
	width: 144px;
	transform: translateX(-50%);
}
.is-tooltip-active > .topMvCarouselTooltip {
	display: block;
	animation-name: fadeIn;
	animation-duration: .3s;
	animation-delay: .1s;
	animation-fill-mode: forwards;
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/*---------------
mv login
------------------*/
@media print, all and (min-width:641px) {
	.topCarouselMvSvg {
		-webkit-box-shadow: 0 0 2px rgba(0,0,2,1);
		box-shadow: 0 0 2px rgba(0,0,2,1);
	}
	.bnrCarouselBlock03 .slick-prev,
	.bnrCarouselBlock03 .slick-next {
		top: 70px;
	}
}

/************************************************
カードをつくる
************************************************/
.lineupSection {
	margin-top: 50px;
	padding: 46px 0 50px;
	background: rgb(251,252,252);
	background: linear-gradient(90deg, rgba(251,252,252,1) 0%, rgba(230,231,229,1) 100%);
}
.lineupSection .hasIcon {
	position: relative;
}
.lineupSection .hasIcon .icon {
	position: absolute;
	top: -20px;
	left: 10px;
	min-width: 70px;
	padding: 8px 7px;
	background: #e50012;
	line-height: 1;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
}
.lineupSection .hasBorder {
	display: block;
	position: relative;
}
.lineupSection .hasBorder::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 96%;
	height: 2px;
	background: #cbcbcb;
}

.recommendBlk .inr {
	padding: 8px 0;
}
.recommendBlk .cardItem {
	width: 97%;
	max-width: 333px;
	margin: 60px auto 0;
	text-align: center;
}
.recommendBlk .cardItem:first-child {
	margin-top: 0;
}
.recommendBlk .cardItem .imgLinkImg {
	display: inline-block;
	width: 72%;
}
.recommendBlk .cardItem .cardName {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	margin-top: 21px;
	padding: 0 20px;
}
.recommendBlk .cardItem .cardName span {
	font-size: 18px;
	font-weight: bold;
}
.recommendBlk .cardItem .cardSummary {
	margin-top: 21px;
	padding: 20px 20px 8px;
	border-radius: 5px;
	background: #fff;
}
.recommendBlk .cardItem .cardSummary .taglineTxt {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-weight: bold;
}
.recommendBlk .cardItem .cardSummary .pointWrap {
	margin-top: 12px;
	padding: 12px 0;
	border-top: 1px dashed #d6cec7;
	text-align: left;
}
.recommendBlk .cardItem .cardSummary .point {
	display: table;
	margin-top: 12px;
}
.recommendBlk .cardItem .cardSummary .point:first-child {
	margin-top: 0;
}
.recommendBlk .cardItem .cardSummary .point .svgImg {
	display: table-cell;
	vertical-align: middle;
	width: 39px;
}
.recommendBlk .cardItem .cardSummary .point .txt {
	display: table-cell;
	vertical-align: middle;
	padding-left: 7px;
	font-weight: bold;
}

.bnrBlk {
	margin-top: 47px;
}
.bnrBlk .inr {
	padding-top: 44px;
}

.characterBlk {
	margin-top: 50px;
}
.characterBlk .inr {
	padding: 60px 0 0;
	text-align: center;
}
.characterBlk .cntWrap + .cntWrap {
	margin-top: 40px;
}
.characterBlk .cntWrap .ttl {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
}
.characterBlk .cardItem {
	display: inline-block;
	width: 97%;
	margin-top: 37px;
	padding: 28px 26px 20px;
	border-radius: 5px;
	background: #fff;
}
.characterBlk .cardItem .cardName {
	font-weight: bold;
}
.characterBlk .cardItem .imgLinkImg {
	margin: 9px auto 0;
	max-width: 282px;
}
.characterBlk .cardItem .cardSummary {
	margin-top: 11px;
	line-height: 1.6;
}
.characterBlk .characterCardList{
	display: inline-block;
	width: 97%;
	margin: 34px auto 0;
}
.characterBlk .characterCardList > * {
	width: calc((100% - 5%) /3);
	height: auto;
	margin-top: 2%;
	margin-right: 2.5%;
	float: left;
}
.characterBlk .characterCardList > *:nth-child(-n+3) {
	margin-top: 0;
}
.characterBlk .characterCardList > *:nth-child(3n) {
	margin-right: 0;
}
/*characterColumn2*/
.characterBlk .characterColumn2 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	background: #fff;
	border-radius: 5px;
	margin: 35px auto 0;
}
.characterBlk .characterColumn2 .cardItem {
	margin-top: 0;
	width: 50%;
	display: block;
	padding: 32px 10px 20px;
}
.characterBlk .characterColumn2 .cardItem .imgLinkImg {
	display: block;
}
.characterBlk .characterColumn2 .cardItem .txt {
	padding-left: 0;
	display: block;
}
.characterBlk .characterColumn2 .cardSummary {
	width: 100%;
	padding-bottom: 34px;
}
@media print, all and (min-width:641px) {
	.lineupSection {
		margin-top: 94px;
		padding: 74px 0 60px;
	}
	.lineupSection .hasIcon .icon {
		top: -16px;
	}
	.lineupSection .hasBorder::before {
		position: static;
		transform: none;
		width: 100%;
	}
	.lineupSection .recommendBlk {
		width: 1082px;
		margin: 0 auto;
	}
	.recommendBlk .inr {
		padding: 0 0 20px;
	}
	.recommendBlk .cardItem {
		float: left;
		width: 334px;
		max-width: 334px;
		margin-top: 0;
		margin-left: 40px;
	}
	.recommendBlk .cardItem:first-child {
		margin-left: 0;
	}
	.recommendBlk .cardItem .imgLinkImg {
		width: 260px;
	}
	.recommendBlk .cardItem .cardName span {
		font-size: 20px;
		line-height: 1.6;
	}
	.recommendBlk .cardItem [class*="btnType"] {
		width: 306px;
	}

	.bnrBlk {
		margin-top: 47px;
	}
	.bnrBlk .inr {
		padding-top: 44px;
	}

	.characterBlk {
		margin-top: 38px;
	}
	.characterBlk .inr {
		padding: 42px 0 0;
	}
	.characterBlk .cntWrap .ttl {
		font-size: 24px;
	}
	.characterBlk .cardItem {
		display: table;
		width: 740px;
		margin: 35px auto 0;
		padding: 22px 33px;
	}
	.characterBlk .cardItem .txt {
		display: table-cell;
		padding-left: 20px;
		vertical-align: middle;
	}
	.characterBlk .cardItem .imgLinkImg {
		display: table-cell;
		width: 286px;
		max-width: 286px;
		margin-top: 0;
		vertical-align: middle;
	}
	.characterBlk .cardItem .cardName {
		font-size: 20px;
	}
	.characterBlk .cardItem .cardSummary {
		margin-top: 3px;
	}
	.characterBlk .characterCardList {
		width: 738px;
	}
	.characterBlk .characterCardList > * {
		width: 230px;
		margin-top: 2.5%;
		margin-right: 24px;
	}
	/*characterColumn2*/
	.characterBlk .characterColumn2 {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		background: #fff;
		border-radius: 5px;
		margin: 35px auto 0;
		width: 740px;
	}
	.characterBlk .characterColumn2 .cardItem {
		margin-top: 0;
		width: 50%;
		display: block;
		padding: 32px 0 20px;
	}
	.characterBlk .characterColumn2 .cardItem:nth-child(odd) {
		padding-left: 44px;
	}
	.characterBlk .characterColumn2 .cardItem:nth-child(even) {
		padding-right: 44px;
	}
	.characterBlk .characterColumn2 .cardItem .imgLinkImg {
		display: block;
	}
	.characterBlk .characterColumn2 .cardItem .txt {
		padding-left: 0;
		display: block;
	}
	.characterBlk .characterColumn2 .cardSummary {
		width: 100%;
		padding-bottom: 34px;
	}

}
@media print {
	.lineupSection {
		padding-top: 0;
	}
	.recommendBlk .cardItem {
		display: inline-block;
		width: 290px;
	}
	.recommendBlk .cardItem [class*="btnType"] {
		width: 260px;
	}
}

/************************************************
三菱UFJニコスが選ばれる理由
************************************************/
.reasonSection {
	padding: 45px 0 40px;
	background: url(/cmn/img/index_bg_001_sp.png) center top no-repeat, #f6f6f6;
	background-size: 100%;
}
.reasonSection .linkBtnList {
	margin-top: 65%;
	padding: 0 30px;
}
.reasonSection .linkBtnList > li {
	margin-top: 15px;
	border-radius: 17px;
	background: #fff;
}
.reasonSection .linkBtnList > li:first-child {
	margin-top: 0;
}
.reasonSection .linkWrap {
	display: block;
	padding: 9px 15px;
	border-radius: 17px;
	background: #fff;
	box-shadow: 2px 3.5px 8px 0px rgba(213, 213, 213, 1);
	text-align: center;
	text-decoration: none;
}
.reasonSection .linkWrap .linkIco {
	width: 40px;
	margin: 0 auto;
}
.reasonSection .linkWrap .leadTxt {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 10px;
}
.reasonSection .linkWrap .leadTxt .txt {
	position: relative;
	padding-left: 15px;
	font-size: 1.142rem;
	font-weight: bold;
}
.reasonSection .linkWrap .leadTxt .txt::before {
	content: "";
	display: block;
	width: 7px;
	height: 7px;
	margin-top: -4px;
	border-top: 1px solid #E60000;
	border-right: 1px solid #E60000;
	position: absolute;
	top: 50%;
	left: 0;
	transform: rotate(45deg);
}
.reasonSection .linkWrap .subTxt {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 7px;
}
.reasonSection .linkWrap .subTxt .txt {
	font-size: 0.857rem;
}

@media print, all and (min-width:641px) {
	.reasonSection {
		padding: 50px 0 60px;
		background: url(/cmn/img/index_bg_001_pc.png) center top no-repeat, #f6f6f6;
		background-size: contain;
	}
	.reasonSection .linkBtnList {
		display: flex;
		flex-wrap: wrap;
		width: 1080px;
		margin: 170px auto 0;
		padding: 0;
	}
	.reasonSection .linkBtnList > li {
		width: 333px;
		margin-top: 0;
		margin-left: 40px;
	}
	.reasonSection .linkBtnList > li:first-child {
		margin-left: 0;
	}
	.reasonSection .linkWrap {
		padding: 18px 26px;
	}
	.reasonSection .linkWrap:hover {
		opacity: 0.7;
	}
	.reasonSection .linkWrap .linkIco {
		width: 94px;
	}
	.reasonSection .linkWrap .leadTxt {
		margin-top: 20px;
	}
	.reasonSection .linkWrap .leadTxt .txt {
		font-size: 1.428rem;
	}
	.reasonSection .linkWrap .subTxt {
		margin-top: 15px;
	}
	.reasonSection .linkWrap .subTxt .txt {
		font-size: 1rem;
	}
}

/************************************************
richLink
************************************************/
.richLink > .richInner > .txtBox {
	display: block;
	text-decoration: none;
}
@media print, all and (min-width:641px) {
	.richLink > .richInner > .txtBox .ttl .linkType01 {
		transition: all .3s;
	}
	.richLink > .richInner > .txtBox .ttl .linkType01::before {
		top: 50%;
	}
	.richLink > .richInner > .txtBox:hover .ttl .linkType01 {
		color: #e60000;
	}
	.richLink > .richInner > .txtBox:hover .ttl .linkType01::before {
		-webkit-animation: btnArrowToRight .3s linear;
		animation: btnArrowToRight .3s linear;
	}
	.richLink > .richInner > .txtBox .ttl .linkType01::after,
	.richLink > .richInner > .txtBox:hover .ttl .linkType01::after {
		background: none;
	}
}

/************************************************
グループリンク
************************************************/
.groupTxt {
	padding: 0 1em;
}
.groupTxt .linkType01 {
	padding-left: 0;
}
.groupTxt .linkType01::before {
	content: none;
}
.groupTxt .cTxtLink02 {
	text-decoration: none;
}
.groupClm {
	align-items: center;
}
.groupClm.spCol2 > .clmItem:first-child {
	border-right: 1px solid #DBDBDB;
}
.topBtmBnrImgWrap {
	position: relative;
}
.topBtmBnrImgWrap .iconBlank {
	position: absolute;
	right: 10px;
	top: 10px;
}
@media print, all and (min-width:641px) {
	.topBnrArea {
		border-top: 1px solid #DBDBDB;
	}
	.groupTxt {
		font-size: 0.85714rem;
		margin-bottom: 0;
	}
	.groupClm > .clmItem {
		width: auto;
	}
	.topBtmBnr {
		align-items: center;
	}
	.topBtmBnr > .clmItem:first-child .topBtmBnrImgWrap .iconBlank {
		top: 0;
		right: 0;
	}
}

@media only screen and (max-width: 640px) {
	.topBnrArea {
		margin-bottom: -50px;
	}
	.groupTxt {
		padding: 0 9.5%;
		text-align: center;
	}
	.groupClm.spCol2 > .clmItem {
		width: 50%;
		padding: 2.5% 0;
	}
	.groupClm.spCol2 > .clmItem:nth-child(even) {
		margin-left: 0;
	}
	.topBtmBnr > .clmItem {
		width: 50%;
		padding: 6px 0;
		border-bottom: 1px solid #DBDBDB;
	}
	.topBtmBnr > .clmItem:first-child {
		width: 100%;
		padding: 8px 0;
		border-top: 1px solid #DBDBDB;
	}
	.topBtmBnr > .clmItem:first-child a img {
		width: 67%;
	}
	.topBtmBnr > .clmItem:nth-child(even){
		border-right: 1px solid #DBDBDB;
	}
	.topBtmBnr > .clmItem:first-child .topBtmBnrImgWrap .iconBlank {
		right: 15%;
	}
}

/************************************************
new carusel
************************************************/
.topMv .topMvCarousel {
	margin-bottom: 0;
}
.topMvCarousel .slick-track {
	width: 100% !important;
}
.topMvCarousel .slick-slide {
	left: 0 !important;
	top: 0 !important;
	position: absolute !important;
	transition: width .6s, transform 0s !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 1680px;
	overflow: hidden;
	z-index: 988 !important;
}
.topMvCarousel .slick-slide:first-child {
	position: relative !important;
}
.topMvCarousel .slick-slide.slick-current {
	z-index: 990 !important;
	opacity: 1 !important;
	width: 100% !important;
}

.topMvCarousel .slick-slide.prev {
	width: 0% !important;
	z-index: 991 !important;
	opacity:1 !important;
}
.topMvCarousel .slick-list {
	margin: 0;
	border-radius: 24px 0 0 24px;
	overflow: hidden;
}
.topCarouselMvItem > a,
.topMvCarouselItem > a {
	display: block;
}
.topMvCarousel .slick-list img {
	max-width: 1200px;
	max-height: 644px;
}
.topCarouselMvItem,
.topMvCarouselItem,
.topCarouselMvImg {
	max-width: 1200px;
}
.topMvCarousel .slick-slide.cloneMv {
	display: none;
}
.cloneWrap {
	display:none;
	position: absolute;
	left: 1220px;
	top: 0;
	z-index: 1;
}
.cloneWrap::before {
	content: "";
	position: absolute;
	display: inline-block;
	width: 1200px;
	min-height: 460px;
	z-index: 102;
	background-color: #fff;
	opacity: 0.5;
}
.cloneMv {
	position: absolute;
	z-index: 100;
}
.cloneMv.is-cloneCrt {
	z-index: 101;
}
.cloneMv img {
	max-width: 1200px;
	height: 460px;
	border-radius: 24px 0 0 24px;
	opacity: 0;
}
.cloneMv.is-cloneCrt img {
	opacity: 1;
}
@media print, all and (min-width:641px) {
	.topMvCarouselDots {
		position: absolute;
		min-width: 100%;
	}
	.topMvCarousel .slick-list {
		width: calc(100% - 80px);
		width:1200px;
	}
	.topMvCarousel .slick-track,
	.topMvCarousel .slick-list,
	.topMvCarousel .slick-slide > div {
		height: 460px;
	}
	.topMvCarousel .slick-list img {
		min-width: 1200px!important;
	}
	.topCarouselMvItem,
	.topMvCarouselItem,
	.topCarouselMvImg {
		max-width: calc(100% - 80px);
		width: calc(100% - 80px) !important;
		min-height: 460px;
	}
	.cloneWrap {
		display: block;
	}
}
@media only screen and (max-width: 640px) {
	.topMvCarousel .slick-list img {
		width: calc(100vw - 15px) !important;
	}
}
@media print, all and (min-width:1201px) {
	.topMvCarousel .slick-list img {
		height: 100%;
	}
}

/************************************************
applyBtn
************************************************/
.applyBtn a {
	color: #fff;
	background: linear-gradient(to bottom, #ffbd00 0%, #ff4b00 100%);
	border: none;
}
.applyBtn a:hover {
	color: #fff;
	background: linear-gradient(to bottom, #ffbd00 0%, #ff4b00 100%);
	border: none;
	opacity: .8;
}
.applyBtn a:hover::before {
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}
/************************************************
print
************************************************/
@media print{
	.topCarouselMvItem, .topMvCarouselItem, .topCarouselMvImg,
	.topMvCarousel {
		width: 100%;
		max-width: 100%;
	}
}