@charset "UTF-8";

:root {
	--side-padding-max: calc((100vw - 1288px) / 2);
}

body.index [class^=str-outer] {
	z-index: 100;
}


.sp {
	display: none !important;
}

a:hover {
	color: #2c69ff;
}






/*
@media screen and (min-width:1025px) {
	main {
		padding: 100px 0 0;
	}
}



@media screen and (max-width:1024px) {
	main {
		padding: 40px 0 0;
		overflow: hidden;
	}
}
*/

main {
	padding: 8px 0 0;
	overflow: hidden;
}

.site-footer-02 {
	margin-top: 0 !important;
}



.button-regular {
	box-sizing: border-box;
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 54px;
	padding: 0 32px;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.01em;
	background: #2c69ff;
	border-radius: 90px;
	transition: background 400ms ease-out;
}
.button-regular::after {
	position: relative;
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	margin-left: 8px;
	background: url(/jpn/2024new/img/arrow_button_white.svg) 0 0 no-repeat;
	background-size: 24px 24px;
}

.button-regular:hover {
	color: #fff;
	background: #1c3384;
}



.button-regular-white {
	box-sizing: border-box;
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 54px;
	padding: 0 32px;
	color: #2c69ff;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.01em;
	background: #fff;
	border: 1px solid #2c69ff;
	border-radius: 90px;
	transition: background 400ms ease-out;
}
.button-regular-white::after {
	position: relative;
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	margin-left: 8px;
	background: url(/jpn/2024new/img/arrow_button.svg) 0 0 no-repeat;
	background-size: 24px 24px;
	transition: filter 400ms ease-out;
}

.button-regular-white:hover {
	color: #fff;
	background: #2c69ff;
}
.button-regular-white:hover::after {
	filter: brightness(0) invert(1);
}






/* ---------- */
/* Scroll Slide */

.scroll-slide {
	box-sizing: border-box;
	position: relative;
	max-width: calc(1288px + (40px * 2));
	margin: 0 auto;
	padding: 0 40px;
}
.scroll-slide .slide-item {
	position: relative;
	display: flex;
	width: 408px;
	padding-bottom: 30px;
}


.scroll-slide .slide-item .category {
	position: absolute;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	text-align: right;
	aspect-ratio: 408 / 230;
	right: 0;
	bottom: 25px;
	z-index: 10;
	pointer-events: none;
}
.scroll-slide .slide-item .category span {
	position: relative;
	display: inline-block;
	width: 408px;
	top: 10px;
	text-align: right;
	transform: translateY(100%);
}
.scroll-slide .slide-item .category a {
	display: inline-block;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #2c69ff;
	pointer-events: auto;
}
.scroll-slide .slide-item .category a:hover {
	text-decoration: underline;
}

.scroll-slide .slide-item .category a.site {
	padding-right: 26px;
	background-position: 100% 0%;
	background-repeat: no-repeat;
	background-size: 24px 24px;
	background-image: url(/jpn/2024new/img/top/icon_site.svg);
}
.scroll-slide .slide-item .category .site.external {
	background-image: url(/jpn/2024new/img/top/icon_external.svg);
}






.scroll-slide .slide-item > a {
	display: block;
	width: 408px;
}
.scroll-slide .slide-item .image {
	border-radius: 15px;
	overflow: hidden;
	will-change: opacity;
}
.scroll-slide .slide-item img {
	width: 100%;
	height: auto;
	aspect-ratio: 408 / 230;
	object-fit: cover;
	transition: transform 400ms ease-out;
}
.scroll-slide .slide-item dl {
	margin: 16px 0 0;
}
.scroll-slide .slide-item dt {
	position: relative;
	display: flex;
	justify-content: space-between;
}
.scroll-slide .slide-item dt,
.scroll-slide .slide-item dt .date {
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #5b6179;
}
.scroll-slide .slide-item dt .site {
	display: inline-block;
	padding-right: 26px;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #2c69ff;
	background-position: 100% 50%;
	background-repeat: no-repeat;
	background-size: 24px 24px;
	background-image: url(/jpn/2024new/img/top/icon_site.svg);
}
.scroll-slide .slide-item dt .site.external {
	background-image: url(/jpn/2024new/img/top/icon_external.svg);
}
.scroll-slide .slide-item dt + dd {
	margin: 8px 0 0;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.02em;
}
.scroll-slide .slide-item dd + dd {
	margin: 10px 0 0;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.9;
	letter-spacing: 0.02em;
}

.scroll-slide .slide-item p {
	margin: 16px 0 0;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.02em;
}


.scroll-slide .slide-item a:hover dt + dd {
	text-decoration: underline;
	color: #2c69ff;
}
.scroll-slide .slide-item a:hover p {
	text-decoration: underline;
}
.scroll-slide .slide-item a:hover dd + dd {
	color: #4a4a4a;
}


.scroll-slide .slide-item a:hover .image img {
	transform: scale(1.03);
}





.scroll-slide .controller {
	position: relative;
	margin: 40px 0 0;
	height: 32px;
}
.scroll-slide .scrollbar {
	position: absolute;
	width: 94px;
	height: 24px;
	top: 4px;
	right: 112px;
}
.scroll-slide .scrollbar::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	left: 0;
	top: calc(50% - 1px);
	background: #c4c4c4;
}
.scroll-slide .swiper-scrollbar-drag {
	z-index: 10;
	background: none;
	border-radius: 0;
}
.scroll-slide .swiper-scrollbar-drag::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 10px;
	left: 0;
	top: calc(50% - 5px);
	z-index: 10;
	background: #2c69ff;
	border-radius: 5px;
}


.scroll-slide .button-prev,
.scroll-slide .button-next {
	position: absolute;
	display: block;
	width: 24px;
	height: 24px;
	top: calc(50% - 12px);
	cursor: pointer;
	transition: all 400ms ease-out;
}
.scroll-slide .button-prev button,
.scroll-slide .button-next button {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
}
.scroll-slide .button-prev button img,
.scroll-slide .button-next button img {
	width: 24px;
	height: auto;
}


.scroll-slide .button-prev {
	right: 48px;
}
.scroll-slide .button-next {
	right: 4px;
}
.scroll-slide .button-prev:hover,
.scroll-slide .button-next:hover {
	opacity: 0.6;
}


.scroll-slide.compact .controller {
	display: none;
}









/* ---------- */
/* Top */

body.index main {
	padding-top: 144px;
	padding-bottom: 144px;
}

#top-kv {
	position: relative;
	/*
	margin: 100px 0 0;
	*/
	padding: 64px 0;
}
#top-kv .bg {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 1;
}
#top-kv .bg span {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	transition: all 1200ms ease-out;
	opacity: 0;
}
#top-kv .bg span.show {
	opacity: 0.75;
	opacity: 1;
}
#top-kv .bg span.hide {
	opacity: 0 !important;
	visibility: hidden;
}





#top-kv .slide {
	position: relative;
	z-index: 10;
}
#top-kv .slide-item {
	box-sizing: border-box;
	width: calc(848px + 48px);
	padding: 0 24px;
}
#top-kv .slide-item .image {
	position: relative;
	border-radius: 16px;
	background: #fff;
	overflow: hidden;
	will-change: opacity;
	transition: all 400ms ease-out;
}
#top-kv .slide-item .image img {
	width: 848px;
	height: auto;
	aspect-ratio: 100 / 56;
	object-fit: cover;
	vertical-align: bottom;
	transition: all 400ms ease-out;
}

#top-kv .slide-item .video {
	position: relative;
	border-radius: 16px;
	background: #fff;
	overflow: hidden;
	will-change: opacity;
	transition: all 400ms ease-out;
}
#top-kv .slide-item .video video {
	width: 848px;
	height: auto;
	aspect-ratio: 100 / 56;
	object-fit: cover;
	vertical-align: bottom;
	transition: all 400ms ease-out;
}





#top-kv .slide-item dl {
	margin: 24px 0 0;
}
#top-kv .slide-item dt {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.02em;
}
#top-kv .slide-item dd {
	margin: 8px 0 0;
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
}


#top-kv .slide-item a {
	display: block;
	color: #4a4a4a;
	cursor: pointer;
	text-decoration: none;
}
#top-kv .slide-item a:hover {
	text-decoration: underline;
}
#top-kv .slide-item a:hover .image img {
	opacity: 0.85;
}




#top-kv .prev,
#top-kv .next {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 48px;
	height: 48px;
	margin: 0;
	padding: 0;
	top: calc((475px - 48px) / 2);
	background: rgba(255,255,255,0.8);
	border: none;
	border-radius: 24px;
	cursor: pointer;
}
#top-kv .prev img,
#top-kv .next img {
	width: 24px;
	height: auto;
}
#top-kv .prev {
	left: calc(50% - 448px);
}
#top-kv .next {
	right: calc(50% - 448px);
}




#top-kv .controller {
	position: absolute;
	height: 24px;
	left: 50%;
	top: calc(475px - 40px);
	transform: translateX(-50%);
	text-align: center;
	overflow: hidden;
}



#top-kv .controller-inner {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	height: 24px;
	padding: 4px 16px;
	background: rgba(255,255,255,0.8);
	border-radius: 20px;
}

#top-kv .controller .play,
#top-kv .controller .pause {
	margin: 0 0 0 16px;
	padding: 0;
	width: 24px;
	height: 24px;
	border: none;
	background: transparent;
	cursor: pointer;
	
	position: absolute;
	visibility: hidden;
}


#top-kv .controller[data-status="paused"] .play {
	position: relative;
	visibility: visible;
}
#top-kv .controller[data-status="playing"] .pause {
	position: relative;
	visibility: visible;
}


#top-kv .controller .track {
	display: flex;
}
#top-kv .controller .track a {
	position: relative;
	display: block;
	width: 24px;
	height: 24px;
	cursor: pointer;
}
#top-kv .controller .track a + a {
	margin-left: 16px;
}
#top-kv .controller .track a span {
	position: absolute;
	display: block;
	width: 100%;
	height: 2px;
	left: 0;
	top: calc(50% - 1px);
	background: #7d869a;
}
#top-kv .controller .track a span i {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: #2e55dc;
	transform: scaleX(0);
	transform-origin: left center;
}
#top-kv .controller .track a.current {
	width: 80px;
}
#top-kv .controller .track a.current span {
	height: 2px;
	background: #dcdcdc;
}
#top-kv .controller .track a.seeking span i {
	transform: scaleX(1);
	transition: all 4000ms linear;
}



#top-kv .controller button {
	transition: opacity 400ms ease-out;
}
#top-kv .controller a,
#top-kv .controller a span {
	transition: all 400ms ease-out;
}

#top-kv .controller a:hover,
#top-kv .controller button:hover {
	opacity: 0.6;
}


#top-kv .slide-inner {
	visibility: hidden;
}
#top-kv .slide-inner.slick-initialized {
	visibility: visible;
}



#top-kv .slide.full-width .slide-item {
	width: 100vw;
	padding: 0 86px;
}
#top-kv .slide.full-width .slide-item .image {
	aspect-ratio: auto;
	height: 514px;
}
#top-kv .slide.full-width .slide-item .image img {
	width: calc(100vw - (86px * 2));
	height: 514px;
	aspect-ratio: auto;
	object-fit: cover;
}
#top-kv .slide.full-width dl {
	text-align: center;
}
#top-kv .slide.full-width .slick-track {
	width: 50000px !important;
}

#top-kv .slide.single .track,
#top-kv .slide.single .play,
#top-kv .slide.single .pause {
	display: none;
}
#top-kv .slide.single .prev,
#top-kv .slide.single .next {
	pointer-events: none;
	opacity: 0.2;
	transition: none;
}





@media screen and (min-height:820px) {
	#top-kv .controller {
		position: relative;
		left:  auto;
		top: auto;
		margin: 40px 0 0;
		transform: none;
	}
}

@media screen and (max-height:780px) {
	#top-kv .slide-item {
		width: calc(640px + 48px);
		padding: 0 24px;
	}
	#top-kv .slide-item .image img,
	#top-kv .slide-item .video video {
		width: 640px;
	}


	#top-kv .prev,
	#top-kv .next {
		top: calc((358px - 48px) / 2);
	}
	#top-kv .prev {
		left: calc(50% - 346px);
	}
	#top-kv .next {
		right: calc(50% - 346px);
	}

	#top-kv .controller {
		top: calc(358px - 40px);
	}
}





