/*----------------------------------------------------
reset
----------------------------------------------------*/
*{
	box-sizing: border-box;
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h5, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
html {
	-webkit-text-size-adjust: 100%;
}
ol, ul {
	display: block;
	list-style-type: none;
	margin-block-start: 0;
	margin-block-end: 0;
	padding-inline-start: 0;
}
img {
	vertical-align: bottom;
	width:100%;
	height: auto;
}
h1 {
	font-size: 1rem;
	margin-block-start: 0;
	margin-block-end: 0;
}
button{
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}
a {
	color: #fff;
	text-decoration: none;
	display: inline-block;
}
a:link,
a:visited,
a:hover,
a:active{
	color: #fff;
}
a:focus {
	outline: none;
}
span{
	display: inline-block;
}


/*----------------------------------------------------
共通css
----------------------------------------------------*/
:root {
	--contentsMaxWidth: 1020px;
	--h1FontSize: 54px;
	--h2FontSize: 36px;
	--subTtlFontSize: 18px;
	--h3FontSize: 24px;
	--h4FontSize: 36px;
	--h5FontSize: 22px;
	--pFontSize: 16px;
	--colorBlack: #333;
	--colorWhite: #fff;
	--colorBlue: #00B2FF;
	--colorNavy: #082A49;
	--colorNavyLight: #4B668F;
	--colorExternal: #19D2C0;
	--colorInternal: #FF6955;
	--fontFamily: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	--fontFamilyRoboto: "Roboto", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	--fontFamilyPrompt: "Prompt", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
html{
	font-family:var(--fontFamily);
	font-weight: normal;
	font-size: 16px;
	scroll-behavior: smooth;
}
body{
	background-color: #031C33;
	color: #fff;
	position: relative;

	background-image: url(/img/dx/bg_footer.png);
	background-position: left bottom;
	background-size: max(1020px, 100vw);
	background-repeat: no-repeat;
	text-align: center;
}
main{
	overflow: hidden;
	position: relative;
}
h1,h2,h3,h4,h5{
	display: inline-block;
	line-height: 1;
	font-weight: bold;
	margin-block-start: 0;
	margin-block-end: 0;
}
h1{
	font-size: var(--h1FontSize);
}
h2{
	font-size: var(--h2FontSize);
}
h3{
	font-size: var(--h3FontSize);
}
h4{
	font-size: var(--h4FontSize);
}
h5{
	font-size: var(--h5FontSize);
}
p{
	font-size: var(--pFontSize);
	line-height: 1.75;
	text-align: left;
}
hgroup p{
	font-weight: normal;
}
.subTtl{
	font-family: var(--fontFamilyPrompt);
	color: var(--colorBlue);
	font-size: var(--subTtlFontSize);
	text-align: center;
}
.section{
	width: 100%;
	margin: 0;
	padding: 100px 0;
	position: relative;
}
.sectionInner{
	display: flex;
	flex-direction: column;
	align-items: center;
}
.contents{
	padding-top: 100px;
}

/* 背景 */
.contentsWrap{
	position: relative;
}
.bgParts{
	position: absolute;
	z-index: -2;
	pointer-events: none;
}
._screen{
	mix-blend-mode: screen;
}
._multiply{
	mix-blend-mode: multiply;
}

.backToTop{
	position: fixed;
	border-radius: 100vmax;
	z-index: 9;
	pointer-events: auto;
	display: none;
}

/* clmList */
.clmList .txtArea{
	color: var(--colorWhite);
}
.clmList .articleTtl{
	font-weight: bold;
}

/* fadeIn Animation */
#dx .fadeIn {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .8s ease-out, transform .8s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#dx .fadeIn.animated {
	opacity: 1;
	transform: translateY(0);
}

/* fadeIn の mix-blend-mode対策 */
#dx .policy .visionArea.fadeIn ~ .imgArea{
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .8s ease-out, transform .8s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#dx .policy .visionArea.fadeIn.animated ~ .imgArea{
	opacity: 1;
	transform: translateY(0);
}

.navItem a{
	position: relative;
}

@media (any-hover: hover) {
	a:hover:not(:has(.articleTtl, .news_time, .news_ttlWrap)),
	.productsList .slick-slide:hover,
	.projects .clmList a:hover .imgArea{
		opacity: .8;
	}
	.productsList .slick-prev:hover:before,
	.productsList .slick-next:hover:before{
		background-image: url(/img/dx/icon_slickArrow_b.svg);
	}

	#navMenu .navItem a:hover{
		opacity: 1;
	}
	#navMenu .navItem a:hover span{
		color: var(--colorBlue);
	}
	#navMenu .navItem a:hover::before{
		content: '';
		position: absolute;
		width: 100%;
		height: 4px;
		background-color: var(--colorBlue);
		left: 0;
		bottom: 0;
	}

	.productsList .slick-slide:hover .txtArea .productTtl,
	.activities .clmList a:hover .txtArea p,
	.projects .clmList a:hover p.articleTtl,
	.newsList a:hover .colWrap .news_time,
	.newsList a:hover .news_ttlWrap span{
		color: #89DBFF;
		text-decoration: none;
	}
}

/*----------------------------------------------------
header
----------------------------------------------------*/
header{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 20;
	width: 100%;
}
header a{
	display: flex;
	align-items: center;
	width: fit-content;
}
header a svg {
	fill: #fff;
}


/*----------------------------------------------------
#TOP
----------------------------------------------------*/
#top {
	width: 100%;
	overflow: hidden;
	margin: 0;
	padding: 0;
	position: relative;
}

/*ファーストビュー*/
#top figure.videoWrap{
	display: flex;
	flex-direction: unset;
	width: 100%;
	overflow: hidden;
	justify-content: center;
	align-items: flex-start;
}
#top .videoWrap video {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
#top .sectionInner{
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
}
#top p{
	font-weight: bold;
}

/*言語切替*/
#lang{
	position: absolute;
	z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
	line-height: 1;
}
#lang .border{
    background-color: #fff;
    display: inline-block;
	width: 2px;
}
#lang a{
	padding: 0 0.5rem;
	pointer-events: auto;
}
#lang a:hover{
	opacity: initial;
}
#lang a span{
	display: inline-block;
	font-weight: bold;
	opacity: 0.4;
	color: #fff;
}
#lang a.on{
	pointer-events: none;
}
#lang a.on span{
    opacity: 1;
}
/*--- PC大 ---*/
@media screen and (min-width:1300px){
	#lang a span{
		font-size: 22px !important;
	}
	#lang .border {
		height: 30px !important;
	}
}
/*--- PC/TAB（横長） ---*/
@media screen and (orientation: landscape){
	#lang {
		top: 40px;
		right: 40px;
	}
	#lang .border{
		height: 1.5vw;
	}
	#lang a span{
		font-size: 1.5vw;
	}
	
}
/*--- TB（縦長） ---*/
@media screen and (max-width:1280px) and (orientation: portrait){
	#lang {
		top: 5vh;
        right: 0;
	}
	#lang .border{
		height: 2vh;
	}
	#lang a span{
		font-size: 16px;
	}
}
/*--- SP ---*/
@media screen and (max-width:767px) and (orientation: portrait){
	#lang {
		top: 4.8vh;
        right: 0;
	}
	#lang a{
		width: fit-content;
	}
}

/*----------------------------------------------------
.topMessage
----------------------------------------------------*/
.topMessage .textArea{
	position: relative;
}

/*----------------------------------------------------
.policy
----------------------------------------------------*/
.secHeadImg{
	margin-bottom: 20px;
}
.policy .h2Group + .txtArea{
	margin-bottom: 30px;
}
.policy .contents > h5{
	display: flex;
	flex-direction: column;
	align-items: center;
}
.policy .contents > h5:before{
	content: '';
	display: inline-block;
	background-size: 100%;
}
.policy .subSection{
	position: relative;
}
.policy .subSection hgroup p{
	font-weight: bold;
	font-size: var(--h2FontSize);
	text-align: center;
	line-height: 1;
}
.policy .subSection hgroup p.subTtl{
	font-weight: normal;
	font-size: var(--subTtlFontSize);
	text-align: center;
	line-height: 1.75;
}
.visionArea .caption{
	margin-top: 10px;
}
.visionArea .caption a{
	text-decoration: underline;
}