.top-column {
	margin: 0 80px;
}

.top-column > .inner {
	box-sizing: border-box;
	position: relative;
	max-width: calc(1288px + (40px * 2));
	margin: 0 auto;
	padding: 0 40px;
}



@media screen and (min-width:1696px) {
	.top-column {
		width: calc(1288px + (124px * 2));
		margin-left: auto;
		margin-right: auto;
	}
	.top-column > .inner {
		max-width: calc(1288px + (124px * 2));
		padding-left: 124px;
		padding-right: 124px;
	}
}




h2.subtitle {
	font-size: 4.6rem;
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: 0.02em;
}






.mf_finder_searchBox_items {
	display: flex;
	justify-content: space-between;
}

.mf_finder_searchBox_query_wrap {
	position: relative;
	width: calc(100% - 96px - 24px);
}
.mf_finder_searchBox_submit {
	width: 96px;
}


.mf_finder_searchBox_query_wrap input {
	box-sizing: border-box;
	width: 100%;
	height: 66px;
	margin: 0;
	padding: 16px 24px;
	
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
	
	background: #f8f8f8;
	border: 1px solid #313131;
	border-radius: 8px;
}
.mf_finder_searchBox_query_wrap input::placeholder {
	color: #5b6179;
	opacity: 1;
}

.mf_finder_searchBox_submit {
	box-sizing: border-box;
	height: 66px;
	font-size: 0;
	border-width: 0;
	border-radius: 33px;
	background: #2c69ff url(/jpn/2024new/img/top/icon_search.svg) 50% 50% no-repeat;
	background-size: 32px 32px;
	cursor: pointer;
	transition: background 400ms ease-out;
}
.mf_finder_searchBox_submit:hover {
	background-color: #1c3384;
}

.mf_finder_searchBox_links {
	display: none;
}

.searchBox .list {
	margin: 16px 0 0;
}
.searchBox .list ul {
	display: flex;
}
.searchBox .list li + li {
	margin-left: 16px;
}
.searchBox .list li a {
	box-sizing: border-box;
	display: block;
	padding: 4px 16px;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #2c69ff;
	border: 1px solid #2c69ff;
	border-radius: 4px;
	transition: all 400ms ease-out;
}
.searchBox .list li a:hover {
	color: #fff;
	background: #2c69ff;
	text-decoration: underline;
}



.mf_finder_searchBox_suggest_items {
	position: absolute;
	width: 100%;
    margin: -8px 0 0;
	padding: 0;
    list-style-type: none;
    background: #fff;
	border: 1px solid #313131;
	border-radius: 0 0 8px 8px;
	z-index: 5;
	overflow: hidden;
}
.mf_finder_searchBox_suggest_item a {
	display: block;
	padding: 8px 24px;
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #4a4a4a;
	transition: all 400ms ease-out;
}
.mf_finder_searchBox_suggest_item a:hover {
	background: #f8f8f8;
}








#top-topics {
	margin: 144px 0 0;
}
#top-topics .header {
	margin: 0 80px;
}
#top-topics .header > .inner {
	box-sizing: border-box;
	position: relative;
	max-width: calc(1288px + (40px * 2));
	margin: 0 auto;
	padding: 0 40px;
}

@media screen and (min-width:1696px) {
	#top-topics {
		width: 100%;
	}
	#top-topics .header {
		width: calc(1288px + (124px * 2));
		margin-left: auto;
		margin-right: auto;
	}
	#top-topics .header > .inner {
		max-width: calc(1288px + (124px * 2));
		padding-left: 124px;
		padding-right: 124px;
	}
}


#top-topics .header .inner {
	display: flex;
	justify-content: space-between;
}
#top-topics .header a {
	display: inline-flex;
	width: auto;
	white-space: nowrap;
}

#top-topics .slide {
	margin-top: 56px;
}
























#top-social {
	position: relative;
	width: 100%;
	margin: 0;
	background: #EDECEF;
}


/*
#top-social .content {
	margin: 32px 0 0;
}
#top-social .content p {
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
}

#top-social > .inner > .visual {
	position: relative;
	width: 100vw;
	height: 480px;
	margin: 56px -120px 0;
	overflow: hidden;
}
@media screen and (min-width:1536px) {
	#top-social > .inner > .visual {
		position: relative;
		width: 100vw;
		margin: 56px calc((1288px - 100vw) / 2) 0;
	}
}



#top-social .link {
	position: absolute;
	right: 124px;
	top: 0;
}

#top-social .link a {
	display: inline-flex;
	width: auto;
	white-space: nowrap;
}


@media screen and (max-width:1695px) {
	#top-social .link {
		right: 40px;
	}
}
@media screen and (max-width:1023px) {
	#top-social .link {
		position: relative;
		right: auto;
		top: auto;
		margin: 56px 0 0;
	}
}
*/



/*
#top-social > .inner > .visual span,
#top-social > .inner > .visual div {
	position: absolute;
	display: block;
	width: 100%;
	height: 58vw;
	left: 0;
	top: 0;
}
#top-social > .inner > .visual span ul,
#top-social > .inner > .visual div ul {
	display: flex;
}
#top-social > .inner > .visual span li,
#top-social > .inner > .visual div li {
	width: calc(100% / 3);
}
#top-social > .inner > .visual span li img,
#top-social > .inner > .visual div li img {
	width: 100%;
	height: 58vw;
	object-fit: cover;
}
*/


#top-social .menu {
	box-sizing: border-box;
	position: relative;
}
#top-social .menu-container {
	display: flex;
	justify-content: space-between;
	padding: 150px 36px;
}

#top-social .menu-box {
	width: calc((100% - 136px) / 3);
}
#top-social .menu-box + .menu-box {
}
#top-social .menu-box dt {
	font-size: 2.5rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
	text-align: center;
}
#top-social .menu-box dd {
	margin: 24px 0 0;
}

#top-social .menu-box dt a {
	display: inline-block;
	padding-right: 36px;
	color: #2c69ff;
	background: url(/jpn/2024new/img/top/arrow_next.svg) 100% 50% no-repeat;
	background-size: 24px 24px;
}

#top-social .menu-box dd a {
	display: block;
	padding-right: 30px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 190%;
	letter-spacing: 0.01em;
	color: #2c69ff;
	background: url(/jpn/2024new/img/top/arrow_next.svg) 100% 50% no-repeat;
	background-size: 24px 24px;
}
#top-social .menu-box li + li {
	margin-top: 8px;
}
#top-social .menu-box a:hover {
	text-decoration: underline;
}


#top-social .menu-box .image {
	display: none;
}














#top-feature {
	margin: 40px 0 0;
}
#top-feature .header {
	margin: 0 80px;
}
#top-feature .header > .inner {
	box-sizing: border-box;
	position: relative;
	max-width: calc(1288px + (40px * 2));
	margin: 0 auto;
	padding: 0 40px;
}


@media screen and (min-width:1696px) {
	#top-feature {
		width: 100%;
	}
	#top-feature .header {
		width: calc(1288px + (124px * 2));
		margin-left: auto;
		margin-right: auto;
	}
	#top-feature .header > .inner {
		max-width: calc(1288px + (124px * 2));
		padding-left: 124px;
		padding-right: 124px;
	}
}


#top-feature h2 {
	margin: 0 0 56px;
}









.top-feature-column {
	position: relative;
	height: 600px;
}
.top-feature-column > .inner {
	margin: 0 80px;
}
.top-feature-column > .inner .extra {
	box-sizing: border-box;
	position: relative;
	max-width: calc(1288px + (40px * 2));
	margin: 0 auto;
	padding: 0 40px;
}

@media screen and (min-width:1696px) {
	.top-feature-column > .inner {
		width: calc(1288px + (124px * 2));
		margin-left: auto;
		margin-right: auto;
	}
	.top-feature-column > .inner .extra {
		max-width: calc(1288px + (124px * 2));
		padding-left: 124px;
		padding-right: 124px;
	}
}



.top-feature-column .visual {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 1;
}
.top-feature-column .visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}



.top-feature-column .extra {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 600px;
	z-index: 10;
}

.top-feature-column.type2 .extra {
	align-items: flex-end;
}
.top-feature-column.color-white .extra,
.top-feature-column.color-white .extra h3,
.top-feature-column.color-white .extra dt {
	color: #fff;
}

.top-feature-column .content {
	width: 545px;
}

.top-feature-column h3 {
	font-size: 3.6rem;
	font-weight: 350;
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: #5b6179;
}
.top-feature-column dl {
	margin: 40px 0 0;
}
.top-feature-column dt {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.02em;
	color: #5b6179;
}
.top-feature-column dd {
	margin: 16px 0 0;
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
}
.top-feature-column .link {
	margin: 56px 0 0;
}
.top-feature-column .link a {
	display: inline-flex;
	width: auto;
	white-space: nowrap;
}


#top-feature .casestudy {
	padding: 80px;
	background: linear-gradient(88.27deg, #2669ff 0.83%, #0000b8 101.01%);
}
#top-feature .casestudy p {
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
	text-align: center;
	color: #fff;
}
#top-feature .casestudy .link {
	margin: 40px auto 0;
	text-align: center;
}
#top-feature .casestudy .link a {
	display: inline-flex;
	width: auto;
}





.top-feature-column.blustellar {
}
.top-feature-column.blustellar .logo {
	position: absolute;
	width: 580px;
	height: 120px;
	right: calc(50% + 30px);
	top: calc(50% - 60px);
	z-index: 10;
}
.top-feature-column.blustellar .logo img {
	width: 100%;
	height: auto;
	object-fit: contain;
}


@media screen and (max-width:1279px) {
	.top-feature-column.blustellar .logo {
		width: 480px;
		height: 100px;
		right: calc(50% + 30px);
		top: calc(50% - 50px);
	}
}
@media screen and (max-width:1024px) {
	.top-feature-column.blustellar .logo {
		width: 360px;
		height: 75px;
		right: calc(50% + 30px);
		top: calc(50% - 38px);
	}
}




.top-feature-column.cotomi {
	background: #F0F2F6;
}
.top-feature-column.cotomi .logo {
	position: absolute;
	width: 462px;
	height: 462px;
	right: calc(50% + 80px);
	top: calc(50% - 231px);
	z-index: 10;
}
.top-feature-column.cotomi .logo img {
	width: 100%;
	height: auto;
	object-fit: contain;
}


@media screen and (max-width:1279px) {
	.top-feature-column.cotomi .logo {
		width: 400px;
		height: 400px;
		right: calc(50% + 70px);
		top: calc(50% - 200px);
	}
}
@media screen and (max-width:1024px) {
	.top-feature-column.cotomi .logo {
		width: 320px;
		height: 320px;
		right: calc(50% + 50px);
		top: calc(50% - 160px);
	}
}










#top-information {
	margin-top: 144px;
}
#top-information .inner {
	position: relative;
}

#top-information h2 {
	margin-bottom: 56px;
}

#top-information .tab-list {
	position: absolute;
	right: 40px;
	top: 0;
	border: none !important;
}

@media screen and (min-width:1696px) {
	#top-information .tab-list {
		right: 124px;
	}
}


#v3r-news.comp-tab-news.js-tab {
	position: static !important;
	margin: 0 !important;
}

#top-information .tab-list {
	display: flex;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}
#top-information .tab-list span {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	height: 54px;
	padding: 0 32px !important;
	font-size: 1.6rem !important;
	font-weight: 700 !important;
	line-height: 1.9 !important;
	letter-spacing: 0.01em;
	color: #2c69ff !important;
	background: #fff;
	border: 1px solid #2e55ec;
	cursor: pointer;
	transition: all 400ms ease-out;
}
#top-information .tab-list span::before {
	display: none !important;
}
#top-information .tab-list li {
	width: auto !important;
	border: none !important;
	background: none !important;
}
#top-information .tab-list li:nth-child(1) span {
	border-radius: 30px 0 0 30px;
}
#top-information .tab-list li:nth-child(2) span {
	border-width: 1px 0;
}
#top-information .tab-list li:nth-child(3) span {
	border-radius: 0 30px 30px 0;
}

#top-information .tab-list li[aria-selected="true"] span,
#top-information .tab-list span:hover {
	color: #fff !important;
	background: #2c69ff !important;
}


#top-information p.rss {
	position: absolute;
	display: block;
	left: 0;
	right: auto !important;
	top: -68px !important;
	transform: translateY(-100%);
	margin-left: 37.5rem !important;
}
#v3r-news.comp-tab-news.js-tab .tab-panel .inner .rss > a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	min-width: 60px;
	height: 36px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #2c69ff;
	border: 1px solid #2c69ff;
	border-radius: 90px;
	transition: all 400ms ease-out;
}
#v3r-news.comp-tab-news.js-tab .tab-panel .inner .rss > a:hover {
	opacity: 1;
	color: #fff;
	background: #2c69ff;
}





.func-modal {
	display: none !important;
}
div[id*="fancybox"] {
	display: none !important;
}





.mod-link-news ul {
	border-top: 1px solid #999;
}
.mod-link-news li {
	display: flex;
	justify-content: space-between;
	padding: 0 !important;
	border-bottom: 1px solid #999 !important;
}
.mod-link-news li .date {
	width: 200px;
}
.mod-link-news li .date .inner {
	display: block;
	padding: 28px 0 !important;
	font-size: 1.8rem !important;
	font-weight: 700 !important;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #5b6179 !important;
	white-space: nowrap;
}
.mod-link-news li .desc {
	width: calc(100% - 200px);
}
.mod-link-news li .desc .inner a {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding: 28px 80px 28px 0 !important;
	font-size: 1.8rem !important;
	line-height: 1.9 !important;
	letter-spacing: 0.01em;
	color: #4a4a4a !important;
	
	background: url(/jpn/2024new/img/top/arrow_topics.svg) 100% 50% no-repeat;
	background-size: 40px 40px;
	
	/*
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	*/
}
.mod-link-news li .desc .inner a:hover {
	text-decoration: underline;
	color: #2c69ff !important;
}


#top-information .mod-btn {
	margin: 56px auto 0;
	text-align: center;
}
#top-information .mod-btn a {
	box-sizing: border-box;
	position: relative;
	display: inline-flex;
	align-items: center;
	width: auto;
	min-height: 54px;
	padding: 0 32px;
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: 0.01em;
	background: #2c69ff !important;
	border-radius: 90px;
	transition: background 400ms ease-out;
}
#top-information .mod-btn a::before {
	display: none !important;
}
#top-information .mod-btn a::after {
	position: relative;
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	margin-left: 8px;
	background: url(/jpn/2024new/img/arrow_button_white.svg) 0 0 no-repeat;
	background-size: 24px 24px;
}
#top-information .mod-btn a:hover {
	color: #fff;
	background: #1c3384 !important;
}








#top-pickup {
	margin-top: 144px;
}

#top-pickup .slide {
	margin-top: 56px;
}


#top-pickup .header {
	margin: 0 80px;
}
#top-pickup .header > .inner {
	box-sizing: border-box;
	position: relative;
	max-width: calc(1288px + (40px * 2));
	margin: 0 auto;
	padding: 0 40px;
}


@media screen and (min-width:1696px) {
	#top-pickup {
		width: 100%;
	}
	#top-pickup .header {
		width: calc(1288px + (124px * 2));
		margin-left: auto;
		margin-right: auto;
	}
	#top-pickup .header > .inner {
		max-width: calc(1288px + (124px * 2));
		padding-left: 124px;
		padding-right: 124px;
	}
}








#top-attention {
	margin-top: 144px;
}
#top-attention h2 {
	font-size: 3rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
}

#top-attention .header {
	display: flex;
	justify-content: space-between;
}

#top-attention .header .link a {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 32px;
	padding: 1px 36px 0 35px;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.9;
	color: #2c69ff;
	
	background: url(/jpn/2024new/img/top/arrow_next.svg) 100% 50% no-repeat;
	background-size: 32px 32px;
}
#top-attention .header .link a:hover {
	text-decoration: underline;
}

#top-attention .header .link a::before {
	position: absolute;
	content: "";
	display: block;
	width: 19px;
	height: 31px;
	left: 0;
	top: calc(50% - 16px);
	background: url(/jpn/2024new/img/top/icon_notice.png) 0 0 no-repeat;
	background-size: 100% auto;
}





#top-attention .content {
	margin: 56px 0 0;
}

#top-attention .content ul {
	border-top: 1px solid #999;
}
#top-attention .content li {
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #999;
}


#top-attention .content .date {
	width: 200px;
	padding: 28px 0;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #5b6179;
	white-space: nowrap;
}
#top-attention .content .desc {
	width: calc(100% - 200px);
}
#top-attention .content .desc a {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding: 28px 80px 28px 0;
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
	
	background: url(/jpn/2024new/img/top/arrow_topics.svg) 100% 50% no-repeat;
	background-size: 40px 40px;
	
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
#top-attention .content .desc a:hover {
	text-decoration: underline;
}


















/* ---------- */
/* Breadcrumbs */

/*
.breadcrumbs {
	box-sizing: border-box;
	min-height: 75px;
	padding: 8px 40px;
	font-size: 1.3rem;
}
.breadcrumbs ul {
	display: flex;
}
.breadcrumbs li {
	line-height: 1.9;
}
.breadcrumbs li + li {
	margin-left: 8px;
}
.breadcrumbs li a {
	position: relative;
	display: inline-block;
	padding-right: 24px;
}
.breadcrumbs li a::after {
	position: absolute;
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	right: 0;
	top: calc(50% - 8px);
	background: url(/jpn/2024new/img/arrow_breadcrumbs.svg) 50% 50% no-repeat;
	background-size: 5px 6px;
}
.breadcrumbs li strong {
	display: inline-block;
	color: #2c69ff;
	cursor: default;
}
*/

main {
	padding-top: 0;
}

.breadcrumbs {
	box-sizing: border-box;
	max-width: 1220px;
	margin: 0 auto 30px;
	padding: 12px 10px;
	font-size: 1.2rem;
	line-height: 1.625;
}
.breadcrumbs ul {
	display: flex;
}
.breadcrumbs li {
	position: relative;
	margin-right: 33px;
}
.breadcrumbs li:last-child {
	margin-right: 0;
}
.breadcrumbs li::before {
    position: absolute;
    z-index: 2;
    top: 50%;
    right: -20px;
    display: block;
    width: 0;
    height: 0;
    content: "";
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border-width: 4px 0 4px 7px;
    border-style: solid;
    border-color:transparent transparent transparent #333
}
.breadcrumbs li::after {
    position: absolute;
    z-index: 3;
    top: 50%;
    right: -18px;
    display: block;
    width: 0;
    height: 0;
    content: "";
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border-width: 4px 0 4px 7px;
    border-style: solid;
    border-color:transparent transparent transparent #fff
}
.breadcrumbs li:last-child::before,
.breadcrumbs li:last-child::after {
	display: none;
}

.breadcrumbs a,
.breadcrumbs strong {
	color: #000;
}
.breadcrumbs a {
	border-bottom: 1px solid #adadad;
}
.breadcrumbs a:hover {
	border-bottom-color: transparent;
}





/* ---------- */
/* Title */

.content-title {
	position: relative;
	margin: 0 0 80px;
	padding: 0 0 42px;
	text-align: center;
}
.content-title h1 {
	font-size: 5rem;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0.02em;
}

.content-title .content-caption {
	margin: 16px 0 0;
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #5b6179;
}

.content-title::after {
	position: absolute;
	content: "";
	display: block;
	width: 40px;
	height: 4px;
	left: calc(50% - 20px);
	bottom: 0;
	background: #2c69ff;
}






/* ---------- */
/* Main visual */

.main-visual {
	margin: 80px 40px 0;
	border-radius: 24px;
	overflow: hidden;
}
.main-visual img {
	width: 100%;
	height: auto;
}

@media screen and (min-width:1807px) {
	.main-visual {
		width: calc(1920px - (96px * 2));
		margin-left: auto;
		margin-right: auto;
	}
}





section.primary {
	position: relative;
	margin: -80px 0 0;
}
.corporate-container {
	margin: 0 80px;
	padding: 0 0 144px;
	background: #fff;
	border-radius: 16px;
}

.corporate-container > .inner {
	box-sizing: border-box;
	position: relative;
	max-width: calc(1288px + (40px * 2));
	margin: 0 auto;
	padding: 120px 40px 0;
}



@media screen and (min-width:1696px) {
	.corporate-container {
		width: calc(1288px + (124px * 2));
		margin-left: auto;
		margin-right: auto;
	}
	.corporate-container > .inner {
		max-width: calc(1288px + (124px * 2));
		padding-left: 124px;
		padding-right: 124px;
	}
}






.corporate-container > .inner.has-nav {
	padding-top: 48px;
}


.inner-nav {
	height: 32px;
	margin: 0 0 144px;
}
.inner-nav ul {
	display: flex;
	justify-content: center;
}
.inner-nav li + li {
	margin-left: 64px;
}
.inner-nav li {
	position: relative;
	min-height: 32px;
}
.inner-nav a {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 32px;
	padding-right: 34px;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: #2c69ff;
}
.inner-nav a:hover {
	text-decoration: underline;
}

/*
.inner-nav a::before,
.inner-nav a::after {
	box-sizing: border-box;
	position: absolute;
	content: "";
	display: block;
	width: 28px;
	height: 28px;
	right: 0;
	top: calc(50% - 14px);
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 28px 28px;
	transition: all 300ms ease-out;
}
.inner-nav a::before {
	background-image: url(/jpn/2024new/img/arrow_circle_down.svg);
}
.inner-nav a::after {
	opacity: 0;
	background-image: url(/jpn/2024new/img/arrow_circle_down_active.svg);
}
*/


.inner-nav li::before {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 4px;
	left: 0;
	bottom: -24px;
	background: #2c69ff;
	opacity: 0;
	transition: opacity 300ms ease-out;
}

/*
.inner-nav li.current::before {
	opacity: 1;
}

.inner-nav li.current a::before {
	opacity: 0;
}
.inner-nav li.current a::after {
	opacity: 1;
}
*/


.inner-nav a span + span {
	box-sizing: border-box;
	position: absolute;
	display: block;
	width: 28px;
	height: 28px;
	right: 0;
	top: calc(50% - 14px);
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 28px 28px;
	transition: all 300ms ease-out;
}
.inner-nav a span img {
	width: 100%;
	height: auto;
}




body.fix-inner-nav .inner-nav {
	box-sizing: border-box;
	position: fixed;
	width: 100%;
	height: 80px;
	left: 0;
	top: 103px;
	z-index: 50;
	padding-top: 24px;
	background: #fff;
	border-bottom: 1px solid #dcdcdc;
}
body.fix-inner-nav .inner.has-nav {
	padding-top: calc(48px + 32px + 144px);
}


@media screen and (max-width:1024px) {
	body.fix-inner-nav .inner-nav {
		top: 40px;
	}
}












/* ---------- */
/* Corporate - Common */

.corporate-related {
	padding: 144px 0;
	background: #d5ddf8;
}

.corporate-related > .inner {
	margin: 0 80px;
}

.corporate-related .extra {
	box-sizing: border-box;
	position: relative;
	max-width: calc(1288px + (40px * 2));
	margin: 0 auto;
	padding: 0 40px;
}

@media screen and (min-width:1696px) {
	.corporate-related > .inner {
		max-width: calc(1288px + (124px * 2));
		margin-left: auto;
		margin-right: auto;
	}
	.corporate-related .extra {
		max-width: calc(1288px + (124px * 2));
		padding-left: 124px;
		padding-right: 124px;
	}
}







.corporate-related .inner + .inner {
	margin-top: 144px;
}