/* #external */
#external .contents > h5{
	color: var(--colorExternal);
	line-height: 1.5;
}
#external hgroup .subTtl{
	color: var(--colorExternal);
}
#external .contents:nth-of-type(2) > h5:before{
	background-image: url('/img/dx/img_policy_external_1.png');
}
#external .contents:nth-of-type(3) > h5:before{
	background-image: url('/img/dx/img_policy_external_2.png');
}
.externalList li{
	background-color: var(--colorNavyLight);
	display: grid;
	grid-template-rows: 3.8rem 1fr;
	gap: 10px;
	border-radius: 5px;
}
.externalList li .ttlArea{
	display: grid;
	grid-template-columns: auto 1fr;
}
.externalList .listNumArea{
	border-right: 1px solid #fff;
	color: var(--colorExternal);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.externalList .listNumArea .step{
	font-family: var(--fontFamilyPrompt);
	font-weight: 300;
	line-height: 1;
}
.externalList .listNumArea .listNum{
	font-family: var(--fontFamilyPrompt);
	font-weight: 300;
	line-height: 1;
}
.externalList li h5{
	align-self: center;
	text-align: left;
	margin-bottom: 0;
}
.externalList .txtArea p{
	font-size: 14px;
}

/* #internal */
#internal._internal1 hgroup{
	margin-bottom: 0;
}
#internal2 .contents:first-of-type{
	padding-top: 0;
	padding-bottom: 0;
}
#internal hgroup p.subTtl,
#internal2 hgroup p.subTtl{
	color: var(--colorInternal);
}
#internal .contents > h5,
#internal2 .contents > h5{
	color: var(--colorInternal);
}
#internal .contents:nth-of-type(2) > h5:before{
	background-image: url('/img/dx/img_policy_internal_1.png');
}
#internal .contents:nth-of-type(3) > h5:before{
	background-image: url('/img/dx/img_policy_internal_2.png');
}
#internal2 .contents:first-of-type > h5:before{
	background-image: url('/img/dx/img_policy_internal_3.png');
}

/*----------------------------------------------------
.productsAndServices
----------------------------------------------------*/
.section.productsAndServices{
	width: auto;
}
.productsAndServices h3{
	margin-bottom: 5px;
	line-height: 1.5;
}
.productsList .slick-slide{
	background-color: var(--colorWhite);
}
.productsList .slick-slide .txtArea{
	color: var(--colorBlack);
}
.productsList .slick-arrow{
	z-index: 1;
}
.productsList .slick-next{
	right: 780px;
	width: 40px;
	height: 40px;
}
.productsList .slick-prev{
	left: 780px;
	width: 40px;
	height: 40px;
}
.productsList .slick-list {
	overflow: visible !important;
}

@media (1920px <= width < 2500px) {
	.productsList .slick-next{
		right: 540px;
	}
	.productsList .slick-prev{
		left: 540px;
	}
}
@media (1600px <= width < 1920px) {
	.productsList .slick-next{
		right: 460px;
	}
	.productsList .slick-prev{
		left: 460px;
	}
}

@media (1280px <= width < 1600px) {
	.productsList .slick-next{
		right: 280px;
	}
	.productsList .slick-prev{
		left: 280px;
	}
}

@media (1021px <= width < 1280px) {
	.productsList .slick-next{
		right: 145px;
	}
	.productsList .slick-prev{
		left: 145px;
	}
}

@media screen and (max-width: 1020px) {
	.productsList .slick-next{
		right: 20px!important;
	}
	.productsList .slick-prev{
		left: 20px!important;
	}
}


.productsList .slick-prev:before,
.productsList .slick-next:before{
	content: '';
	display: inline-block;
	width: 100%;
	height: 100%;
	background-image: url(/img/dx/icon_slickArrow.svg);
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;

}
.productsList .slick-next:before{
	transform-origin: center;
	transform: rotate(180deg);
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before{
	opacity: .8;
}
.productsList .cat_products{
	background-color: var(--colorBlue);
	border-radius: 100vmax;
	font-weight: bold;
	color: var(--colorWhite);
	white-space: nowrap;
	text-align: center;
}




/*----------------------------------------------------
.news
----------------------------------------------------*/
.news h2{
	white-space: nowrap;
}
.newsList li{
	border-bottom: 1px dotted #445876;
}
.newsList a{
	display: flex;
	color: var(--colorWhite);
	line-height: 1.5;
}
a:hover .news_ttl,
a:active .news_ttl{
	text-decoration: underline;
}
.newsList a .news_time,
.newsList a .news_cat{
	white-space: nowrap;
}
.newsList a .news_cat{
	padding: 0.22em 0;
	white-space: nowrap;
	width: fit-content;
	text-align: center;
	min-width: 8em;
}
.newsList .news_cat.iv_2.id_6,
.newsList .news_cat.iv_2.id_24{ background-color: #0f3ca9;}
.newsList .news_cat.iv_2.id_2,
.newsList .news_cat.iv_2.id_20{ background-color: #468b00;}
.newsList .news_cat.iv_2.id_3,
.newsList .news_cat.iv_2.id_21{ background-color: #047a91;}
.newsList .news_cat.iv_2.id_4,
.newsList .news_cat.iv_2.id_22{ background-color: #aaa10f;}
.newsList .news_cat.iv_2.id_5,
.newsList .news_cat.iv_2.id_23{ background-color: #8957B7;}
.newsList .news_cat.iv_2.id_15{ background-color: #8957B7;}
.newsList .news_cat.iv_2.id_16{ background-color: #5b9fdf;}
.newsList .news_cat.iv_2.id_26,
.newsList .news_cat.iv_2.id_18{ background-color: #CC6666;}
.newsList .news_cat.iv_2.id_38{ background-color: #dda0dd;}

.newsList a .news_ttlWrap{
	text-align: left;
}
.newsList a .newMark{
	display: inline;
	border: 1px solid #fff;
	padding: 0 0.5em;
	margin-right: 0.5em;
}

/*----------------------------------------------------
.snsList
----------------------------------------------------*/
.snsList{
	display: grid;
	grid-template-columns:  30px 30px 30px 48.5px;
	gap: 50px;
	width: fit-content;
	margin: 0 auto;
	place-content: center;
}


/*----------------------------------------------------
footer
----------------------------------------------------*/
footer{
	width: 100%;
	text-align: center;
}
footer small{
	font-family: var(--fontFamilyRoboto);
	font-size: 12px;
}


/*----------------------------------------------------
PC特大
----------------------------------------------------*/
@media screen and (min-width:1980px){
	main .contentsWrap .bgParts._parts0 {
		top: -120px;
	}
}

/*----------------------------------------------------
PC大
----------------------------------------------------*/
@media screen and (min-width:1500px){
	.contentsWrap .bgParts._parts0 {
		top: -30px;
	}
}

/*----------------------------------------------------
PC/TAB（横長）
----------------------------------------------------*/
@media screen and (orientation: landscape){
	#spMenuBtn{
		display: none;
	}
	.pcNone{
		display: none;
	}
	h2{
		margin-bottom: 15px;
	}
	h5{
		margin-bottom: 20px;
	}
	hgroup{
		margin-bottom: 20px;
	}
	.section{
		text-align: center;
		margin: 0 auto;
		width: 1020px;
	}
	.contents{
		padding-top: 70px;
	}
	.imgArea{
		width: fit-content;
	}
	.imgTtl{
		font-size: 18px;
		font-weight: bold;
		margin-bottom: 30px;
		text-align: center;
	}
	.listTtl{
		font-size: 18px;
		font-weight: bold;
		margin-bottom: 30px;
	}
	.backToTop{
		right: 80px;
		bottom: 80px;
		width: 60px;
		height: 60px;
	}
	._widthFixed{
		width: 800px;
		margin: 0 auto;
	}

/* clmList */
	.clmList{
		max-width: var(--contentsMaxWidth);
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 30px 15px;
		margin-top: 70px;
	}
	.clmList .articleTtl,
	.clmList time{
		line-height: 1.75;
	}
	.projects .clmList{
		grid-template-columns: 1fr;
		gap: 50px;
	}
	.projects .clmList .articleTtl{
		font-size: 18px;
		margin-bottom: 10px;
	}
	.projects .clmList .imgArea{
		margin-bottom: 15px;
	}
	.projects .clmList li{
		width: 830px;
	}
	.projects .clmList li a{
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
	}
	.projects .clmList li a .imgArea{
		width: 480px;
		margin-bottom: 0;
	}
	.projects .clmList li a .txtArea{
		width: 330px;
	}



/* 背景 */
	.bgParts._parts0{
		top: 0;
		width: 100%;
	}
	.bgParts._parts1{
		bottom: -60%;
        right: -11%;
	}
	.bgParts._parts2{
		top: 87%;
        left: -60%;
	}
	.bgParts._parts3{
		top: 84%;
        right: -9%;
	}
	.bgParts._parts4{
		top: -26%;
		left: -2%;
	}


/*----------------------------------------------------
header
----------------------------------------------------*/
	header a{
		padding: 40px;
	}
	body header {
        position: absolute;
        z-index: 1;
    }

/*----------------------------------------------------
nav
----------------------------------------------------*/
	nav{
		background-color:rgba(255,255,255,.8);
		backdrop-filter: blur(10px);
	}
	nav.fixed{
		position: fixed;
		top: 0;
		z-index: 99999;
		width: 100%;
	}
	.spMenuBtn{
		display: none;
	}
	#navMenu{
		display: flex;
		justify-content: space-between;
		width: var(--contentsMaxWidth);
		margin: 0 auto;
		max-width: 860px;
	}
	#navMenu a{
		display: flex;
		align-items: center;
		text-align: center;
		padding: 30px 0;
		width: 100%;
		height: 100%;
	}
	#navMenu span{
		color: var(--colorNavy);
		font-weight: bold;
		font-size: 16px;
	}

	body #news,
	body #topMessage,
	body #policy,
	body #section_external,
	body #section_internal,
	body #productsAndServices,
	body #projects{
		position: relative!important;
		top: -60px!important;
	}
	.contentsWrap.addSpace{
		padding-top: 110px;
	}
	.contentsWrap.addSpace .bgParts._parts0{
		top: 110px;
	}

/*----------------------------------------------------
#TOP
----------------------------------------------------*/
	#top {
		height: 100vh;
	}

	/*ファーストビュー*/
	#top figure.videoWrap{
		height: 100vh;
	}

	#top .sectionInner{
		bottom: 10vh;
	}
	#top h1{
		margin-bottom: 30px;
	}
	#top p{
		line-height: 1.77;
		text-align: center;
	}


/*----------------------------------------------------
.topMessage
----------------------------------------------------*/
	.topMessage .sectionInner:before{
		content: '';
		background-color: rgba(8,42,73,0.6);
		position: absolute;
		z-index: -1;
	}
	.topMessage{
		margin-bottom: 100px;
	}
	.topMessage .imgArea{
		margin-bottom: 30px;
	}
	.topMessage .txtArea{
		width: 800px;
	}
	.topMessage .txtArea p:not(:last-child){
		margin-bottom: 30px;
	}
	.topMessage .sectionInner:before{
		top: 27%;
		width: 100%;
		height: 73%;
	}

/*----------------------------------------------------
.policy
----------------------------------------------------*/
	.policy {
		padding: 100px 0 0;
	}
	.policy .h2Group + .txtArea{
		margin-bottom: 40px;
	}
	.policy .subSection hgroup p{
		margin-bottom: 15px;
	}
	.policy .subSection{
		padding: 100px 0 0;
	}
	.policy .subSection > .contents{
		padding-top: 100px;
		padding-bottom: 100px;
	}
	.policy .subSection h5 + .txtArea,
	.policy .subSection hgroup + .txtArea{
		width: 800px;
		margin-left: auto;
		margin-right: auto;
	}
	.secHeadImg{
		width: 120px;
	}
	.policy .visionArea h3{
		margin-bottom: 10px;
	}
	.visionArea .txtArea p{
		width: 800px;
	}
	.policy	.imgArea{
		margin-left: auto;
		margin-right: auto;
		display: inline-block;
	}
	.policy	.imgArea._imgL{
		width: 1100px;
	}
	.policy .policyImg1{
		margin-top: 80px;
		margin-bottom: 80px;
	}
	.policy .visionArea{
		margin-bottom: 100px;
	}
	.policy .visionArea .txtArea{
		margin: 0 auto 80px;
		width: 800px;
	}
	.policy .contents > h5:before{
		width: 80px;
		height: 80px;
		margin-bottom: 15px;
	}
	.explainArea{
		margin: 80px auto 0;
	}

/* #external */
	.externalListWrap{
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 100px;
	}
	.externalList{
		width: 1100px;
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 30px;
		margin-bottom: 80px;
	}
	.externalList li{
		padding: 20px;
	}
	.externalList .listNumArea{
		padding: 0 10px 0 0;
	}
	.externalList .listNumArea .step{
		font-size: 0.875rem;
	}
	.externalList .listNumArea .listNum{
		font-size: 1.875rem;
	}
	.externalList li h5{
		font-size: 1.25rem;
		line-height: 1.4;
		margin-left: 10px;
	}

/* #internal */
	.policy ._smart .txtArea{
		width: 800px;
		margin: 0 auto;
	}
	.policy ._smart .explainArea:has(.smartImgWrap){
		width: 800px;
	}
	.policy ._smart .smartImgWrap{
		width: fit-content;
		margin: 0 auto;
		display: grid;
		grid-template-columns:  400px 380px;
		grid-template-rows:  400px;
		gap: 20px;
		align-items: end;
	}
	.policy ._smart p.caption{
		margin-top: 10px;
		font-size: 14px;
		text-align: right;
	}

	.internalList li ul li:not(:last-child){
		margin-bottom: 10px;
	}
	.internalList .ttlArea{
		border-radius: 100vmax;
		background-color: var(--colorNavyLight);
		margin-bottom: 15px;
	}
	.internalList .ttlArea h6,
	.internalList .ttlArea p{
		font-size: 18px;
		font-weight: bold;
	}
	.internalList>li{
		padding: 0 25px;
	}
	.internalList li,
	.internalList p{
		font-size: 14px;
	}

	.internalList._list1{
		width: 1020px;
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
	}
	.internalList._list1>li:nth-child(2){
		border-right: 1px dotted var(--colorNavyLight);
		border-left: 1px dotted var(--colorNavyLight);
	}
	.internalList._list1 li ul li{
		text-align: left;
		text-indent: -1em;
		padding-left: 1em;
	}
	.policy .subSection .contents.list2Wrap{
		padding-top: 80px;
	}

/*----------------------------------------------------
.productsAndServices
----------------------------------------------------*/
	.productsAndServices hgroup,
	.productsAndServices hgroup + .txtArea{
		width: 1020px;
		margin: 0 auto;
	}
	.productsAndServices hgroup + .txtArea p{
		text-align: center;
	}
	.productsList{
		width: 100%;
		margin: 70px auto 0;
	}
	.productsList .slick-track {
		display: flex;
	  }
	.productsList .slick-slide {
		margin-right: 10px;
		margin-left: 10px;
		height: auto !important;
	}
	.productsList .slick-slide .slickContents{
		display: flex;
		align-items: flex-start;
		padding: 30px;
	}
	.productsList .slick-slide .clm1{
		display: flex;
		flex-shrink: 0;
		margin-right: 20px;
	}
	.productsList .slick-slide .imgArea{
		width: 240px;
	}
	.productsList .slick-slide .clm2{
		align-self: flex-start;
		text-align: left;
	}
	.productsList .cat_products{
		width: fit-content;
		padding: 0.3em 1.5em;
		font-size: 14px;
		margin-bottom: 10px;
	}
	.productsAndServices h3.productTtl{
		font-size: var(--pFontSize);
		text-align: left;
	}

/*----------------------------------------------------
.activities
----------------------------------------------------*/
	.activities{
		padding-bottom: 0;
	}

	.activities .clmList .txtArea{
		margin-top: 15px;
	}
/*----------------------------------------------------
.news
----------------------------------------------------*/
	.news{
		padding-top: 70px;
	}
	.news .sectionInner{
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		width: var(--contentsMaxWidth);
		margin: 0 auto;
		align-items: flex-start;
	}
	#newsListWrap{
		flex-grow: 1;
	}
	.news h2{
		font-size: 32px;
		margin-right: 45px;
	}
	.newsList a{
		padding: 15px 0;
	}
	.newsList li:first-child a{
		padding-top: 0;
	}
	.newsList .colWrap{
		display: flex;
		align-items: flex-start;
	}
	.newsList a .news_time,
	.newsList a .news_cat{
		display: inline-block;
		margin-right: 20px;
	}
	.newsList a .news_cat{
		font-size: 14px;
	}


/*----------------------------------------------------
.snsList
----------------------------------------------------*/
	.snsList{
		width: 1020px;
		margin-top: 100px;
	}

/*----------------------------------------------------
footer
----------------------------------------------------*/
	footer{
		margin-top: 200px;
		height: 250px;
	}
	footer small {
		width: 1020px;
		display: block;
		margin: 0 auto;
	}
}