.corporate-related .related-title,
.corporate-related h2 {
	font-size: 4.6rem;
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: #1c3384;
}
.corporate-related ul {
	display: flex;
	flex-wrap: wrap;
	margin: 56px 0 0;
}
.corporate-related li {
	width: calc((100% - 64px) / 3);
	margin-left: 32px;
}
.corporate-related li:nth-child(3n + 1) {
	margin-left: 0;
}
.corporate-related li:nth-child(n + 4) {
	margin-top: 32px;
}
.corporate-related li a {
	display: flex;
	align-items: center;
	height: 144px;
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	will-change: transform;
	cursor: pointer;
}
.corporate-related li .image {
	width: 144px;
	height: 144px;
	overflow: hidden;
	will-change: transform;
}
.corporate-related li .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.corporate-related li span {
	box-sizing: border-box;
	position: relative;
	display: block;
	width: calc(100% - 144px);
	padding: 0 32px;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.02em;
}
.corporate-related li span::after {
	position: absolute;
	content: "";
	display: block;
	width: 32px;
	height: 32px;
	right: 32px;
	top: calc(50% - 16px);
	background: url(/jpn/2024new/img/arrow_nav.svg) 0 0 no-repeat;
	background-size: 32px 32px;
}
.corporate-related li a:hover span {
	text-decoration: underline;
}







/* ---------- */
/* Corporate top */

.corporate-index .fact a {
	box-sizing: border-box;
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	padding: 80px;
	aspect-ratio: 1288 / 460;
	border-radius: 16px;
	color: #fff;
	overflow: hidden;
	will-change: transform;
}
.corporate-index .fact .image {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 1;
}
.corporate-index .fact .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 400ms ease-out;
}
.corporate-index .fact .content {
	position: relative;
	z-index: 10;
}
.corporate-index .fact .subtitle {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.02em;
}
.corporate-index .fact dl {
	margin: 8px 0 0;
}
.corporate-index .fact dt {
	font-size: 3.6rem;
	font-weight: 350;
	line-height: 1.6;
	letter-spacing: 0.02em;
}
.corporate-index .fact dd {
	margin: 24px 0 0;
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
}

.corporate-index .fact a:hover dt {
	text-decoration: underline;
}
.corporate-index .fact a:hover .image img {
	transform: scale(1.03);
}



.corporate-index ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	margin: 104px 0 0;
}
.corporate-index li:nth-child(1),
.corporate-index li:nth-child(2) {
	width: calc(50% - 16px);
}
.corporate-index li:nth-child(2) {
	margin-left: 32px;
}

.corporate-index li:nth-child(n + 3) {
	width: calc((100% - (32px * 2)) / 3);
	margin-left: 0;
	margin-top: 56px;
}
.corporate-index li:nth-child(n + 4) {
	margin-left: 32px;
}

.corporate-index ul a {
	box-sizing: border-box;
	position: relative;
	display: block;
}
.corporate-index ul .image {
	border-radius: 16px;
	overflow: hidden;
	will-change: transform;
}
.corporate-index ul li:nth-child(1) .image,
.corporate-index ul li:nth-child(2) .image {
	aspect-ratio: 628 / 408;
}
.corporate-index ul li:nth-child(n + 3) .image {
	aspect-ratio: 1 / 1;
}

.corporate-index ul .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 400ms ease-out;
}
.corporate-index ul dl {
	margin: 24px 0 0;
}
.corporate-index ul dt {
	font-size: 3rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
}
.corporate-index ul dd {
	margin: 8px 0 0;
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #5b6179;
}

.corporate-index ul a:hover dt {
	text-decoration: underline;
}
.corporate-index ul a:hover .image img {
	transform: scale(1.03);
}






.corporate-subindex {
	margin: 104px 0 0;
}
.corporate-subindex ul {
	display: flex;
	flex-wrap: wrap;
}
.corporate-subindex li {
	width: calc((100% - (32px * 2)) / 3);
	margin-left: 32px;
}
.corporate-subindex li:nth-child(3n + 1) {
	margin-left: 0;
}
.corporate-subindex li:nth-child(n + 4) {
	margin-top: 30px;
}
.corporate-subindex li a {
	box-sizing: border-box;
	position: relative;
	display: flex;
	align-items: center;
	min-height: 82px;
	padding: 0 32px;
	font-size: 1.8rem;
	line-height: 1.6;
	letter-spacing: 0.01em;
	border: 1px solid #999;
	border-radius: 8px;
}
.corporate-subindex li a:hover {
	text-decoration: underline;
}

.corporate-subindex li a::after {
	position: absolute;
	content: "";
	display: block;
	width: 32px;
	height: 32px;
	right: 32px;
	top: calc(50% - 16px);
	background: url(/jpn/2024new/img/arrow_nav.svg) 0 0 no-repeat;
	background-size: 32px 32px;
}








/* ---------- */
/* CEO message */

.ceo-message {
	display: flex;
	justify-content: space-between;
}
.ceo-message h2 {
	box-sizing: border-box;
	width: calc(39.75%);
	padding-right: 16px;
	font-size: 3.6rem;
	font-weight: 350;
	line-height: 1.6;
	letter-spacing: 0.02em;
}
.ceo-message .content {
	box-sizing: border-box;
	width: calc(60.24%);
	padding-left: 16px;
}
.ceo-message .content p {
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
}
.ceo-message .content p + p {
	margin-top: 3.4rem;
}
.ceo-message .content dl {
	margin-top: 3.4rem;
}
.ceo-message .content dt {
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
}
.ceo-message .content dd {
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
}



.about-message {
	box-sizing: border-box;
	margin: 144px 0 0;
	padding: 64px 80px;
	background: #f8f8f8;
	border-left: 8px solid #2c69ff;
}
.about-message dl {
	display: flex;
	justify-content: space-between;
}
.about-message dt {
	box-sizing: border-box;
	width: calc(100% - 210px);
	padding-right: 64px;
	font-size: 3rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: #1c3384;
}
.about-message dd {
	width: 210px;
}
.about-message dd a {
	display: inline-flex;
	width: auto;
	white-space: nowrap;
}
.about-message p {
	margin: 32px 0 0;
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #5b6179;
}






.corporate-trends {
	margin: 144px 0 0;
}
.corporate-trends h2 {
	font-size: 4.6rem;
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: 0.02em;
}
.corporate-trends ul {
	display: flex;
	margin: 56px 0 0;
}
.corporate-trends li {
	width: calc((100% - 64px) / 3);
}
.corporate-trends li + li {
	margin-left: 32px;
}
.corporate-trends li .image {
	border-radius: 16px;
	overflow: hidden;
	will-change: transform;
}
.corporate-trends li .image img {
	width: 100%;
	height: auto;
	transition: all 400ms ease-out;
}
.corporate-trends li dl {
	margin: 16px 0 0;
}
.corporate-trends li dt {
	font-size: 2.0rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.02em;
}
.corporate-trends li dd {
	margin: 16px 0 0;
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #5b6179;
}
.corporate-trends li a:hover dt {
	text-decoration: underline;
}
.corporate-trends li a:hover .image img {
	transform: scale(1.03);
}


.corporate-trends .link {
	margin-top: 56px;
}
.corporate-trends .link a {
	display: inline-flex;
	width: auto;
	white-space: nowrap;
}







/* ---------- */
/* Profile */

.corporate-profile {
	border-top: 1px solid #999;
}

.corporate-profile > dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.corporate-profile > dl > dt {
	box-sizing: border-box;
	width: 226px;
	padding: 32px 32px 32px 0;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.9;
	letter-spacing: 0.02em;
	color: #5b6179;
	border-bottom: 1px solid #999;
}
.corporate-profile > dl > dd {
	width: calc(100% - 226px);
	padding: 32px 0;
	border-bottom: 1px solid #999;
}
.corporate-profile dl dl dt,
.corporate-profile dl li,
.corporate-profile > dl > dd > p {
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
}
.corporate-profile dl dl dd,
.corporate-profile dl .comment {
	margin: 4px 0 0;
	font-size: 1.4rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #5b6179;
}
.corporate-profile dd .note {
	margin: 4px 0 0;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.9;
	letter-spacing: 0.01em;
}
.corporate-profile dd .note a {
	padding: 0 !important;
	color: #2e55ec;
	text-decoration: underline;
}
.corporate-profile dd .link {
	margin: 4px 0 0;
	font-size: 1.6rem;
	line-height: 1.9;
}
.corporate-profile dd .link a {
	position: relative;
	display: inline-block;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: #2c69ff;
}
.corporate-profile dd .link a::after {
	position: relative;
	content: "";
	display: inline-block;
	width: 32px;
	height: 32px;
	top: -1px;
	margin-left: 4px;
	vertical-align: middle;
	background: url(/jpn/2024new/img/arrow_nav.svg) 0 0 no-repeat;
	background-size: 32px 32px;
}
.corporate-profile dd .link a:hover {
	text-decoration: underline;
}








/* ---------- */
/* Philosophy */

.philosophy-intro {
	margin-top: -60px;
	padding-top: 60px;
}
.philosophy-intro h2 {
	font-size: 4.6rem;
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: 0.02em;
}

.our-purpose {
	margin: 56px 0 0;
	padding: 64px;
	text-align: center;
	color: #fff;
	background: #0000C8;
}
.our-purpose p {
	margin: 32px 0 0;
	font-size: 2.5rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
}

.philosophy-intro dl {
	display: flex;
	justify-content: space-between;
	margin: 104px 0 0;
}
.philosophy-intro dt {
	box-sizing: border-box;
	width: calc(39.75%);
	padding-right: 16px;
	font-size: 3.6rem;
	font-weight: 350;
	line-height: 1.6;
	letter-spacing: 0.02em;
}
.philosophy-intro dd {
	box-sizing: border-box;
	width: calc(60.24%);
	padding-left: 16px;
}
.philosophy-intro dd p {
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
}

.philosophy-intro .video-container {
	margin: 56px 0 0;
	padding: 80px;
	background: #f8f8f8;
}
.philosophy-intro .video-container .video-inner {
	max-width: 848px;
	margin: 0 auto;
}
.philosophy-intro .video-container video {
	width: 100%;
	height: auto;
}
.philosophy-intro .video-container #movie01 {
	width: 848px;
	height: 477px;
}


/* 2024.09 */

.philosophy-intro .subtitle {
	box-sizing: border-box;
	margin: 104px 0 0;
	width: calc(39.75%);
	padding-right: 16px;
	font-size: 3.6rem;
	font-weight: 350;
	line-height: 1.6;
	letter-spacing: 0.02em;
}
.philosophy-intro .image-container {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 56px 0 0;
	padding: 80px;
	background: #f8f8f8;
}
.philosophy-intro .image-container .image {
	width: calc(60% - 20px);
}
.philosophy-intro .image-container .content {
	width: calc(40% - 20px);
}
.philosophy-intro .image-container .image img {
	width: 100%;
	height: auto;
}
.philosophy-intro .image-container p {
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
}
.philosophy-intro .image-container .link {
	margin: 56px 0 0;
}
.philosophy-intro .image-container .link a {
	display: inline-flex;
	width: auto;
	white-space: nowrap;
}





.philosophy-column-container {
}
.philosophy-column {
}
.philosophy-column + .philosophy-column {
}



.philosophy-column {
	position: relative;
	min-height: 600px;
}
.philosophy-column > .inner {
	margin: 0 80px;
}
.philosophy-column > .inner .extra {
	box-sizing: border-box;
	position: relative;
	max-width: calc(1288px + (40px * 2));
	margin: 0 auto;
	padding: 104px 40px;
}

@media screen and (min-width:1696px) {
	.philosophy-column > .inner {
		width: calc(1288px + (124px * 2));
		margin-left: auto;
		margin-right: auto;
	}
	.philosophy-column > .inner .extra {
		max-width: calc(1288px + (124px * 2));
		padding-left: 124px;
		padding-right: 124px;
	}
}



.philosophy-column .bg {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 1;
}
.philosophy-column .bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#vision.philosophy-column .bg img {
	object-position: center bottom;
}



.philosophy-column .extra {
	display: flex;
	min-height: 600px;
	z-index: 10;
}


.philosophy-column .content {
	width: calc(50% - 40px);
}
.philosophy-column .image {
	width: calc(50% - 40px);
}
.philosophy-column .image img {
	width: 100%;
	height: auto;
}

#message.philosophy-column .image {
}
#message.philosophy-column .image img {
	width: 95%;
}



.philosophy-column h2 {
	font-size: 4.6rem;
	font-weight: 350;
	line-height: 1.3;
	letter-spacing: 0.02em;
}
.philosophy-column p {
	margin: 56px 0 0;
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
}
.philosophy-column .link {
	margin: 56px 0 0;
}
.philosophy-column .link a {
	display: inline-flex;
	width: auto;
	white-space: nowrap;
}

#vision.philosophy-column .extra {
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	color: #5b6179;
}

#message.philosophy-column {
	align-items: flex-end;
	color: #1c3384;
	background: #d5ddf8;
}


#message.philosophy-column .extra {
	flex-direction: row-reverse;
	justify-content: space-between;
}
#necway.philosophy-column .extra {
	flex-direction: row;
	justify-content: space-between;
}
















/* ---------- */
/* Fact */

.fact-intro {
	padding: 56px 0 0;
	text-align: center;
}

.fact-intro h2 {
	font-size: 4.6rem;
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: 0.02em;
}




.fact-column {
	padding: 144px 0;
}
.fact-column > .inner {
	margin: 0 80px;
}
.fact-column > .inner > .extra {
	box-sizing: border-box;
	position: relative;
	max-width: calc(1288px + (40px * 2));
	margin: 0 auto;
	padding: 0 40px;
}


@media screen and (min-width:1696px) {
	.fact-column > .inner {
		max-width: calc(1288px + (124px * 2));
		margin-left: auto;
		margin-right: auto;
	}
	.fact-column > .inner > .extra {
		max-width: calc(1288px + (124px * 2));
		padding-left: 124px;
		padding-right: 124px;
	}
}





.fact-column .title {
	margin: 0 0 56px;
}
.fact-column h2 {
	font-size: 4.6rem;
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: 0.02em;
}


#info.fact-column,
#feature.fact-column,
#rd.fact-column {
	background: #edecef;
}
#purpose.fact-column {
	background: #5b6179;
}

#info.fact-column h2,
#feature.fact-column h2,
#rd.fact-column h2 {
	color: #5b6179;
}
#purpose.fact-column h2 {
	color: #fff;
}




.fact-info-list {
	margin-top: 126px;
}
.fact-info-list > ul {
	position: relative;
	display: flex;
	flex-wrap: wrap;
}
.fact-info-list li {
	box-sizing: border-box;
	position: relative;
	padding: 0 20px 5px;
}
.fact-info-list li h3 {
	position: relative;
	z-index: 10;
	font-size: 3.6rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: #5b6179;
	text-align: center;
}
.fact-info-list li .image {
}
.fact-info-list li .content {
}
.fact-info-list li .image img {
	width: 100%;
	height: auto;
}

.fact-info-list li .number {
	text-align: center;
}
.fact-info-list li .number strong {
	font-size: 7.5rem;
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: #0000C8;
}
.fact-info-list li .number span {
	font-size: 3rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
}
.fact-info-list li .number strong + span {
	margin-left: 4px;
}
.fact-info-list li .number span + strong {
	margin-left: 4px;
}

.fact-info-list li .note {
	margin-left: 1px;
	font-size: 1.3rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
	text-align: center;
}
.fact-info-list li .note span {
	white-space: nowrap;
}


.fact-info-list > ul > li:nth-child(1), 
.fact-info-list > ul > li:nth-child(2), 
.fact-info-list > ul > li:nth-child(3) {
	width: calc((100% - 64px) / 3);
} 
.fact-info-list > ul > li:nth-child(2), 
.fact-info-list > ul > li:nth-child(3) {
	margin-left: 32px;
}

.fact-info-list > ul > li:nth-child(1) .image, 
.fact-info-list > ul > li:nth-child(2) .image, 
.fact-info-list > ul > li:nth-child(3) .image {
	width: 76%;
	max-width: 300px;
	height: auto;
	margin: 20px auto;
}

.fact-info-list > ul > li:nth-child(4) {
	width: calc((100% - 64px) / 3 * 2 + 32px);
	margin-top: 80px;
	padding-left: 28px;
	padding-right: 28px;
}
.fact-info-list > ul > li:nth-child(5) {
	width: calc((100% - 64px) / 3);
	margin-left: 32px;
	margin-top: 80px;
}
.fact-info-list > ul > li:nth-child(6) {
	position: absolute;
	width: calc((100% - 64px) / 3);
	right: 0;
	bottom: 0;
}

.fact-info-list > ul > li:nth-child(4) .image {
	margin: 78px 0 32px;
}
.fact-info-list > ul > li:nth-child(4) .number span {
	font-size: 2.5rem;
}




.fact-info-list > ul > li:nth-child(5) .number {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	text-align: left;
}
.fact-info-list > ul > li:nth-child(5) .number strong {
	position: relative;
	margin: 0 5px;
	transform: translateY(11%);
}
.fact-info-list > ul > li:nth-child(5) .image,
.fact-info-list > ul > li:nth-child(6) .image {
	width: 78%;
	max-width: 300px;
	height: auto;
	margin: 16px auto 2px;
}
.fact-info-list > ul > li:nth-child(6) .image {
	margin-top: 20px;
}

/*
.fact-info-list > ul > li:nth-child(5) {
	padding: 0;
}
.fact-info-list > ul > li:nth-child(5) li + li {
	margin-top: 75px;
}
.fact-info-list > ul > li:nth-child(5) li:nth-child(1) .number {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	text-align: left;
}
.fact-info-list > ul > li:nth-child(5) li:nth-child(1) .number strong {
	position: relative;
	margin: 0 5px;
	transform: translateY(11%);
}
.fact-info-list > ul > li:nth-child(5) .image {
	width: 78%;
	max-width: 300px;
	height: auto;
	margin: 16px auto 2px;
}
.fact-info-list > ul > li:nth-child(5) li:nth-child(2) .image {
	margin-top: 20px;
}
*/
















#business.fact-column .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#business.fact-column .title,
#business.fact-column .legend {
	box-sizing: border-box;
	width: 33%;
}
#business.fact-column .title {
	padding-right: 32px;
}
#business.fact-column .legend {
	padding-left: 32px;
	text-align: center;
}

#business.fact-column .fact-business-graph {
	position: relative;
	width: 28%;
}


#business.fact-column .title h2 {
	margin-bottom: 56px;
}
#business.fact-column .title a {
	display: inline-flex;
	width: auto;
	white-space: nowrap;
}

.fact-business-graph img {
	width: 100%;
	height: auto;
}
.fact-business-graph dl {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -55%);
	text-align: center;
}

.fact-business-graph dt {
	font-size: 2.0rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.02em;
	color: #5b6179;
}
.fact-business-graph dd {
	margin: 5px 0 0;
	color: #0000C8;
	white-space: nowrap;
}
.fact-business-graph dd strong {
	font-size: 5rem;
	letter-spacing: 0.02em;
}
.fact-business-graph dd span {
	font-size: 1.8rem;
	letter-spacing: 0.01em;
}




.fact-column .legend-list {
	display: inline-block;
	text-align: left;
}
.fact-column .legend dl {
	display: flex;
	align-items: center;
}
.fact-column .legend dt {
	position: relative;
	width: calc(8em + 56px + 18px);
	padding-left: 56px;
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
}
.fact-column .legend dd strong {
	font-size: 3.6rem;
	font-weight: 350;
	line-height: 1.6;
	letter-spacing: 0.02em;
}
.fact-column .legend dd span {
	margin-left: 8px;
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
}

.fact-column .legend dt::before {
	position: absolute;
	content: "";
	display: block;
	width: 32px;
	height: 32px;
	left: 0;
	top: calc(50% - 16px);
}
.fact-column .legend dl:nth-child(1) dt::before {
	background: #2c69ff;
}
.fact-column .legend dl:nth-child(2) dt::before {
	background: #1c3384;
}
.fact-column .legend dl:nth-child(3) dt::before {
	background: #7c869a;
}




.fact-business-list {
	margin: 80px 0 0;
}
.fact-business-list .head,
.fact-business-list h2 {
	margin: 0 0 20px;
	font-size: 3.6rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
	text-align: center;
}

.fact-business-list > ul {
	display: flex;
}
.fact-business-list > ul > li {
	width: calc((100% - 64px) / 3);
	padding: 40px 32px;
	background: #f8f8f8;
	border-radius: 16px;
}
.fact-business-list > ul > li + li {
	margin-left: 32px;
}
.fact-business-list h3 {
	position: relative;
	font-size: 2.5rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: #122258;
	text-align: center;
}
.fact-business-list p {
	margin: 16px 0 0;
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #5b6179;
}

.fact-business-list h3::before {
	position: relative;
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 16px;
}
.fact-business-list > ul > li:nth-child(1) h3::before {
	background: #2c69ff;
}
.fact-business-list > ul > li:nth-child(2) h3::before {
	background: #1c3384;
}
.fact-business-list > ul > li:nth-child(3) h3::before {
	background: #7c869a;
}


.fact-business-list ul ul {
	display: flex;
	justify-content: space-between;
	margin-top: 35px;
}
.fact-business-list ul ul li {
	width: calc(50% - 8px);
}
.fact-business-list ul ul li + li {
	margin-left: 16px;
}
.fact-business-list ul ul li a {
	padding: 0 !important;
}
.fact-business-list .image {
	border-radius: 8px;
	overflow: hidden;
	will-change: transform;
}
.fact-business-list .image img {
	width: 100%;
	height: auto;
	transition: all 400ms ease-out;
}
.fact-business-list dl {
	margin: 8px 0 0;
}
.fact-business-list dt {
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #5b6179;
}
.fact-business-list dd {
	margin: 4px 0 0;
	font-size: 1.3rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #5b6179;
}

.fact-business-list li a:hover dt {
	text-decoration: underline;
}
.fact-business-list li a:hover img {
	transform: scale(1.03);
	opacity: 1;
}




.fact-feature-list h3 {
	width: 100%;
	margin: 0 0 56px;
	padding: 0 0 24px;
	font-size: 3.6rem;
	font-weight: 350;
	line-height: 1.6;
	letter-spacing: 0.02em;
	border-bottom: 1px solid #999;
}
.fact-feature-list .column1 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.fact-feature-list .column2 {
	margin-top: 80px;
}

.fact-feature-list .column1 .image {
	box-sizing: border-box;
	width: calc(50% - 16px);
	text-align: center;
}
.fact-feature-list .column1 > ul {
	width: calc(50% - 16px);
}



.fact-feature-list .image img {
	width: 100%;
	height: auto;
	max-width: 502px;
}

.fact-feature-list > div > ul {
	display: flex;
	flex-wrap: wrap;
}
.fact-feature-list > div > ul > li {
	box-sizing: border-box;
	padding: 32px 0px;
	background: #fff;
	border-radius: 16px;
}
.fact-feature-list .column1 > ul li {
	width: calc(50% - 16px);
}
.fact-feature-list .column1 > ul li:nth-child(2n) {
	margin-left: 32px;
}
.fact-feature-list .column1 > ul li:nth-child(n + 3) {
	margin-top: 32px;
}

.fact-feature-list .column2 > ul li {
	width: calc((100% - (32px * 3)) / 4);
}
.fact-feature-list .column2 > ul li + li {
	margin-left: 32px;
}


.fact-feature-list .attention {
	margin: 32px 0 0;
}
.fact-feature-list .attention li {
	display: flex;
}
.fact-feature-list .attention li + li {
	margin-top: 4px;
}
.fact-feature-list .attention li * {
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #5b6179;
}
.fact-feature-list .attention li span {
	width: 2.5em
}
.fact-feature-list .attention li p {
	width: calc(100% - 2.5em);
}






.fact-feature-list dt {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.02em;
	text-align: center;
	color: #5b6179;
}
.fact-feature-list .column1 dt {
}
.fact-feature-list .column1 dt span {
	position: relative;
	top: -0.2rem;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #5b6179;
}

.fact-feature-list dd {
	margin: 16px 0 0;
	text-align: center;
}
.fact-feature-list dd strong {
	display: inline-block;
	margin-left: -8px;
	font-size: 9rem;
	line-height: 1.3;
	letter-spacing: -0.1em;
	color: #0000C8;
}
.fact-feature-list dd strong.small {
	margin-left: 0;
	font-size: 3.6rem;
	letter-spacing: 0;
	line-height: 1.6;
}
.fact-feature-list dd strong.medium {
	margin-left: 8px;
	font-size: 5.0rem;
	letter-spacing: 0;
}