/*----------------------------------------------------
TB（縦長）
----------------------------------------------------*/
@media screen and (max-width:1280px) and (orientation: portrait){
	.spTbNone{
		display: none;
	}
	:root {
		--h1FontSize: 30px;
		--h2FontSize: 24px;
		--subTtlFontSize: 16px;
		--h3FontSize: 36px;
		--h5FontSize: 20px;
		--pFontSize: 16px;
	}
	h1,
	hgroup{
		text-align: center;
	}
	h2{
		margin-bottom: 10px;
	}
	h5{
		margin-bottom: 20px;
	}
	hgroup{
		margin-bottom: 20px;
	}
	.section{
		padding: 75px 0;
	}
	.imgTtl{
		font-size: 18px;
		font-weight: bold;
		margin-bottom: 20px;
	}
	.listTtl{
		width: 100%;
		font-size: 17.5px;
		font-weight: bold;
		margin-bottom: 20px;
	}

/* 背景 */
	.bgParts._parts0 {
		top: -340px;
		left: 0;
		width: 100%;
	}
	.bgParts._parts1{
		width: 80vw;
		top: 40%;
		right: -21%; 
	}
	.bgParts._parts2{
		width: 54vw;
        top: 95%;
		left: -20%;
	}
	.bgParts._parts3{
		width: 50vw;
        top: 75%;
        right: -13%;
	}
	.bgParts._parts4{
		width: 56vw;
		top: 83%;
		left: -5%;
	}

/* clmList */
	.clmList{
		display: flex;
		flex-direction: column;
		width: 100%;
		padding: 0 30px;
	}
	.clmList li:not(:last-child) {
		margin-bottom: 40px;
	}
	.clmList a{
		width: 100%;
	}
	.clmList .imgArea{
		margin-bottom: 20px;
	}
	.clmList .articleTtl{
		line-height: 1.75;
	}


/*----------------------------------------------------
header
----------------------------------------------------*/
	header {
		width: calc(100% - 11vh);
	}
	header a{
		padding: 4.5vh 30px;
	}


/*----------------------------------------------------
nav
----------------------------------------------------*/
	nav {
		position: fixed;
		padding: 0;
		top: 0;
		right: 0;
		z-index: 15;
	}
	nav #spMenuBtn {
		position: absolute;
		right: 3vh;
		top: 3vh;
		width: 6vh;
		height: 6vh;
		background-color: var(--mainColorBlue);
		transition: transform .4s ease-in-out;
		z-index: 11;
	}

	#spMenuBtn span {
		position: absolute;
		right: 1.5vh;
		top: 0;
		border-top: 2px solid #FFF;
		width: 3vh;
		transform-origin: center;
		transition: all .4s ease-in-out;
	}
	#spMenuBtn span.l1 {
		top: 2.2vh;
		transform: rotate(0);
		transform-origin: center;
		transition: all .4s ease-in-out;
	}
	#spMenuBtn span.l2 {
		top: 3.8vh;
		transform: rotate(0);
		transform-origin: center;
		transition: all .4s ease-in-out;
	}

	nav #spMenuBtn.on span{
		width: 3.4vh;
	}
	nav #spMenuBtn.on span.l1{
		top: 3vh;
		transform: rotate(45deg);
	}
	nav #spMenuBtn.on span.l2{
		top: 3vh;
		transform: rotate(-45deg);
	}

	.navMenuWrap{
		position: absolute;
		top: 0;
		right: 0;
		display: flex;
		flex-direction: column;
		height: 100vh;
		width: 100vw;
		background-color: #031C34;
		transform: translateX(100%);/*これをスライド*/
		transition: transform .4s ease-out;
	}
	.navMenuWrap.on{
		transform: translateX(0);/*これをスライド*/
	}
	#navMenu {
		display: flex;
		flex-grow: 1;
		flex-direction: column;
		margin: 14svh 30px 4svh;
		max-height: 100svh;
	}
	#navMenu li{
		margin: 0;
		border-bottom: 1px dotted #fff;
	}
	#navMenu li a{
		padding: 3dvh 0;
		display: block;
		text-align: left;
	}

	#navMenu li.navItem span{
		color: #fff;
		font-size: 2.3988vh;
		font-weight: normal;
		white-space: nowrap;
	}


/*----------------------------------------------------
#TOP
----------------------------------------------------*/
	main #top{
		height: 110svh;
		mask-image: linear-gradient(to bottom, black 100svh, transparent);
		-webkit-mask-image: linear-gradient(to bottom, black 100svh, transparent);
	}

	/*ファーストビュー*/
	main #top figure.videoWrap{
		height: 120svh;
	}

	main #top .sectionInner {
		bottom: 15vh;
	}
	#top h1{
		margin-bottom: 15px;
		line-height: 1.3;
	}
	#top p{
		line-height: 1.77;
		padding: 0 30px;
	}


/*----------------------------------------------------
.topMessage
----------------------------------------------------*/
	.topMessage .imgArea{
        margin: 0 20px 30px;
	}
	.topMessage .txtArea{
        background-color: rgba(8, 42, 73, 0.6);
        padding: 190px 20px 20px;
        width: 100%;
        margin-top: -190px;
        z-index: -1;
        position: relative;
	}
	.topMessage .txtArea p:not(:last-child){
		margin-bottom: 30px;
	}
	.topMessage .sectionInner:before{
		top: 32%;
		width: 100%;
		height: 67%;
	}

/*----------------------------------------------------
.policy
----------------------------------------------------*/
	.policy .visionArea h3{
		text-align: center;
		font-size: 22px;
		margin-bottom: 10px;
	}
	.policy .policyImg1{
		margin-top: 30px;
		margin-bottom: 50px;
	}
	.policy .visionArea{
		padding-left: 20px;
		padding-right: 20px;
		padding-bottom: 75px;
	}
	.policy .visionArea .txtArea{
		margin-bottom: 40px;
	}
	.policy .visionArea .imgArea{
		margin-bottom: 0;
	}
	.visionArea .caption p{
		font-size: 12px;
	}
	.policy .subSection{
		padding: 75px 0;
	}
	.secHeadImg{
		width: 80px;
	}
	.policy .contents > h5:before {
		width: 60px;
		height: 60px;
		margin-bottom: 10px;
	}
	.explainArea{
		margin: 50px auto 0;
	}
	.policy .subSection hgroup + .txtArea{
		padding-right: 20px;
		padding-left: 20px;
		margin-bottom: 50px;
	}
	.policy .subSection hgroup p{
		line-height: 1.5;
		margin-bottom: 5px;
	}

	/* #external */
	#external .contents{
		padding-left: 20px;
		padding-right: 20px;
	}
	#external .contents:last-child{
		padding-bottom: 0;
	}
	#external .contents.externalListWrap{
		padding-top: 0;
	}
	.externalList{
		display: flex;
		flex-direction: column;
		margin-bottom: 50px;
	}
	.externalList li{
		padding: 20px 25px;
		margin-bottom: 15px;
	}
	.externalList li:last-child{
		margin-bottom: 0;
	}
	.externalList .listNumArea{
		padding: 0 15px 0 0;
	}
	.externalList .listNumArea .step{
		font-size: 0.875rem;
	}
	.externalList .listNumArea .listNum{
		font-size: 1.875rem;
	}
	.externalList li h5{
		font-size: 1.125rem;
		line-height: 1.4;
		margin-left: 15px;
	}
	.externalList li .txtArea{
		padding: 0;
		margin-bottom: 0;
	}

	#external .contents._spWide{
		padding-left: 0;
		padding-right: 0;
	}
	#external .contents._spWide .txtArea,
	#external .contents._spWide .explainArea .imgTtl{
		padding-left: 20px;
		padding-right: 20px;
	}
	#external .contents._spWide .explainArea .imgArea._imgL{
		padding-left: 20px;
		padding-right: 20px;
	}

	/* #internal */
	#internal .contents,
	#internal2 .contents{
		padding-top: 100px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.policy ._smart .explainArea:has(.smartImgWrap){
		margin-top: 20px;
	}
	.policy ._smart .smartImgWrap{
		margin: 0 auto;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 20px;
	}
	.policy ._smart p.caption{
		margin-top: 10px;
		font-size: 14px;
		text-align: center;
	}
	.policy .subSection hgroup p.subTtl{
		margin-bottom: 0;
	}
	.internalList > li:not(:last-child){
		margin: 0 auto 30px;
	}
	.internalList li ul li:not(:last-child){
		margin-bottom: 10px;
	}
	.internalList .ttlArea{
		border-radius: 100vmax;
		background-color: var(--colorNavyLight);
		margin-bottom: 15px;
	}
	.internalList .ttlArea h6{
		font-size: 18px;
		font-weight: bold;
	}
	.internalList .ttlArea p{
		padding-left: 20px;
		font-size: 18px;
		font-weight: bold;
	}
	.policy .subSection._internal2 hgroup + .txtArea{
		margin-bottom: 0;
	}
	.internalList._list1 li ul li{
		text-align: left;
		text-indent: -1em;
		padding-left: 1em;
	}
	#internal2{
		padding-bottom: 0;
	}
	#internal2 .contents{
		padding-top: 75px;
	}


/*----------------------------------------------------
.productsAndServices
----------------------------------------------------*/
	.productsList{
		width: 100%;
		margin: 40px auto 0;
	}
	.productsList .slick-track {
		display: flex;
	}
	.productsList .slick-slide {
		margin-right: 10px;
		margin-left: 10px;
		height: auto !important;
	}
	.productsList .slick-slide .slickContents{
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		padding: 30px;
	}
	.productsList .slick-slide .clm1{
		display: flex;
		margin: 0 auto 20px;
	}
	.productsList .slick-slide .clm2{
		align-self: flex-start;
		text-align: left;
	}
	.productsAndServices h3.productTtl{
		font-size: var(--pFontSize);
	}
	.productsList .cat_products{
		width: fit-content;
		padding: 0.3em 2em;
		font-size: 14px;
		margin-bottom: 10px;
		white-space: normal;
	}