.fact-feature-list dd span {
	position: relative;
	display: inline-block;
	top: -1px;
	margin: 0 4px;
	font-size: 3rem;
	line-height: 1.3;
	letter-spacing: 0.01em;
	color: #0000c8;
	text-align: center;
}
.fact-feature-list dd span.small {
	font-size: 2.4rem;
}
.fact-feature-list dd strong + span {
	margin-left: 12px;
}

.fact-feature-list .note {
	margin: 16px 0 0;
	font-size: 1.4rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
}

.fact-feature-list .comment {
	margin: 8px 0 0;
	font-size: 1.4rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
	text-align: center;
	color: #5b6179;
}
.fact-feature-list .sup {
	font-size: 0.7rem;
	vertical-align: super;
}


.fact-feature-list .column2 dd strong {
	box-sizing: border-box;
	min-height: 7.2rem;
	margin: 0;
	font-size: 5rem;
	letter-spacing: 0.02rem;
}
.fact-feature-list .column2 dd strong.small {
	padding-top: 1.0rem;
	font-size: 3.6rem;
}
.fact-feature-list .column2 dd span {
	margin: 0 6px !important;
	font-size: 1.8rem;
	color: #1c3384;
}








#purpose .title {
	display: flex;
	justify-content: space-between;
}


.fact-purpose {
	margin: 56px 0 0;
}
.fact-purpose dt {
	text-align: center;
}
.fact-purpose dd {
	margin: 40px 0 0;
	font-size: 2.5rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
	text-align: center;
	color: #fff;
}
.fact-purpose .link {
	margin: 56px 0 0;
	text-align: center;
}
.fact-purpose .link a {
	display: inline-flex;
	width: auto;
	font-weight: 700;
	white-space: nowrap;
}





.fact-rd-list li {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.fact-rd-list li + li {
	margin-top: 104px;
}

.fact-rd-list li .image {
	width: 50%;
}
.fact-rd-list li .image img {
	width: 100%;
	height: auto;
	border-radius: 16px;
	overflow: hidden;
	will-change: opacity;
}
.fact-rd-list li .image .caption {
	margin: 18px 0 0;
	font-size: 1.4rem;
}


.fact-rd-list li .content {
	box-sizing: border-box;
	width: calc(50%);
	padding-left: 115px;
}
.fact-rd-list li h3 {
	margin: 0 0 40px;
	font-size: 3.6rem;
	font-weight: 350;
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: #122258;
}
.fact-rd-list li h4 {
	margin: 0 0 16px;
	font-size: 2.0rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.02em;
	color: #122258;
}
.fact-rd-list li p {
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #5b6179;
}
.fact-rd-list .link {
	margin: 40px 0 0;
}
.fact-rd-list .link a {
	display: inline-flex;
	width: auto;
	white-space: nowrap;
}
.fact-rd-list .note {
	position: relative;
	margin: 40px 0 0;
	padding-left: 1.4rem;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.90;
	letter-spacing: 0.01em;
	color: #5b6179;
}
.fact-rd-list .note::before {
	position: absolute;
	content: "※";
	left: 0;
}












/* ---------- */
/* Outline */

.outline-column-container h2 {
	margin: 0 0 56px;
	font-size: 4.6rem;
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: 0.02em;
}

.outline-column {
	background: #edecef;	
}
.outline-column + .outline-column {
	margin-top: 40px;
}

.outline-column .image {
	height: 340px;
}
.outline-column .image img {
	width: 100%;
	height: 340px;
	object-fit: cover;
}

.outline-column .image.use-bg1 {
	background: #f8f8f8;
}
.outline-column .image img.contain {
	object-fit: contain;
}

.outline-column .content {
	padding: 56px 80px 80px;
}
.outline-column h3 {
	font-size: 3.6rem;
	font-weight: 350;
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: #122258;
}
.outline-column p {
	margin: 40px 0 0;
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #5b6179;
}
.outline-column .content > ul {
	display: flex;
	margin: 56px 0 0;
}
.outline-column .content > ul > li {
	box-sizing: border-box;
	width: calc(50% - 12px);
	padding: 24px;
	background: #fff;
	border-radius: 8px;
}
.outline-column .content > ul > li:nth-child(2n) {
	margin-left: 24px;
}

.outline-column .content > ul.multi {
	flex-wrap: wrap;
}
.outline-column .content > ul.multi > li:nth-child(1) {
	position: relative;
	width: 100%;
	padding-left: 80px;
	padding-right: 80px;
}
.outline-column .content > ul.multi > li:nth-child(n + 2) {
	display: flex;
	flex-direction: column;
	width: calc((100% - 48px) / 3);
	justify-content: center;
	align-items: center;
	min-height: 106px;
	margin-top: 24px;
}
	
.outline-column .content > ul.multi > li:nth-child(3),
.outline-column .content > ul.multi > li:nth-child(4),
.outline-column .content > ul.multi > li:nth-child(6) {
	margin-left: 24px;
}
.outline-column .content > ul.multi > li:nth-child(2),
.outline-column .content > ul.multi > li:nth-child(5) {
	margin-left: 0;
}

.outline-column .content > ul.multi > li,
.outline-column .content > ul.multi > li h4 {
	font-size: 2rem;
	line-height: 1.4;
	letter-spacing: 0.02em;
	text-align: center;
}
.outline-column .content > ul.multi > li strong {
	display: block;
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
}

.outline-column .content > ul.multi ul {
	display: flex;
	justify-content: space-between;
	margin: 16px 0 0;
}
.outline-column .content > ul.multi ul li {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc((100% - 72px) / 4);
	padding: 24px;
	font-size: 2rem;
	line-height: 1.4;
	text-align: center;
	letter-spacing: 0.02em;
	background: #edecef;
}
.outline-column .content > ul.multi > li:nth-child(1) span {
	position: absolute;
	display: block;
	right: 20px;
	bottom: 12px;
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
}

.outline-column .content > ul > li > dl > dt {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.02em;
	text-align: center;
}
.outline-column .content > ul > li > dl > dt strong {
	font-size: 1.4rem;
}
.outline-column .content > ul > li > dl > dd {
	margin-top: 24px;
}
.outline-column .content dd dl {
	display: flex;
	flex-wrap: wrap;
}
.outline-column .content dd dl + dl {
	margin-top: 8px;
}
.outline-column .content dd dl dt {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 80px;
	padding: 8px 0;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.9;
	text-align: center;
	letter-spacing: 0.01em;
	color: #fff;
	background: #1c3384;
}
.outline-column .content dd dl dd {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	width: calc(100% - 80px);
	padding: 8px 16px;
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #1c3384;
	background: #d5ddf8;
}

.outline-column .content dl.table dd dd {
	padding: 0;
}
.outline-column .content dl.table ul {
	width: 100%;
}
.outline-column .content dl.table li  {
	box-sizing: border-box;
	padding: 8px 16px;
	line-height: 1.9;
}
.outline-column .content dl.table li + li {
	border-top: 1px solid #fff;
}

.outline-column .content dl.list li  {
	padding: 8px 16px;
	font-size: 1.6rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #1c3384;
	background: #d5ddf8;
}
.outline-column .content dl.list li + li {
	margin-top: 8px;
}



.outline-solutions {
	margin: 104px 0 0;
}
.outline-solutions h2 {
	font-size: 3rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
}
.outline-solutions ul {
	display: flex;
	flex-wrap: wrap;
	margin: 40px 0 0;
}
.outline-solutions li {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc((100% - 96px) / 4);
	padding: 24px 8px;
	margin-left: 32px;
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
	border: 1px solid #999999;
	border-radius: 8px;
}
.outline-solutions li:nth-child(4n + 1) {
	margin-left: 0;
}
.outline-solutions li:nth-child(n + 5) {
	margin-top: 16px;
}

.outline-solutions .link {
	margin: 56px 0 0;
}
.outline-solutions .link a {
	display: inline-flex;
	width: auto;
	white-space: nowrap;
}







.outline-casestudy {
	margin: 104px 0 0;
}
.outline-casestudy .header {
	display: flex;
	justify-content: space-between;
}
.outline-casestudy h2 {
	font-size: 3rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
}
.outline-casestudy .header a {
	display: inline-flex;
	width: auto;
	white-space: nowrap;
}

.outline-casestudy .scroll-slide {
	width: 100%;
	margin: 40px 0 0;
	padding: 0;
}

.outline-casestudy .scroll-slide dt {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #4a4a4a;
}
.outline-casestudy .scroll-slide dd {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.9;
	letter-spacing: 0.01em;
	color: #5b6179;
}

.outline-casestudy .scroll-slide .slide-item a:hover dt {
	text-decoration: underline;
	color: #2c69ff;
}
.outline-casestudy .scroll-slide .slide-item a:hover dd {
	text-decoration: none;
}





.outline-feature-container {
	padding: 144px 0;
	background: #edecef;
}
.outline-feature-container > .inner {
	margin: 0 80px;
}
.outline-feature-container > .inner > .extra {
	box-sizing: border-box;
	position: relative;
	max-width: calc(1288px + (40px * 2));
	margin: 0 auto;
	padding: 0 40px;
}


@media screen and (min-width:1696px) {
	.outline-feature-container > .inner {
		max-width: calc(1288px + (124px * 2));
		margin-left: auto;
		margin-right: auto;
	}
	.outline-feature-container > .inner > .extra {
		max-width: calc(1288px + (124px * 2));
		padding-left: 124px;
		padding-right: 124px;
	}
}



.outline-feature-container h2 {
	margin: 0 0 56px;
	font-size: 4.6rem;
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: #5b6179;
}
.outline-feature-container h3 {
	margin: 0 0 56px;
	padding: 0 0 24px;
	font-size: 3.6rem;
	font-weight: 350;
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: #5b6179;
	border-bottom: 1px solid #999;
}
.outline-feature-container h4 {
	margin: 0 0 16px;
	font-size: 3rem;
	line-height: 1.6;
	letter-spacing: 0.02em;
	color: #5b6179;
}

.outline-feature-column + .outline-feature-column {
	margin-top: 104px;
}
.outline-feature-column.column1 .content > ul {
	display: flex;
	flex-wrap: wrap;
}
.outline-feature-column.column1 .content > ul > li:nth-child(1) {
	width: 100%;
}
.outline-feature-column.column1 .content > ul > li:nth-child(n + 2) {
	width: calc((100% - 32px) / 2);
	margin-top: 56px;
}
.outline-feature-column.column1 .content > ul > li:nth-child(3) {
	margin-left: 32px;
}

.outline-feature-column.column1 .content > ul > li > ul {
	display: flex;
}
.outline-feature-column.column1 .content > ul > li > ul > li {
	box-sizing: border-box;
	width: calc(24.3%);
	padding: 32px;
	background: #fff;
	border-radius: 16px;
}
.outline-feature-column.column1 .content > ul > li > ul > li:nth-child(2) {
	width: calc(51.42%);
	margin: 0 32px;
}

.outline-feature-column.column1 .content > ul ul dt {
	margin: 0 0 16px;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.02em;
	text-align: center;
	color: #5b6179;
}
.outline-feature-column.column1 .content > ul ul dd {
	text-align: center;
}
.outline-feature-column.column1 strong {
	display: inline-block;
	font-size: 5rem;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: #0000C8;
}
.outline-feature-column.column1 span {
	font-size: 1.8rem;
	line-height: 1.3;
	letter-spacing: 0.01em;
	color: #0000C8;
}
.outline-feature-column.column1 strong + span,
.outline-feature-column.column1 span + strong {
	margin-left: 4px;
}
.outline-feature-column.column1 ul ul ul {
	display: flex;
}
.outline-feature-column.column1 ul ul ul li {
	width: 50%;
}
.outline-feature-column.column1 .note {
	margin: 16px 0 0;
	font-size: 1.4rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
}


.outline-feature-column.column1 .content > ul > li:nth-child(n + 2) p {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 32px;
	font-size: 1.8rem;
	line-height: 1.9;
	text-align: center;
	letter-spacing: 0.01em;
	background: #fff;
	border-radius: 16px;
}





.outline-feature-column.column2 .content > ul {
	display: flex;
	justify-content: space-between;
}
.outline-feature-column.column2 .content > ul > li {
	box-sizing: border-box;
	width: calc((100% - 32px) / 2);
}
.outline-feature-column.column2 .content .image {
	text-align: center;
}
.outline-feature-column.column2 .content .image img {
	width: 100%;
	height: auto;
	max-width: 502px;
}

.outline-feature-column.column2 .content ul ul {
	display: flex;
	flex-direction: column;
	height: calc(100% - 64px);
}
.outline-feature-column.column2 .content ul ul li {
	display: flex;
	justify-content: center;
	align-items: center;
	height: calc(50% - 8px);
	background: #fff;
	border-radius: 16px;
}
.outline-feature-column.column2 .content ul ul li + li {
	margin-top: 16px;
}
.outline-feature-column.column2 .content ul ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}
.outline-feature-column.column2 .content ul ul li a:hover dt {
	text-decoration: underline;
}


.outline-feature-column.column2 .content ul ul dt {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.02em;
	text-align: center;
	color: #5b6179;
}
.outline-feature-column.column2 .content ul ul dd {
	margin: 16px 0 0;
	font-size: 2rem;
	line-height: 1.6;
	text-align: center;
	letter-spacing: 0.02em;
	color: #1c3384;
}










.outline-organization-container {
	padding: 144px 0;
}
.outline-organization-container > .inner {
	margin: 0 80px;
}
.outline-organization-container > .inner > .extra {
	box-sizing: border-box;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: calc(1288px + (40px * 2));
	margin: 0 auto;
	padding: 0 40px;
}


@media screen and (min-width:1696px) {
	.outline-organization-container > .inner {
		max-width: calc(1288px + (124px * 2));
		margin-left: auto;
		margin-right: auto;
	}
	.outline-organization-container > .inner > .extra {
		max-width: calc(1288px + (124px * 2));
		padding-left: 124px;
		padding-right: 124px;
	}
}








.outline-organization-container h2 {
	margin: 0 0 56px;
	font-size: 4.6rem;
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: 0.02em;
}



.outline-organization-container .list {
	width: 100%;
	margin: 80px 0 0;
}

.outline-organization-container .title {
	box-sizing: border-box;
	width: 33%;
}

.outline-organization-container .content {
	box-sizing: border-box;
	display: flex;
	justify-content: flex-end;
	width: calc(28% + 33% + 32px);
}

.outline-organization-container .title p {
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
}


.outline-organization-container .graph {
	position: relative;
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
}
.outline-organization-container .graph .image {
	position: relative;
	width: 348px;
}
.outline-organization-container .graph img {
	width: 100%;
	height: auto;
}

.outline-organization-container .graph .image dl {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -55%);
	text-align: center;
}

.outline-organization-container .graph .image dt {
	font-size: 2.0rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.02em;
	color: #5b6179;
}
.outline-organization-container .graph .image dd {
	margin: 5px 0 0;
	color: #0000C8;
	white-space: nowrap;
}
.outline-organization-container .graph .image dd strong {
	font-size: 5rem;
	letter-spacing: 0.02em;
}
.outline-organization-container .graph .image dd span {
	font-size: 1.8rem;
	letter-spacing: 0.01em;
}


.outline-organization-container .legend-list {
	margin: 0 90px 0 0;
}
.outline-organization-container .legend dl {
	display: flex;
	align-items: center;
}
.outline-organization-container .legend dl + dl {
	margin-top: 20px;
}
.outline-organization-container .legend dt {
	position: relative;
	width: calc(8em + 56px + 18px);
	padding-left: 56px;
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
	white-space: nowrap;
}
.outline-organization-container .legend dd {
	white-space: nowrap;
}
.outline-organization-container .legend dd strong {
	font-size: 3.6rem;
	font-weight: 350;
	line-height: 1.6;
	letter-spacing: 0.02em;
}
.outline-organization-container .legend dd span {
	margin-left: 8px;
	font-size: 1.8rem;
	line-height: 1.9;
	letter-spacing: 0.01em;
}

.outline-organization-container .legend dt::before {
	position: absolute;
	content: "";
	display: block;
	width: 32px;
	height: 32px;
	left: 0;
	top: calc(50% - 16px);
}
.outline-organization-container .legend dl:nth-child(1) dt::before {
	background: #2c69ff;
}
.outline-organization-container .legend dl:nth-child(2) dt::before {
	background: #1c3384;
}
.outline-organization-container .legend dl:nth-child(3) dt::before {
	background: #7c869a;
}



@media screen and (max-width:1479px) {
	.outline-organization-container .legend-list {
		margin-right: 40px;
	}
}






.outline-organization-container .list ul {
	display: flex;
}
.outline-organization-container .list li {
	width: calc((100% - 96px) / 4);
	padding: 0 0 24px;
	border-bottom: 1px solid #dcdcdc;
}
.outline-organization-container .list li + li {
	margin-left: 32px;
}
.outline-organization-container .list dt {
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.02em;
	color: #5b6179;
}
.outline-organization-container .list dd {
	margin: 16px 0 0;
}
.outline-organization-container .list dd strong {
	display: inline-block;
	font-size: 5rem;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: #0000C8;
}
.outline-organization-container .list dd span {
	font-size: 1.8rem;
	line-height: 1.3;
	letter-spacing: 0.01em;
	color: #0000C8;
}
.outline-organization-container .list dd strong + span,
.outline-organization-container .list dd span + strong {
	margin-left: 4px;
}










/* Common */


@media screen and (max-width:1535px) {
	.scroll-slide {
		width: calc(100vw - 240px);
		padding: 0;
	}
	.scroll-slide .slide-item {
		display: flex;
		width: calc((100vw - 240px - 64px) / 3);
	}
	
	.scroll-slide .slide-item .category span {
		width: calc((100vw - 240px - 64px) / 3);
	}
}




@media screen and (max-width:1279px) {
	.main-visual {
		margin-left: 0;
		margin-right: 0;
	}
	.corporate-container {
		margin-left: 0;
		margin-right: 0;
	}
	.corporate-container > .inner {
		padding-left: 0;
		padding-right: 0;
	}
	.inner-nav li + li {
		margin-left: 24px;
	}
	
	.scroll-slide {
		width: calc(100vw - 80px);
		margin-left: 40px;
	}
	.scroll-slide .slide-item {
		width: calc((100vw - 80px - 48px) / 3);
	}
	.scroll-slide .slide-item .category span {
		width: calc((100vw - 80px - 48px) / 3);
	}
	
	.corporate-related > .inner {
		margin-left: 0;
		margin-right: 0;
	}
	
	.corporate-related ul {
		flex-wrap: wrap;
	}
	.corporate-related li {
		width: calc((100% - 24px) / 2);
		margin: 0;
	}
	.corporate-related li:nth-child(2n) {
		margin-left: 24px;
	}
	.corporate-related li:nth-child(n + 3) {
		margin-top: 24px;
	}
}


@media screen and (max-width:1024px) {
	.corporate-related li {
		width: 100%;
	}
	.corporate-related li:nth-child(2n) {
		margin-left: 0;
	}
	.corporate-related li:nth-child(n + 2){
		margin-top: 24px !important;
	}
	
	
	.inner-nav ul {
		margin-left: 24px;
		margin-right: 24px;
	}
	.inner-nav li + li {
		margin-left: 24px;
	}
	
	.inner-nav li::before {
		bottom: -16px;
	}
	
	.inner-nav a {
		min-height: 40px;
		padding-right: 28px;
		font-size: 1.2rem;
	}
	.inner-nav a::before,
	.inner-nav a::after {
		width: 24px;
		height: 24px;
		top: calc(50% - 9px);
		background-size: 18px 18px;
	}

}








/* Top */

@media screen and (max-width:1379px) {
	.top-feature-column:nth-child(3) .content {
		box-sizing: border-box;
		padding-right: 40px;
	}
}
@media screen and (max-width:1279px) {
	.top-column,
	#top-topics .header,
	#top-feature .header,
	#top-pickup .header,
	.top-feature-column > .inner {
		margin-left: 0;
		margin-right: 0;
	}
	
	/*
	#top-social > .inner > .visual {
		width: 100vw;
		margin-left: -40px;
		margin-right: -40px;
	}
	*/
	
	.top-feature-column .content {
		width: calc(50vw - 40px);
	}
	.top-feature-column .visual img {
		object-position: 25% 50%;
	}
	.top-feature-column:nth-child(2) .visual img {
		object-position: 75% 50%;
	}
	
	.corporate-trends li {
		width: calc((100% - 48px) / 3)
	}
	
	
	#top-information .tab-list span {
		padding: 0 20px !important;
	}
}


@media screen and (max-width:1024px) {
	#top-kv {
		margin-top: 0;
	}
	#top-kv .slide-item,
	#top-kv .slide-item .image img,
	#top-kv .slide-item .video video {
		width: 640px;
	}
	
	.searchBox .list ul {
		flex-wrap: wrap;
		margin-bottom: -16px;
	}
	.searchBox .list li + li {
		margin-left: 0;
	}
	.searchBox .list li {
		margin: 0 16px 16px 0;
	}
	
	.top-feature-column:nth-child(3) .content {
		padding-right: 0;
	}
	
	
	#top-information .tab-list {
		position: relative;
		justify-content: flex-start !important;
		right: auto;
		top: auto;
		margin-top: -20px !important;
		margin-bottom: 40px !important;
	}
	
	#top-information p.rss {
		top: -142px !important;
	}
}





/* Corporate top */

@media screen and (max-width:1279px) {
	.corporate-index,
	.corporate-subindex {
		margin-left: 40px;
		margin-right: 40px;
	}
}




/* CEO message */

@media screen and (max-width:1279px) {
	.ceo-message,
	.about-message,
	.corporate-trends {
		margin-left: 40px;
		margin-right: 40px;
	}
}





/* Profile */

@media screen and (max-width:1279px) {
	.corporate-profile {
		margin-left: 40px;
		margin-right: 40px;
	}
}






/* Philosophy */

@media screen and (max-width:1279px) {
	.philosophy-intro {
		margin-left: 40px;
		margin-right: 40px;
	}
	.philosophy-intro .video-container {
		margin-left: -40px;
		margin-right: -40px;
	}
	
	.philosophy-column > .inner {
		margin-left: 0;
		margin-right: 0;
	}
}

@media screen and (max-width:1023px) {
	.philosophy-intro .video-container #movie01 {
		width: calc(100vw - 200px);
		height: calc((100vw - 200px) * 0.5625);
		margin: 0 auto;
	}
}







/* Fact */

@media screen and (max-width:1479px) {
	.fact-info-list li .number strong {
		font-size: 6rem;
	}
	
	.fact-feature-list .column1 dd strong {
		font-size: 8rem;
	}
	.fact-feature-list .column1 dd strong.medium {
		font-size: 4rem;
	}
	
	.fact-feature-list .column1 dd span {
		font-size: 2.5rem;
	}
	.fact-feature-list .column1 dd span.small {
		font-size: 2.0rem;
	}
}


@media screen and (max-width:1279px) {
	.fact-intro h2 {
		margin-left: 40px;
		margin-right: 40px;
	}

	.fact-info-list li h3 {
		font-size: 2.6rem;
	}
	.fact-info-list li .number strong {
		font-size: 5rem;
	}
	.fact-info-list li .number span {
		font-size: 2rem !important;
	}

	.fact-column > .inner {
		margin-left: 0;
		margin-right: 0;
	}
	.fact-rd-list li .content {
		padding-left: 40px;
	}
	
	#business.fact-column .fact-business-graph {
		min-width: 300px;
	}
	#business.fact-column .legend {
		padding-left: 0;
	}

	
	.fact-column .legend dt {
	}
}