/*----------------------------------------------------
.projects
----------------------------------------------------*/
	.projects .clmList .articleTtl{
		font-size: 18px;
	}
	.projects hgroup + .txtArea {
		padding: 0 30px;
		margin-bottom: 40px;
	}


/*----------------------------------------------------
.activities
----------------------------------------------------*/
	.activities{
		padding-top: 20svh;
		margin-top: -10svh;
		mask-image: linear-gradient(to bottom, transparent , black 10svh);
		-webkit-mask-image: linear-gradient(to bottom, transparent, black 10svh);
	}
	.activities hgroup + .txtArea {
		padding: 0 30px;
		margin-bottom: 40px;
	}


/*----------------------------------------------------
.news
----------------------------------------------------*/
	.section.news{
		display: flex;
		flex-direction: column;
		max-width: 100%;
		padding-top: 0;
	}
	.news h2{
		margin-bottom: 20px;
	}
	.newsList{
		padding: 0 30px;
	}
	.newsList a{
		flex-direction: column;
		padding: 20px 0;
	}
	.newsList a .news_time{
		margin-right: 10px;
	}
	.newsList a .news_cat{
		font-size: 14px;
		padding: 0;
		white-space: nowrap;
	}
	.newsList .colWrap{
		text-align: left;
		margin-bottom: 10px;
	}



	/*----------------------------------------------------
	footer
	----------------------------------------------------*/
	body{
		background-size: 160%;
		background-position: center bottom;
	}
	.snsList{
		margin-top: 75px;
	}
	footer{
		margin-top: 30px;
		height: 200px;
	}
}


/*----------------------------------------------------
SP
----------------------------------------------------*/
@media screen and (max-width:767px){
	:root {
		--h1FontSize: 28px;
	}
	.spNone {
		display:none;
	}
	.backToTop{
		right: 10vw;
		bottom: 10vw;
		width: 45px;
		height: 45px;
		padding: 5px;
	}

/* 背景 */
	.contentsWrap .bgParts._parts0{
		top: -0.6%;
		left: 0;
		width: 100%;
	}
	.contentsWrap .bgParts._parts1{
		width: 350px;
		top: 56%;
		right: -16%;
	}
	.contentsWrap .bgParts._parts2{
		width: 398px;
        top: 90%;
        left: -68%;
	}
	.contentsWrap .bgParts._parts3{
		width: 240px;
        top: 88.8%;
        right: -14%;
	}
	.contentsWrap .bgParts._parts4{
		width: 308px;
		top: -13%;
		left: -14%;
	}

/*----------------------------------------------------
header
----------------------------------------------------*/
	header a{
		width: 54vw;
	}
/*----------------------------------------------------
.policy
----------------------------------------------------*/

	.policy .policyImg1{
		padding-left: 0!important;
		padding-right: 0!important;
		transform:translate3d(0,0,0);/*mix-blend-mode iOSバグ対応*/
	}


/*----------------------------------------------------
.productsAndServices
----------------------------------------------------*/
	.productsAndServices hgroup + .txtArea{
		padding: 0 30px;
	}
}

@media screen and (max-width:540px){
	.section.topMessage .txtArea{
		padding-top: 35vw;
		margin-top: -35vw;
	}
}
@media screen and (max-width:340px){
	.externalListWrap .externalList li {
		padding: 20px;
		grid-template-rows: 4.8rem 1fr;
	}
}



/*----------------------------------------------------
 #bubbleBox
----------------------------------------------------*/
:root {
	--bubble-shadow-pattern1: 40px 612px #FFF , 647px 62px #FFF , 325px 922px #FFF , 946px 1902px #FFF , 545px 1567px #FFF , 875px 470px #FFF , 1503px 1859px #FFF , 1254px 123px #FFF , 92px 1530px #FFF , 1194px 262px #FFF , 597px 1804px #FFF , 1813px 1403px #FFF , 111px 1287px #FFF , 1300px 1043px #FFF , 118px 538px #FFF , 1304px 223px #FFF , 1050px 682px #FFF , 1193px 53px #FFF , 1013px 1054px #FFF , 25px 489px #FFF , 1186px 1859px #FFF , 161px 917px #FFF , 1646px 1858px #FFF , 1355px 1855px #FFF , 1078px 701px #FFF , 1243px 1880px #FFF , 114px 525px #FFF , 1442px 1495px #FFF , 563px 1834px #FFF , 457px 1958px #FFF , 1522px 1761px #FFF , 1720px 1722px #FFF , 1061px 317px #FFF , 1045px 629px #FFF , 1652px 420px #FFF , 1327px 687px #FFF , 167px 1640px #FFF , 1297px 514px #FFF , 469px 1448px #FFF , 444px 1857px #FFF , 964px 263px #FFF , 830px 1925px #FFF , 513px 427px #FFF , 1255px 1607px #FFF , 1949px 171px #FFF , 201px 451px #FFF , 487px 1775px #FFF , 627px 1350px #FFF , 1994px 1263px #FFF , 279px 1717px #FFF , 810px 243px #FFF , 1611px 494px #FFF , 1983px 1362px #FFF , 229px 1870px #FFF , 1682px 1784px #FFF , 1530px 1637px #FFF , 1162px 506px #FFF , 731px 1658px #FFF , 1156px 386px #FFF , 1655px 13px #FFF , 1344px 388px #FFF , 438px 267px #FFF , 670px 875px #FFF , 820px 1101px #FFF , 1103px 189px #FFF , 54px 1115px #FFF , 228px 69px #FFF , 1890px 1616px #FFF , 1297px 451px #FFF , 1444px 435px #FFF , 1573px 1559px #FFF , 316px 793px #FFF , 1912px 681px #FFF , 135px 1486px #FFF , 970px 29px #FFF , 427px 1278px #FFF , 1950px 878px #FFF , 1478px 1923px #FFF , 569px 360px #FFF , 42px 1133px #FFF , 1218px 873px #FFF , 1411px 1910px #FFF , 1765px 561px #FFF , 1623px 1305px #FFF , 439px 812px #FFF , 936px 60px #FFF , 290px 754px #FFF , 428px 496px #FFF , 1103px 511px #FFF , 1292px 1169px #FFF , 1913px 1393px #FFF , 1409px 1414px #FFF , 1741px 364px #FFF , 1806px 712px #FFF , 917px 1758px #FFF , 164px 1305px #FFF , 1303px 934px #FFF , 694px 514px #FFF , 1258px 765px #FFF , 1021px 135px #FFF , 1162px 705px #FFF , 298px 497px #FFF , 1940px 672px #FFF , 90px 220px #FFF , 1705px 1263px #FFF , 1957px 89px #FFF , 1920px 1891px #FFF , 1533px 1287px #FFF , 1784px 289px #FFF , 1816px 1987px #FFF , 1158px 1000px #FFF , 1777px 697px #FFF , 1151px 503px #FFF , 686px 589px #FFF , 816px 741px #FFF , 1241px 1776px #FFF , 1258px 698px #FFF , 1624px 1015px #FFF , 101px 257px #FFF , 1025px 85px #FFF , 536px 322px #FFF , 1736px 1177px #FFF , 1761px 1246px #FFF , 45px 1201px #FFF , 1503px 429px #FFF , 369px 1775px #FFF , 1821px 1283px #FFF , 1846px 932px #FFF , 1335px 884px #FFF , 1362px 1965px #FFF , 1289px 1585px #FFF , 1864px 1803px #FFF , 1928px 660px #FFF , 1462px 1381px #FFF , 991px 1064px #FFF , 1809px 1615px #FFF , 723px 679px #FFF , 1172px 424px #FFF , 800px 250px #FFF , 46px 782px #FFF , 188px 22px #FFF , 1588px 1357px #FFF , 858px 1093px #FFF , 519px 1811px #FFF , 114px 1146px #FFF , 1827px 583px #FFF , 1674px 1803px #FFF , 1149px 1072px #FFF , 756px 157px #FFF , 1211px 1622px #FFF , 839px 1899px #FFF , 1224px 1373px #FFF , 282px 142px #FFF , 281px 654px #FFF , 1255px 1700px #FFF , 435px 264px #FFF , 1633px 921px #FFF , 903px 555px #FFF , 99px 533px #FFF , 1540px 1318px #FFF , 1755px 128px #FFF , 28px 1432px #FFF , 167px 247px #FFF , 1624px 1920px #FFF , 172px 144px #FFF , 1242px 712px #FFF , 1277px 1500px #FFF , 648px 1668px #FFF , 941px 226px #FFF , 141px 1698px #FFF , 150px 1948px #FFF , 1813px 970px #FFF , 874px 694px #FFF , 63px 1690px #FFF , 1186px 1331px #FFF , 1756px 247px #FFF , 787px 1765px #FFF , 435px 1748px #FFF , 823px 184px #FFF , 1521px 82px #FFF , 527px 549px #FFF , 603px 823px #FFF , 1417px 244px #FFF , 448px 1784px #FFF , 987px 599px #FFF , 1361px 1116px #FFF , 567px 452px #FFF , 1857px 52px #FFF , 698px 1583px #FFF , 408px 1192px #FFF , 1003px 114px #FFF , 1037px 1504px #FFF , 1440px 1009px #FFF , 1674px 739px #FFF , 1760px 132px #FFF , 544px 1204px #FFF , 997px 365px #FFF , 290px 286px #FFF , 1352px 172px #FFF , 1471px 253px #FFF , 715px 660px #FFF , 1609px 1429px #FFF , 869px 1456px #FFF , 1756px 1051px #FFF , 1044px 453px #FFF , 1983px 1536px #FFF , 1269px 1390px #FFF , 706px 1909px #FFF , 800px 1931px #FFF , 221px 1601px #FFF , 1262px 1117px #FFF , 1795px 728px #FFF , 1926px 390px #FFF , 403px 104px #FFF , 1897px 1211px #FFF , 483px 819px #FFF , 458px 537px #FFF , 4px 418px #FFF , 1535px 1326px #FFF , 1459px 1906px #FFF , 1882px 618px #FFF , 1343px 2000px #FFF , 588px 1579px #FFF , 679px 106px #FFF , 1797px 306px #FFF , 70px 1561px #FFF , 872px 888px #FFF , 5px 608px #FFF , 1952px 1545px #FFF , 444px 687px #FFF , 886px 906px #FFF , 1100px 1510px #FFF , 376px 333px #FFF , 1602px 1088px #FFF , 68px 734px #FFF , 131px 1654px #FFF , 378px 1460px #FFF , 994px 514px #FFF , 1994px 1371px #FFF , 1074px 653px #FFF , 45px 1521px #FFF , 1374px 1735px #FFF , 247px 1504px #FFF , 1315px 1990px #FFF , 1112px 323px #FFF , 1267px 648px #FFF , 390px 1476px #FFF , 1636px 213px #FFF , 590px 1376px #FFF , 1112px 1058px #FFF , 1677px 354px #FFF , 371px 672px #FFF , 61px 901px #FFF , 1590px 573px #FFF , 932px 1884px #FFF , 255px 254px #FFF , 692px 34px #FFF , 1566px 1140px #FFF , 768px 828px #FFF , 779px 812px #FFF , 1910px 275px #FFF , 1028px 1016px #FFF , 502px 1661px #FFF , 608px 1507px #FFF , 295px 1997px #FFF , 1893px 533px #FFF , 1269px 1290px #FFF , 1169px 112px #FFF , 1250px 243px #FFF , 1763px 51px #FFF , 883px 771px #FFF , 342px 849px #FFF , 1362px 971px #FFF , 997px 1575px #FFF , 811px 1912px #FFF , 828px 615px #FFF , 1659px 1433px #FFF , 1029px 1519px #FFF , 1332px 1984px #FFF , 1693px 1402px #FFF , 573px 547px #FFF , 1327px 963px #FFF , 511px 1549px #FFF , 643px 1049px #FFF , 1833px 164px #FFF , 1355px 878px #FFF , 1257px 172px #FFF , 1521px 464px #FFF , 1249px 1537px #FFF , 1972px 426px #FFF , 1325px 942px #FFF , 183px 714px #FFF , 1130px 467px #FFF , 1648px 71px #FFF , 213px 876px #FFF , 609px 1273px #FFF , 785px 257px #FFF , 922px 354px #FFF , 43px 1759px #FFF , 429px 163px #FFF , 1873px 562px #FFF , 48px 1823px #FFF , 1836px 1812px #FFF , 484px 10px #FFF , 1026px 1460px #FFF , 577px 786px #FFF , 665px 814px #FFF , 1113px 398px #FFF , 1091px 1580px #FFF , 898px 1845px #FFF , 312px 129px #FFF , 1942px 1176px #FFF , 1951px 1485px #FFF , 1770px 806px #FFF , 726px 1482px #FFF , 278px 1638px #FFF , 676px 116px #FFF , 1430px 1562px #FFF , 153px 1572px #FFF , 1713px 1826px #FFF , 1877px 164px #FFF , 1418px 1266px #FFF , 686px 727px #FFF , 665px 1971px #FFF , 378px 1897px #FFF , 297px 1731px #FFF , 828px 1044px #FFF , 1126px 1659px #FFF , 1238px 1091px #FFF , 586px 52px #FFF , 1816px 1929px #FFF , 1826px 980px #FFF , 1705px 1559px #FFF , 1518px 392px #FFF , 180px 1333px #FFF , 26px 1054px #FFF , 314px 1231px #FFF , 1941px 1320px #FFF , 1850px 410px #FFF , 1460px 253px #FFF , 1285px 1904px #FFF , 1260px 1972px #FFF , 911px 1655px #FFF , 225px 774px #FFF , 714px 23px #FFF , 792px 1595px #FFF , 1904px 1614px #FFF , 1246px 164px #FFF , 1895px 1730px #FFF , 920px 644px #FFF , 378px 562px #FFF , 230px 1594px #FFF , 1380px 835px #FFF , 523px 1009px #FFF , 497px 780px #FFF , 235px 1142px #FFF , 2000px 1434px #FFF , 1231px 289px #FFF , 420px 827px #FFF , 244px 251px #FFF , 857px 643px #FFF , 462px 460px #FFF , 1440px 510px #FFF , 1420px 221px #FFF , 1317px 1008px #FFF , 14px 970px #FFF , 1344px 1960px #FFF , 1434px 1870px #FFF , 1578px 184px #FFF , 1694px 640px #FFF , 503px 221px #FFF , 1610px 265px #FFF , 1103px 711px #FFF , 1722px 50px #FFF , 476px 452px #FFF , 482px 537px #FFF , 1282px 387px #FFF , 234px 1689px #FFF , 1141px 449px #FFF , 79px 997px #FFF , 179px 465px #FFF , 245px 1372px #FFF , 1859px 1313px #FFF , 844px 1211px #FFF , 1171px 1464px #FFF , 183px 493px #FFF , 1109px 634px #FFF , 1172px 728px #FFF , 817px 1631px #FFF , 176px 643px #FFF , 899px 387px #FFF , 1995px 1702px #FFF , 842px 602px #FFF , 1649px 645px #FFF , 876px 342px #FFF , 467px 778px #FFF , 1905px 1278px #FFF , 797px 1263px #FFF , 592px 109px #FFF , 1974px 1236px #FFF , 1026px 749px #FFF , 263px 1641px #FFF , 422px 1661px #FFF , 1594px 1034px #FFF , 1871px 892px #FFF , 163px 1343px #FFF , 964px 148px #FFF , 525px 71px #FFF , 906px 560px #FFF , 1121px 1417px #FFF , 198px 707px #FFF , 1752px 1165px #FFF , 1491px 755px #FFF , 185px 864px #FFF , 1575px 1777px #FFF , 1517px 1472px #FFF , 986px 1023px #FFF , 1330px 1428px #FFF , 1141px 1318px #FFF , 58px 238px #FFF , 71px 539px #FFF , 1410px 1184px #FFF , 1129px 381px #FFF , 910px 692px #FFF , 1016px 1470px #FFF , 1034px 609px #FFF , 566px 996px #FFF , 711px 1261px #FFF , 715px 1736px #FFF , 1662px 372px #FFF , 1754px 485px #FFF , 835px 116px #FFF , 1286px 59px #FFF , 1983px 1486px #FFF , 88px 782px #FFF , 1715px 407px #FFF , 131px 1278px #FFF , 1087px 1475px #FFF , 406px 925px #FFF , 1954px 658px #FFF , 516px 97px #FFF , 516px 840px #FFF , 1479px 1119px #FFF , 115px 1831px #FFF , 1195px 829px #FFF , 457px 523px #FFF , 304px 616px #FFF , 985px 797px #FFF , 1132px 63px #FFF , 1191px 945px #FFF , 1513px 871px #FFF , 1889px 796px #FFF , 540px 1216px #FFF , 1639px 1123px #FFF , 1703px 319px #FFF , 1670px 956px #FFF , 1542px 755px #FFF , 325px 942px #FFF , 660px 1441px #FFF , 858px 1923px #FFF , 483px 1565px #FFF , 561px 1445px #FFF , 974px 183px #FFF , 1697px 589px #FFF , 138px 1701px #FFF , 254px 1170px #FFF , 273px 929px #FFF , 1005px 256px #FFF , 1148px 798px #FFF , 772px 1241px #FFF , 1360px 3px #FFF , 72px 859px #FFF , 422px 1193px #FFF , 1724px 1685px #FFF , 716px 280px #FFF , 1066px 1721px #FFF , 596px 1982px #FFF , 717px 840px #FFF , 314px 856px #FFF , 897px 277px #FFF , 1080px 1897px #FFF , 1794px 993px #FFF , 1671px 1900px #FFF , 1870px 1439px #FFF , 1988px 1628px #FFF , 1381px 86px #FFF , 495px 1647px #FFF , 213px 1715px #FFF , 824px 1859px #FFF , 1715px 1130px #FFF , 886px 1272px #FFF , 1288px 26px #FFF , 502px 1052px #FFF , 292px 1464px #FFF , 1463px 1552px #FFF , 381px 617px #FFF , 941px 1638px #FFF , 678px 548px #FFF , 201px 1038px #FFF , 741px 1728px #FFF , 1457px 1470px #FFF , 223px 159px #FFF , 1917px 1264px #FFF , 251px 1015px #FFF , 1968px 1706px #FFF , 1164px 321px #FFF , 873px 204px #FFF , 147px 1799px #FFF , 1237px 659px #FFF , 824px 1413px #FFF , 1691px 779px #FFF , 260px 1751px #FFF , 1138px 1368px #FFF , 246px 1278px #FFF , 64px 364px #FFF , 1588px 1112px #FFF , 1322px 1127px #FFF , 1872px 1371px #FFF , 837px 1076px #FFF , 41px 792px #FFF , 692px 32px #FFF , 1247px 161px #FFF , 1318px 1075px #FFF , 1386px 104px #FFF , 1206px 627px #FFF , 835px 974px #FFF , 1380px 1020px #FFF , 348px 695px #FFF , 1381px 1131px #FFF , 1643px 858px #FFF , 336px 1318px #FFF , 96px 590px #FFF , 983px 1449px #FFF , 1882px 996px #FFF , 109px 1116px #FFF , 741px 1017px #FFF , 956px 745px #FFF , 680px 472px #FFF , 1568px 155px #FFF , 296px 487px #FFF , 722px 1439px #FFF , 781px 1584px #FFF , 811px 1212px #FFF , 915px 584px #FFF , 254px 1935px #FFF , 406px 1072px #FFF , 1013px 548px #FFF , 1271px 1729px #FFF , 1057px 1407px #FFF , 1963px 378px #FFF , 1802px 1767px #FFF , 1715px 1309px #FFF , 1524px 321px #FFF , 1441px 1856px #FFF , 252px 22px #FFF , 1322px 1218px #FFF , 48px 885px #FFF , 887px 855px #FFF , 1513px 905px #FFF , 1022px 608px #FFF , 1020px 1450px #FFF , 1911px 538px #FFF , 1731px 1699px #FFF , 319px 948px #FFF , 697px 1429px #FFF , 1490px 970px #FFF , 804px 70px #FFF , 406px 933px #FFF , 1235px 1524px #FFF , 1163px 364px #FFF , 1386px 1700px #FFF , 1587px 14px #FFF , 1008px 210px #FFF , 883px 890px #FFF , 1148px 1906px #FFF , 1193px 535px #FFF , 1615px 1800px #FFF , 1990px 63px #FFF , 324px 1696px #FFF , 1923px 868px #FFF , 1161px 1343px #FFF , 287px 1429px #FFF , 1206px 1794px #FFF , 1513px 268px #FFF , 411px 1824px #FFF , 390px 1976px #FFF , 1418px 1069px #FFF , 479px 359px #FFF , 660px 1084px #FFF , 1802px 312px #FFF , 734px 1044px #FFF , 626px 1221px #FFF , 984px 1001px #FFF , 216px 525px #FFF , 1561px 513px #FFF , 36px 108px #FFF , 461px 246px #FFF , 438px 1163px #FFF , 15px 396px #FFF , 887px 332px #FFF , 553px 112px #FFF , 1319px 468px #FFF , 1888px 440px #FFF , 922px 425px #FFF , 1690px 1660px #FFF , 1962px 1204px #FFF , 1410px 304px #FFF , 1232px 675px #FFF , 1045px 1803px #FFF , 850px 1049px #FFF , 1305px 342px #FFF , 1309px 363px #FFF , 1712px 1435px #FFF , 944px 989px #FFF , 109px 1159px #FFF , 1702px 1391px #FFF , 574px 680px #FFF , 1405px 322px #FFF , 536px 623px #FFF , 1703px 1444px #FFF , 1969px 1752px #FFF , 181px 83px #FFF , 1222px 929px #FFF , 405px 1628px #FFF , 1793px 1697px #FFF , 1601px 610px #FFF , 372px 938px #FFF , 1908px 1475px #FFF , 1664px 1654px #FFF , 1124px 1626px #FFF , 556px 1062px #FFF , 629px 944px #FFF , 299px 1250px #FFF , 1353px 1828px #FFF , 706px 1320px #FFF , 713px 1019px #FFF , 693px 1444px #FFF , 191px 275px #FFF , 1542px 1592px #FFF , 790px 1003px #FFF , 901px 1343px #FFF , 1299px 419px #FFF , 482px 1958px #FFF , 1069px 1249px #FFF , 1046px 116px #FFF , 1177px 1673px #FFF , 1572px 297px #FFF , 638px 317px #FFF , 1471px 1872px #FFF , 417px 1953px #FFF , 1908px 447px #FFF , 482px 931px #FFF , 1698px 1884px #FFF , 649px 1141px #FFF , 984px 1740px #FFF , 1229px 1870px #FFF , 645px 1758px #FFF , 310px 817px #FFF , 1198px 152px #FFF , 630px 296px #FFF , 506px 1792px #FFF , 1777px 1882px #FFF , 1569px 1682px #FFF , 871px 26px #FFF , 1393px 1419px #FFF , 1291px 535px #FFF , 749px 1617px #FFF , 123px 1856px #FFF , 1091px 1467px #FFF , 1445px 1739px #FFF , 1425px 1570px #FFF , 1975px 1066px #FFF , 47px 377px #FFF , 1156px 259px #FFF , 330px 274px #FFF , 1837px 199px #FFF , 1577px 781px #FFF , 735px 1682px #FFF , 838px 471px #FFF , 798px 1669px #FFF , 363px 1396px #FFF , 1231px 1195px #FFF , 1091px 309px #FFF , 1232px 514px #FFF , 1244px 1458px #FFF , 1039px 1425px #FFF , 1021px 658px #FFF , 15px 1965px #FFF , 1132px 152px #FFF , 1531px 407px #FFF , 1865px 279px #FFF , 556px 397px #FFF , 1884px 683px #FFF , 362px 1130px #FFF , 133px 1522px #FFF , 735px 1907px #FFF , 428px 845px #FFF , 356px 1751px #FFF , 1670px 599px #FFF , 866px 656px #FFF;
  
	--bubble-shadow-pattern2:806px 1902px #FFF , 15px 1199px #FFF , 1748px 1749px #FFF , 506px 1035px #FFF , 1647px 412px #FFF , 471px 1804px #FFF , 1941px 1259px #FFF , 1418px 1723px #FFF , 792px 1885px #FFF , 1001px 1362px #FFF , 1557px 1195px #FFF , 951px 109px #FFF , 299px 163px #FFF , 1953px 996px #FFF , 1483px 511px #FFF , 1417px 1321px #FFF , 1205px 1508px #FFF , 188px 1575px #FFF , 741px 1898px #FFF , 648px 1294px #FFF , 672px 627px #FFF , 1281px 8px #FFF , 590px 1950px #FFF , 1849px 95px #FFF , 1350px 855px #FFF , 774px 1090px #FFF , 380px 1161px #FFF , 468px 1813px #FFF , 1338px 1600px #FFF , 926px 718px #FFF , 968px 1895px #FFF , 357px 383px #FFF , 50px 1164px #FFF , 1402px 299px #FFF , 95px 211px #FFF , 922px 350px #FFF , 1685px 1189px #FFF , 484px 1504px #FFF , 1620px 503px #FFF , 1215px 329px #FFF , 967px 1860px #FFF , 1490px 1269px #FFF , 1023px 1570px #FFF , 1516px 1599px #FFF , 382px 1106px #FFF , 195px 1463px #FFF , 462px 1012px #FFF , 1703px 184px #FFF , 1057px 1401px #FFF , 509px 1299px #FFF , 279px 513px #FFF , 1589px 155px #FFF , 1876px 511px #FFF , 463px 1717px #FFF , 1630px 1695px #FFF , 1011px 214px #FFF , 867px 1836px #FFF , 1689px 589px #FFF , 279px 1069px #FFF , 440px 392px #FFF , 1377px 37px #FFF , 1651px 1852px #FFF , 1713px 1828px #FFF , 1177px 769px #FFF , 1744px 421px #FFF , 1360px 852px #FFF , 269px 1825px #FFF , 429px 327px #FFF , 1105px 3px #FFF , 217px 1163px #FFF , 94px 601px #FFF , 1365px 1932px #FFF , 35px 1463px #FFF , 555px 1415px #FFF , 1620px 336px #FFF , 123px 81px #FFF , 346px 254px #FFF , 1542px 1460px #FFF , 515px 1238px #FFF , 1352px 1617px #FFF , 1260px 304px #FFF , 1851px 45px #FFF , 453px 1986px #FFF , 1866px 509px #FFF , 1987px 222px #FFF , 1380px 1568px #FFF , 645px 830px #FFF , 1061px 1307px #FFF , 631px 133px #FFF , 1062px 1435px #FFF , 1024px 1538px #FFF , 1984px 1914px #FFF , 285px 840px #FFF , 516px 1629px #FFF , 486px 1805px #FFF , 49px 1033px #FFF , 1920px 364px #FFF , 1587px 1915px #FFF , 1676px 880px #FFF , 1863px 241px #FFF , 1857px 843px #FFF , 1528px 1954px #FFF , 1473px 1231px #FFF , 531px 1591px #FFF , 683px 973px #FFF , 1793px 1654px #FFF , 1196px 1204px #FFF , 882px 285px #FFF , 373px 1008px #FFF , 1378px 1850px #FFF , 1527px 437px #FFF , 677px 1775px #FFF , 931px 1965px #FFF , 1851px 1205px #FFF , 12px 815px #FFF , 430px 221px #FFF , 571px 1261px #FFF , 1180px 738px #FFF , 1325px 402px #FFF , 1577px 1606px #FFF , 1482px 921px #FFF , 183px 1324px #FFF , 359px 1053px #FFF , 917px 1597px #FFF , 360px 985px #FFF , 464px 331px #FFF , 1439px 525px #FFF , 1562px 62px #FFF , 1163px 1341px #FFF , 660px 1826px #FFF , 539px 63px #FFF , 630px 1811px #FFF , 1110px 1477px #FFF , 70px 1824px #FFF , 1979px 947px #FFF , 1179px 1242px #FFF , 218px 1659px #FFF , 902px 1655px #FFF , 437px 1989px #FFF , 249px 335px #FFF , 444px 1727px #FFF , 432px 1532px #FFF , 325px 1042px #FFF , 638px 781px #FFF , 1516px 1562px #FFF , 1781px 92px #FFF , 387px 413px #FFF , 1822px 1944px #FFF , 1090px 1225px #FFF , 66px 1196px #FFF , 1546px 925px #FFF , 239px 598px #FFF , 23px 1744px #FFF , 694px 1649px #FFF , 1869px 987px #FFF , 612px 1661px #FFF , 778px 519px #FFF , 247px 308px #FFF , 1609px 1365px #FFF , 1327px 45px #FFF , 224px 708px #FFF , 1448px 1780px #FFF , 220px 1262px #FFF , 1298px 1790px #FFF , 1955px 1219px #FFF , 204px 478px #FFF , 459px 1141px #FFF , 1957px 1408px #FFF , 668px 1518px #FFF , 885px 1159px #FFF , 286px 1889px #FFF , 880px 501px #FFF , 845px 1098px #FFF , 1203px 395px #FFF , 201px 1841px #FFF , 104px 442px #FFF , 461px 763px #FFF , 523px 1387px #FFF , 269px 1193px #FFF , 256px 346px #FFF , 110px 202px #FFF , 692px 1228px #FFF , 1055px 1608px #FFF , 1103px 1520px #FFF , 1108px 292px #FFF , 1040px 368px #FFF , 1527px 1862px #FFF , 1283px 642px #FFF , 343px 1605px #FFF , 568px 1207px #FFF , 1507px 1713px #FFF , 1094px 1590px #FFF , 198px 621px #FFF , 37px 340px #FFF , 1454px 1892px #FFF , 187px 623px #FFF , 476px 843px #FFF , 1505px 1383px #FFF , 1734px 1841px #FFF , 1473px 898px #FFF;
  
	--bubble-shadow-pattern3: 977px 278px #FFF , 1069px 1223px #FFF , 1325px 1391px #FFF , 745px 1850px #FFF , 239px 1913px #FFF , 464px 1662px #FFF , 725px 1369px #FFF , 582px 306px #FFF , 1768px 696px #FFF , 1452px 74px #FFF , 519px 54px #FFF , 636px 710px #FFF , 676px 1340px #FFF , 1653px 1971px #FFF , 342px 48px #FFF , 1108px 242px #FFF , 263px 1344px #FFF , 1615px 1462px #FFF , 368px 780px #FFF , 1103px 1917px #FFF , 1325px 1925px #FFF , 1698px 367px #FFF , 69px 1877px #FFF , 1360px 1096px #FFF , 1927px 1100px #FFF , 1081px 211px #FFF , 642px 1471px #FFF , 546px 1716px #FFF , 1891px 1451px #FFF , 1453px 218px #FFF , 773px 1396px #FFF , 372px 756px #FFF , 1033px 558px #FFF , 337px 187px #FFF , 553px 794px #FFF , 1195px 1510px #FFF , 1017px 1509px #FFF , 476px 1401px #FFF , 874px 392px #FFF , 1863px 399px #FFF , 786px 657px #FFF , 626px 106px #FFF , 925px 125px #FFF , 1325px 420px #FFF , 1891px 137px #FFF , 1871px 1214px #FFF , 120px 616px #FFF , 428px 1235px #FFF , 961px 121px #FFF , 984px 1590px #FFF , 1943px 398px #FFF , 1737px 1138px #FFF , 1605px 797px #FFF , 1718px 392px #FFF , 133px 313px #FFF , 89px 1404px #FFF , 936px 1443px #FFF , 1480px 1303px #FFF , 581px 831px #FFF , 1010px 1304px #FFF , 1881px 111px #FFF , 340px 348px #FFF , 202px 857px #FFF , 1909px 1692px #FFF , 438px 594px #FFF , 1734px 304px #FFF , 1610px 1180px #FFF , 1858px 218px #FFF , 1397px 1597px #FFF , 1758px 347px #FFF , 457px 849px #FFF , 625px 1827px #FFF , 1335px 751px #FFF , 1191px 354px #FFF , 1988px 35px #FFF , 558px 994px #FFF , 618px 1792px #FFF , 4px 1471px #FFF , 870px 1196px #FFF , 1649px 1498px #FFF , 450px 570px #FFF , 1588px 915px #FFF , 1867px 888px #FFF , 495px 748px #FFF , 322px 1590px #FFF , 1095px 1827px #FFF , 1899px 523px #FFF , 559px 1702px #FFF , 742px 980px #FFF , 1486px 1918px #FFF , 792px 1967px #FFF , 1928px 986px #FFF , 1621px 117px #FFF , 1234px 1074px #FFF , 693px 1355px #FFF , 616px 443px #FFF , 158px 1011px #FFF , 1369px 1466px #FFF , 1585px 840px #FFF , 916px 1877px #FFF;
  }
  
  #bubbleBox {
	width: 100%;
	height: 350px;
	overflow: hidden;
	mask-image: linear-gradient(to bottom, transparent 0px, black 50px);
	  -webkit-mask-image: linear-gradient(to bottom, transparent 0px, black 50px);
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
  }
  #bubbles {
	width: 1px;
	height: 1px;
	background: transparent;
	box-shadow: var(--bubble-shadow-pattern1);
	animation: animBubble 70s linear infinite;
  }
  #bubbles:after {
	content: " ";
	position: absolute;
	top: 350px;
	width: 1px;
	height: 1px;
	background: transparent;
	box-shadow: var(--bubble-shadow-pattern1);
  }
  
  #bubbles2 {
	width: 2px;
	height: 2px;
	background: transparent;
	box-shadow: var(--bubble-shadow-pattern2);
	animation: animBubble 100s linear infinite;
  }
  #bubbles2:after {
	content: " ";
	position: absolute;
	top: 350px;
	width: 2px;
	height: 2px;
	background: transparent;
	box-shadow: var(--bubble-shadow-pattern2);
  }
  
  #bubbles3 {
	width: 3px;
	height: 3px;
	background: transparent;
	box-shadow: var(--bubble-shadow-pattern3);
	animation: animBubble 120s linear infinite;
  }
  #bubbles3:after {
	content: " ";
	position: absolute;
	top: 350px;
	width: 3px;
	height: 3px;
	background: transparent;
	box-shadow: var(--bubble-shadow-pattern3);
  }
  
  
  @keyframes animBubble {
	from {
	  transform: translateY(0px);
	}
	to {
	  transform: translateY(-2000px);
	}
  }