@media screen and (max-width:1024px) {
	.fact-info-list li .number strong {
		font-size: 4rem;
	}
	.fact-info-list li .number span {
		font-size: 1.8rem !important;
	}
	
	#business.fact-column .container {
		flex-wrap: wrap;
		justify-content: center;
	}
	#business.fact-column .title {
		width: 100%;
	}
	#business.fact-column .fact-business-graph {
		width: auto;
	}
	#business.fact-column .legend {
		width: auto;
		margin-left: 40px;
	}
	
	
	
	
	
	.fact-feature-list .column1 .image {
		width: 100%;
	}
	.fact-feature-list .column1 > ul{
		width: 100%;
		margin-top: 32px;
	}
	
	.fact-feature-list dt {
		margin: 0 12px;
		font-size: 1.8rem;
	}
	
	.fact-feature-list .column1 > ul li {
		width: calc((100% - 60px) / 4);
	}
	.fact-feature-list .column1 > ul li:nth-child(2n) {
		margin-left: 20px;
	}
	.fact-feature-list .column1 > ul li:nth-child(n + 3) {
		margin-top: 0;
		margin-left: 20px;
	}


	.fact-feature-list .column1 dd strong {
		font-size: 6rem;
	}
	.fact-feature-list .column1 dd strong.medium {
		font-size: 2.0rem;
	}
	
	.fact-feature-list .column1 dd span {
		font-size: 1.8rem;
	}
	.fact-feature-list .column1 dd span.small {
		font-size: 1.8rem;
	}
	
	.fact-feature-list .column1 dt br.soft {
		display: none;
	}
	
	
	.fact-feature-list .column2 > ul li {
		width: calc((100% - (20px * 3)) / 4);
	}
	.fact-feature-list .column2 > ul li + li {
		margin-left: 20px;
	}
	
	.fact-feature-list .column2 dd strong {
		min-height: 4rem;
		font-size: 3rem;
	}
	.fact-feature-list .column2 dd strong.small {
		padding-top: 0;
		font-size: 2.5rem;
	}
	.fact-feature-list .column2 dd span {
		font-size: 1.5rem;
	}
	.fact-feature-list .note {
		font-size: 1.0rem;
		line-height: 1.4;
	}
	.fact-feature-list .comment {
		font-size: 1.0rem;
		line-height: 1.4;
	}
}




/* Outline */

@media screen and (max-width:1279px) {
	.outline-column .content {
		padding-left: 40px;
		padding-right: 40px;
	}
	.outline-column-container h2 {
		margin-left: 40px;
	}
	.outline-solutions {
		margin-left: 40px;
		margin-right: 40px;
	}
	
	
	.outline-column .content > ul.multi > li:nth-child(1) {
		padding-left: 24px;
		padding-right: 24px;
	}
	.outline-column .content > ul.multi > li:nth-child(n + 2) {
		width: calc((100% - 24px) / 2);
		margin-left: 0;
		margin-top: 24px;
	}
	.outline-column .content > ul.multi > li:nth-child(3),
	.outline-column .content > ul.multi > li:nth-child(5) {
		margin-left: 24px;
	}
	.outline-column .content > ul.multi > li:nth-child(2),
	.outline-column .content > ul.multi > li:nth-child(4),
	.outline-column .content > ul.multi > li:nth-child(6) {
		margin-left: 0;
	}
	
	
	
	.outline-column .content > ul.multi > li:nth-child(1) span {
		display: none;
	}
	
	
	.outline-casestudy {
		padding-left: 40px;
		padding-right: 40px;
	}
	
	
	.outline-solutions li {
		width: calc((100% - 48px) / 3);
		margin-left: 16px;
	}
	.outline-solutions li:nth-child(4n + 1) {
		margin-left: 16px;
	}
	.outline-solutions li:nth-child(3n + 1) {
		margin-left: 0;
	}
	.outline-solutions li:nth-child(n + 5) {
		margin-top: 0;
	}
	.outline-solutions li:nth-child(n + 4) {
		margin-top: 16px;
	}
	
	.outline-feature-container > .inner,
	.outline-organization-container > .inner {
		margin-left: 0;
		margin-right: 0;
	}
	
	.outline-feature-column.column1 .content > ul > li > ul {
		display: grid;
		grid-template-columns: 50% 50%;
	}
	
	

	.outline-feature-column.column1 .content > ul > li > ul > li:nth-child(1) {
		grid-row: 1 / 2;
		grid-column: 1 / 2;
		width: calc(100% - 12px);
	}
	.outline-feature-column.column1 .content > ul > li > ul > li:nth-child(3) {
		grid-row: 1 / 2;
		grid-column: 2 / 2;
		width: calc(100% - 12px);
		margin-left: 12px;
	}
	.outline-feature-column.column1 .content > ul > li > ul > li:nth-child(2) {
		grid-row: 2 / 2;
		grid-column: 1 / span 2;
		width: 100%;
		margin-left: 0;
		margin-top: 24px;
	}
	.outline-feature-column.column1 ul ul ul {
		justify-content: center;
	}
	.outline-feature-column.column1 ul ul ul li {
		width: auto;
	}
	.outline-feature-column.column1 ul ul ul li + li {
		margin-left: 80px;
	}
	
	.outline-feature-column.column1 .content > ul > li:nth-child(n + 2) {
		width: calc((100% - 24px) / 2);
	}
	.outline-feature-column.column1 .content > ul > li:nth-child(3) {
		margin-left: 24px;
	}


	
	
	.outline-organization-container > .inner > .extra {
		justify-content: center;
	}
	.outline-organization-container .title {
		width: 100%;
		margin-bottom: 42px;
	}
	.outline-organization-container .content {
		width: 100%;
		justify-content: center;
	}
}





/* TOP - NOTICE */

#NFI-insertHtml_1 {
	margin: 50px 0 0;
}
#NFI-insertHtml_1 p {
	font-size: 1.6rem;
	text-align: center;
}





/* TOP - MODAL */

#video-overlay {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 100000;
	background: rgba(0,0,0,0.85);
	opacity: 0;
	
	transition: opacity 500ms ease;
}
#video-modal {
	position: fixed;
	width: 1280px;
	height: 720px;
	left: calc(50%);
	top: calc(50%);
	z-index: 100010;
	transform: translate(-50%,-50%);
	opacity: 0;
	
	transition: opacity 500ms ease;
}
#video-modal video {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 10;
	object-fit: cover;
}


#video-modal .popup-logo {
	position: absolute;
	width: 28.5%;
	height: auto;
	left: calc(9.8%);
	top: calc(50%);
	z-index: 20;
	transform: translateY(-50%);
}

#video-modal .popup-message {
	position: absolute;
	width: 27.5%;
	height: auto;
	left: calc(50.6%);
	top: calc(50.75%);
	z-index: 20;
	transform: translateY(-50%);
}

#video-modal .popup-body {
	position: absolute;
	width: 38.6%;
	height: auto;
	left: calc(50.6%);
	top: calc(50.5%);
	z-index: 20;
	transform: translateY(-50%);
}



#video-modal .bg {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 1;
	object-fit: cover;
}




#video-play-button,
#video-pause-button {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	left: 20px;
	bottom: 20px;
	z-index: 20;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	
	visibility: hidden;
}
#video-play-button img {
	position: absolute;
	width: 64px;
	height: auto;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
#video-pause-button img {
	position: absolute;
	width: 48px;
	height: auto;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

#video-modal[data-status="playing"] #video-pause-button,
#video-modal[data-status="paused"] #video-play-button {
	visibility: visible;
}



#video-close-button {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
	right: 18px;
	top: 18px;
	z-index: 10;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
}
#video-close-button img {
	width: 38px;
	height: 38px;
}

#video-more-button {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	right: 25px;
	bottom: 15px;
	z-index: 10;
	margin: 0;
	padding: 0 24px 0 0;
	font-size: 3.0rem;
	color: #fff;
	border: none;
	background: transparent url(/jpn/2024new/img/top/arrow_next_white.svg) 100% 50% no-repeat;
	background-size: 14px auto;
	cursor: pointer;
	text-decoration: none !important;
}
#video-more-button:hover {
	text-decoration: underline !important;
}


body.modal-ready #video-overlay {
	opacity: 1;
}
body.modal-start #video-modal {
	opacity: 1;
}





@media screen and (max-width:1360px) {
	#video-modal {
		width: calc(100vw - 180px);
		height: calc((100vw - 180px) / 16 * 9);
	}
}


@media screen and (max-height:899px) {
	#video-modal {
		width: calc((100vh - 180px) / 9 * 16);
		height: calc(100vh - 180px);
	}
}


@media screen and (max-height:899px) and (max-aspect-ratio:4/3) {
	#video-modal {
		width: calc(100vw - 180px);
		height: calc((100vw - 180px) / 16 * 9);
	}
}





#video-modal .popup-message {
	transition: opacity 1s ease;
}
#video-modal .popup-body {
	opacity: 0;
	transition: opacity 1s ease;
}

#video-modal[data-scene="1"] .popup-message,
#video-modal[data-scene="2"] .popup-message {
	opacity: 0;
}
#video-modal[data-scene="2"] .popup-body {
	opacity: 1;
}
















body.test .top-feature-column .content {
	background: rgba(0,255,255,0.25);
}
body.test .top-feature-column .logo {
	background: rgba(255,0,0,0.25);
}




.top-feature-column .content {
	box-sizing: border-box;
	width: calc(50%);
	padding: 0 30px;
}







.top-feature-column.blustellar .logo {
	box-sizing: border-box;
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(1288px / 2);
	height: 100%;
	right: 50%;
	top: 0;
	z-index: 10;
}
.top-feature-column.blustellar .logo picture {
	display: flex;
	width: 100%;
	justify-content: center;
	align-items: center;
}
.top-feature-column.blustellar .logo img {
	width: 88%;
	height: auto;
}







.top-feature-column.cotomi .logo {
	box-sizing: border-box;
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(1288px / 2);
	height: 100%;
	right: 50%;
	top: 0;
	z-index: 10;
}
.top-feature-column.cotomi .logo picture {
	display: flex;
	width: 100%;
	justify-content: center;
	align-items: center;
}
.top-feature-column.cotomi .logo img {
	width: 70%;
	height: auto;
}







@media screen and (max-width:1535px) {
	.top-feature-column > .inner {
		width: calc(100vw - 240px);
		margin: 0 auto;
	}
	.top-feature-column > .inner .extra {
		padding: 0;
	}
	
	.top-feature-column.blustellar .logo {
		width: calc((100vw - 240px) / 2);
		left: 120px;
		right: auto;
	}
	.top-feature-column.cotomi .logo {
		width: calc((100vw - 240px) / 2);
		left: 120px;
		right: auto;
	}
}





@media screen and (max-width:1279px) {
	.top-feature-column > .inner {
		width: calc(100vw - 80px);
		margin: 0 auto;
	}

	.top-feature-column.blustellar .logo {
		width: calc((100vw - 80px) / 2);
		left: 40px;
		right: auto;
	}
	.top-feature-column.cotomi .logo {
		width: calc((100vw - 80px) / 2);
		left: 40px;
		right: auto;
	}
}






/* ------------------------------------------------------------------------------------------ */
/* 125th BANNER */

#banner-125th {
	position: fixed;
	width: 160px;
	height: 160px;
	right: 20px;
	bottom: 70px;
	z-index: 500;
	background: url(/jpn/2024new/img/top/125th_bg.png) 0 0 no-repeat;
	background-size: 100% auto;
}
#banner-125th a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}
#banner-125th a img {
	width: 108px;
	height: 108px;
	will-change: transform;
	transition: all 300ms ease-out;
}
#banner-125th a:hover img {
	opacity: 1;
	transform: scale(1.1194029851);
}

#banner-125th button {
	box-sizing: border-box;
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 26px;
	height: 26px;
	right: -6px;
	top: -6px;
	border: 1px solid #2c69ff;
	border-radius: 15px;
	background: #fff;
	cursor: pointer;
	transition: all 300ms ease-out;
}
#banner-125th button img {
	width: 12px;
	height: 12px;
	will-change: transform;
	transition: all 300ms ease-out;
}
#banner-125th button:hover,
#banner-125th button:hover img {
	opacity: 1;
}
#banner-125th button:hover {
	background: #2c69ff;
}
#banner-125th button:hover img {
	filter: brightness(0) invert(1);
}



#banner-125th {
	transition: transform 400ms ease-out, opacity 200ms linear;
	transform: translateY(300px);
}
#banner-125th.is-visible {
	transform: translateY(0px);
}
#banner-125th.is-absolute {
	position: absolute;
}

#banner-125th.hidden {
	opacity: 0;
}




html[data-cookiebar="visible"] #banner-125th {
	bottom: calc(70px + 64px);
}
html[data-cookiebar="visible"] #banner-125th.is-absolute {
	bottom: calc(70px);
}













