/* CSS Document */
.ttl_h2 {
    z-index: 1;
}
.f_wrapper{
	padding:80px 0 100px;
}
.f_venderWrapper,
.f_thumbWrapper{
	display: flex;
	flex-wrap: wrap;
	gap:3%;
	margin-top:5%;
}
.f_venderWrapper a{
	width:calc((100% / 3) - 3%);
	box-sizing: border-box;
	padding:2em;
	border-radius: 12px;
	background:#fff;
	cursor: pointer;
	display: block;
	margin-bottom:3%;
	border-bottom:5px solid #e58e68;
    background-image: url(../images/service_arr.png);
    background-position: right bottom;
    background-repeat: no-repeat;
    transition: all .2s ease-in;
}
.f_venderWrapper a img{
	display: block;
	margin:auto;
	margin-bottom:1em;
}
.f_venderWrapper a p{
	color:#001031;
    transition: all .2s ease-in;
}
.f_venderWrapper a:hover p{
	color:#e58e68;
    transition: all .2s ease-in;
}
div.f_wrapper.f_blog{
	background-image: radial-gradient(circle at 17% 77%, rgba(17, 17, 17,0.04) 0%, rgba(17, 17, 17,0.04) 50%,rgba(197, 197, 197,0.04) 50%, rgba(197, 197, 197,0.04) 100%),radial-gradient(circle at 26% 17%, rgba(64, 64, 64,0.04) 0%, rgba(64, 64, 64,0.04) 50%,rgba(244, 244, 244,0.04) 50%, rgba(244, 244, 244,0.04) 100%),radial-gradient(circle at 44% 60%, rgba(177, 177, 177,0.04) 0%, rgba(177, 177, 177,0.04) 50%,rgba(187, 187, 187,0.04) 50%, rgba(187, 187, 187,0.04) 100%),linear-gradient(19deg, rgb(28, 117, 250),rgb(0,16,49));
}
div.f_wrapper.f_usecase{
    position: relative;
    padding: clamp(40px, 5vw, 72px) 0;
    color: #eef4ff;
    background: #061a36;
    overflow: hidden;
}
div.f_wrapper.f_step{
  position: relative;
  padding: clamp(40px, 5vw, 72px) 0;
  background: #061a36;
  /*background: url("../images/step_bg.jpg") center no-repeat;*/
  background-size:cover;
  color: #eef4ff;
  overflow: hidden;
  background-image: radial-gradient(circle at 17% 77%, rgba(17, 17, 17,0.04) 0%, rgba(17, 17, 17,0.04) 50%,rgba(197, 197, 197,0.04) 50%, rgba(197, 197, 197,0.04) 100%),radial-gradient(circle at 26% 17%, rgba(64, 64, 64,0.04) 0%, rgba(64, 64, 64,0.04) 50%,rgba(244, 244, 244,0.04) 50%, rgba(244, 244, 244,0.04) 100%),radial-gradient(circle at 44% 60%, rgba(177, 177, 177,0.04) 0%, rgba(177, 177, 177,0.04) 50%,rgba(187, 187, 187,0.04) 50%, rgba(187, 187, 187,0.04) 100%),linear-gradient(19deg, rgb(28, 117, 250),rgb(34, 2, 159));
}
div.f_wrapper.f_usecase::before {
    content: "";
    position: absolute;
    inset: -20%;
    background: radial-gradient(circle at 25% 20%, rgba(60,140,255,.18), transparent 55%),
    radial-gradient(circle at 80% 70%, rgba(0,200,150,.14), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 35%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 48px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 1px, transparent 1px 48px);
    filter: blur(0px);
    opacity: .9;
    pointer-events: none;
}
.f_wrapper.f_faq{
	background-image:url("../images/f_faqbg.webp");
	background-repeat: no-repeat;
	background-position: center;
	background-size:cover;
	position: relative;
	z-index: -1
}
.f_wrapper.f_faq::after{
	content: "";
	width:100%;
	height: 100%;
	position: absolute;
	margin:auto;
	top:0;
	bottom:0;
	left:0;
	right:0;
	background-color:rgba(0,0,0,0.5);
	z-index: 0
}
.f_thumbWrapper a{
	width:calc((100% / 3) - 3%);
	box-sizing: border-box;
	border-radius: 12px;
	cursor: pointer;
	display: block;
	margin-bottom:3%;
    transition: all .2s ease-in;
}
@media(max-width:767px){
	.f_thumbWrapper a{
		width:calc((100% / 1) - 3%);
	}
}
.f_thumb img{
	border-radius: 12px;
    transition: all .2s ease-in;
}
.f_thumbWrapper a:hover img{
	box-shadow: 0 0 12px rgba(255,255,255,.65);
    transition: all .2s ease-in;
}
.f_thumb p.f_blogdate{
	text-align: right;
	font-size:14px;
}
div.f_Body.blog p.f_blogdate,
div.f_Body.blog p.f_title{
	margin:0 1em;
}
div.f_Body.blog ul.f_blogcat li{
	list-style: none !important;
	margin:0;
}
div.f_Body.blog p a,
div.f_Body.blog ul a,
div.f_Body.blog ol a{
	color:#cf683c !important;
}
div.f_Body.blog p a:hover,
div.f_Body.blog ul a:hover,
div.f_Body.blog ol a:hover{
	text-decoration: underline;
}
ul.f_blogcat{
	display: flex;
	flex-wrap: wrap;
	gap:1em;
	margin:0.5em;
}
ul.f_blogcat li{
	font-size:14px;
	background:#001031;
	padding:0 1em;
	border-radius: 20px;
	border:1px solid #fff;
}
dl.faq{
	width:100%;
	max-width:1200px;
	margin:25px auto 50px;
	position: relative;
	z-index: 1
}
dl.faq dt{
	padding:25px;
	cursor:pointer;
	padding-left:80px;
	position: relative;
	font-weight: bold;
	background-image:url("../images/arrow_faq_open.svg");
	background-position: right 25px center;
	background-repeat: no-repeat;
	background-size:20px;
	color:#001031;
	font-size:18px;
	border-radius: 12px;
	background-color:#fff;
}
@media(max-width:767px){
	dl.faq dt{
		padding-left:40px;
		background-position: right 10px center;
		background-size:10px;
	}
}
dl.faq dt.new::after{
	content: "";
	position: absolute;
    width: 30px;
    height: 30px;
    background-image: url("../images/icon_new.svg");
    background-size: 30px;
    background-repeat: no-repeat;
    background-position: center;
    right: -10px;
    top: -10px;
}
dl.faq dt h1{
	font-size:1.8rem;
	font-weight: bold;
}
dl.faq dt.open{
	background-image: url("../images/arrow_faq_close.svg");
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
dl.faq dt::before{
	content: "Q";
	font-size:3.0rem;
	position: absolute;
	margin:auto;
	top:-0.2em;
	left:0.3em;
	font-weight: bold;
	color:var(--green-color);
}
@media(max-width:767px){
	dl.faq dt::before{
		content: "Q";
		font-size:1.8rem;
		position: absolute;
		margin:auto;
		top:1em;
		left:0.5em;
		font-weight: bold;
		color:var(--green-color);
	}
}
@media(max-width:640px){
	dl.faq dt::before{
		content: "Q";
		font-size:1.8rem;
		position: absolute;
		margin:auto;
		top:1em;
		left:0.5em;
		font-weight: bold;
		color:var(--green-color);
	}
}
dl.faq dd{
	background:#001031;
	padding:25px;
	color:#fff;
	display: none;
	overflow: hidden;
	border-bottom-left-radius: 12px;
	border-bottom-right-radius: 12px;
}
dl.faq dd.f_gray{
	background-color:#efefef;
	color:#001031;
}
dl.faq dd.open{
	display: block;
}
dl.faq table td{
	border:1px solid #fff;
	padding:10px;
}
dl.faq table {
	margin-bottom:1em;
}
dl.faq a.faq{
	padding:15px 50px;
	color:var(--green-color);
	background-color:#fff;
	background-image:url("../images/arrow_right.svg");
	background-position: right 15px center;
	background-repeat: no-repeat;
	background-size:15px;
	transition: background-color 0.2s;
	text-decoration: none !important;
}
dl.faq a.faq:hover{
	background-color:var(--blue-color);
	color:#fff;
	transition: background-color 0.2s;
}
dl.faq dd a{
	text-decoration: underline;
	color:#fff;
}
dl.faq dd a:hover{
	color:var(--blue-color);
}
dl.faq a.permalink{
	display: block;
	width:20px;
	height: 20px;
	float: right;
	margin-top:25px;
}
dl.faq a.permalink img{
	object-fit:contain;
	opacity: 0.75;
}
dl.faq a.permalink img:hover{
	opacity: 1;
}
dl.faq ul{
	margin:1em;
}
dl.faq li{
	list-style: disc;
}
dl.faq span.newMark,
.f_card span.newMark{
	width:4em;
	line-height: 1.5em;
	text-align: center;
	font-size:14px;
	display: block;
	padding:2px 5px;
	background:var(--green-color);
	color:#fff;
	position: absolute;
	margin:auto;
	top:0;
	bottom:0;
	right:60px;
	z-index: 1;
}
.f_card span.newMark{
	top:-35px;
	right:5px;
	bottom: auto;
}
@media(max-width:767px){
	dl.faq span.newMark{
		width:4em;
		height: 1.5em;
		line-height: 1.5em;
		text-align: center;
		font-size:14px;
		display: block;
		padding:2px 5px;
		background:#e16732;
		color:#fff;
		position: absolute;
		margin:auto;
		top:-6em;
		right:1em;
	}
}
.page-header {
    width: 100%;
    height: 378px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    box-sizing: border-box;
    padding-top: 80px;
    margin-bottom: 80px;
}
@media(max-width:767px){
	.page-header {
		height: auto;
		aspect-ratio:16/9;
		position: relative;
		padding-top: 50px;
		margin-bottom: 20px;
	}
}
.page-header .topicpath {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    font-size: 14px;
    line-height: 1.5em;
    gap: 4px;
    width: calc(100% - 60px);
    position: absolute;
    left: 30px;
    top: 112px;
}
@media(max-width:767px){
	.page-header .topicpath{
		top:90px;
		width:calc(100% - 40px);
		overflow: hidden;
		left:20px;
		overflow-x: auto;
		word-break: keep-all;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}
}


.page-header .topicpath li {
    display: flex;
    justify-content: flex-start;
    gap: 4px;
    white-space: nowrap;
}
.page-header .topicpath li:not(:first-child):before {
    content: ">";
}
.page-header__text {
    display: flex;
    flex-direction: column;
    gap: 16px;
    text-align: center;
}
@media(max-width:767px){
	.page-header__text {
		margin-top:10%;
	}
}
.page-header__title {
    font-size: 58px;
    line-height: 1em;
    margin: 0;
    text-shadow: 0 0 20px rgba(0, 20, 60, 0.8);
    font-weight: bold;
}
@media(max-width:1306px){
	.page-header__title {
		font-size: clamp(20px,4.44vw,58px);
	}
}
.page-header__title-en {
    font-size: 28px;
	font-size:clamp(14px,2.3vw,28px);
    line-height: 1em;
    margin: 0;
    font-family: "Roboto";
    font-weight: 600;
    text-shadow: 0 0 20px rgba(0, 20, 60, 0.8);
}
.page-header__image {
    font-size: 0;
    line-height: 0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
}
.page-header__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: bottom center;
}
header ul.menu > li > a.active {
    color: #e58e68;
}
header ul.menu > li > a.active::before {
    background: #e58e68;
}
div.f_cardWrapper{
	display: flex;
	gap:5%;
}
div.f_cardWrapper a{
	display: block;
}
.f_dlwrapper{
	display: flex;
	flex-wrap:wrap;
	gap:10%;
}
@media(max-width:767px){
	.f_dlwrapper{
		flex-direction: column;
		justify-content: center;
		gap:50px;
	}
}
.f_dlwrapper a{
	display: block;
	width:calc((100% / 2) - 5%);
	margin-bottom:10%;
}
@media(max-width:767px){
	.f_dlwrapper a{
		width:calc((100%) - 5%);
		max-width:640px;
	}
}

div.f_card {
    width:calc((100% / 2) - 5%);
	width:100%;
    aspect-ratio:16/9;
    cursor: pointer;
    position: relative;
    --offset-multiplier: 4px;
    -webkit-transition: -webkit-transform 0.6s ease;
    transition: -webkit-transform 0.6s ease;
    transition: transform 0.6s ease;
    transition: transform 0.6s ease, -webkit-transform 0.6s ease;
    --translate: 0;
    -webkit-transform: translate(var(--translate), var(--translate));
    transform: translate(var(--translate), var(--translate));
    margin-bottom:40px;
}
div.f_card img{
    width:100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    margin: auto;
}
div.f_card:hover {
    --offset-multiplier: 6px;
}
div.f_card:hover {
    --translate: calc(-1px * (var(--cards) - 1));
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

div.f_card div.child {
    position: absolute;
    width: 100%;
    height: 100%;
    padding: 0 16px;
    box-sizing: border-box;
    background: #fff;
    /*box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1), 0px -4px 8px rgba(255, 255, 255, 0.8);*/
    /*border-radius: 6px;*/
    -webkit-transition: inherit;
    transition: inherit;
    --translate: calc(var(--offset) * var(--offset-multiplier));
    -webkit-transform: translate(var(--translate), var(--translate));
    transform: translate(var(--translate), var(--translate));
    z-index: 5;
	border:1px solid #ccc;
}
div.f_card div.child:nth-child(1) {
    --offset: 0;
    z-index: 4;
}
div.f_card div.child:nth-child(2) {
    --offset: 1;
    z-index: 3;
}
div.f_card div.child:nth-child(3) {
    --offset: 2;
    z-index: 2;
}
div.f_card div.child:nth-child(4) {
    --offset: 3;
    z-index: 1;
}
div.f_card div.child:nth-child(5) {
    --offset: 4;
    z-index: 0;
}

div.f_card p.date{
    position: absolute;
    z-index: 13;
    width:100px;
    height: 20px;
    line-height: 20px;
    background:#001031;
    top:20px;
    left:20px;
    text-align: center;
    color:#fff;
    font-size:14px;
}
div.f_card p.newMark{
    display: block;
    width:50px;
    height: 19px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background:url("../images/icon_new.svg") no-repeat;
    background-size:50px;
    position: absolute;
    top:20px;
    right:20px;
    z-index: 10;
}
div.f_card h3{
    position: absolute;
    z-index: 12;
    left:0;
    right:0;
    bottom:-156px;
    padding:10px;
    padding-bottom:40px;
    width:100%;
    margin:auto;
	line-height: 1.25em;
	margin-bottom:50px;
    overflow: hidden;
    text-overflow: ellipsis;
    /* white-space: nowrap;*/
    color:#fff;
}
.f_news{
	background-image:none !important;
}
.f_news .contents {
    display: block !important;
}
.f_comingsoon{
	font-size:clamp(24px,5vw,64px);
	font-weight: bold;
	font-family:"Roboto";
	text-align: center;
}
.f_worries {
	padding-top:100px;
	padding-bottom:150px;
}
.f_worries.f_pb0{
	padding-bottom: 0 !important;
}
@media(max-width:590px){
	.f_worries {
		padding-top:10px;
		padding-bottom:15px;
	}
}
.f_worries.f_proposal{
	background:#393B56;
	background:#110E5E;
	background:#5ec3d4;
	background:linear-gradient(to top,transparent,#f15a24);
	position: relative;
}
.f_worries.f_proposal::before{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 250px solid transparent;
	border-left: 250px solid transparent;
	border-top: 100px solid #001031;
	border-bottom: 0;
	position: absolute;
	margin:auto;
	left:0;
	right:0;
	top:0;
}
@media(max-width:767px){
	.f_worries.f_proposal::before{
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 50px solid transparent;
		border-left: 50px solid transparent;
		border-top: 20px solid #001031;
		border-bottom: 0;
		position: absolute;
		margin:auto;
		left:0;
		right:0;
		top:0;
	}
}
.f_worries:nth-child(2n+1) {
	background:#393B56;
}
.f_worries.dark {
	background:none;
}
.f_worries h2 {
    font-size: 48px;
	font-size:clamp(20px,4vw,48px);
    line-height: 1.5;
    text-align: center;
    font-weight: 700;
}
span.f_subtitle{
	font-size:clamp(16px,3vw,32px);
}
.f_worries.dark h2{
	margin-bottom:2em;
}
div.f_separate{
	display: flex;
	justify-content: space-between;
}
@media(max-width:767px){
	div.f_separate{
		flex-direction: column;
	}
}
div.f_separate.f_align_center{
	align-items: center;
}
div.f_separate > div.f_inner{
	width:calc(50% - 15px);
	margin-bottom:50px;
}
@media(max-width:767px){
	div.f_separate > div.f_inner{
		width:calc(100% );
		margin-bottom:10px;
	}
}
div.f_general{
	margin-top:50px;
}
.f_s01{
	margin-top:50px;
}
.f_s01 .left img,
.f_s01 .right img{
	width:50%;
	display: block;
	margin:auto;
}
.f_s01 .right img{
	width:60%;
}
.f_s01 div{
	width:50%;
}
.f_s01 h3{
	font-size:32px;
	font-weight: bold;
	margin-bottom: 1em;
	border-bottom: 3px solid #fff;
}
.f_s01 ul{
	margin:1em 1em 3em;
}
.f_s01 ul li{
	padding-left:2em;
	background-repeat: no-repeat;
	background-size:1em;
	background-position: left 0.5em;
	background-image:url("../images/f_chk_white.svg");
}
.f_tac{
	text-align: center;
}
.f_figure{
	margin-top:50px;
}
.f_figure img{
	border-radius: 20px;
}
p.f_s05{
	background-color:#efefef;
	padding:2em;
	padding-left:7em;
	background-image:url("../images/f_attention.svg");
	background-position: left 1em center;
	background-size:5em;
	background-repeat: no-repeat;
	max-width:700px;
	margin:20px auto 0;
	border-radius: 20px;
	color:#001031;
}
p.f_s05 span{
	color:red;
	font-weight: bold;
	padding-left:2em;
	padding-right: 3em;
	background-size:2em;
	background-position: right center;
	background-repeat: no-repeat;
}
p.f_s05 span.f_up{
	background-image:url("../images/f_up.svg");
}
p.f_s05 span.f_down{
	background-image:url("../images/f_down.svg");
}
div.f_feature3{
	display: flex;
	justify-content: center;
	gap:4%;
	padding-top:100px;
	background-image:url("../images/f_s09.svg");
	background-position: center top;
	background-repeat: no-repeat;
	background-size:30%;
	margin-top:80px;
}
div.f_feature3 > div{
	width:calc((100% / 3) - 8%);
	border-radius: 12px;
	padding-top:18%;
	color:#001031;
}
div.f_f1{
	background-image: 
		url("../images/f_s11.svg"),
		linear-gradient(45deg, #f2f2f2, #d9d9d9);
	background-position: 
		center top 30px,
		center;
	background-repeat: no-repeat;
	background-size:
		50%,
		100%;
}
div.f_f2{
	background-image: 
		url("../images/f_s12.svg"),
		linear-gradient(45deg, #6ab4c2, #394272);
	background-position: 
		center top 30px,
		center;
	background-repeat: no-repeat;
	background-size:
		50%,
		100%;
	color:#fff !important;
}
div.f_f3{
	background-image: 
		url("../images/f_s10.svg"),
		linear-gradient(45deg, #f2f2f2, #d9d9d9);
	background-position: 
		center top 30px,
		center;
	background-repeat: no-repeat;
	background-size:
		50%,
		100%;
}
div.f_feature3 > div h3{
	text-align: center;
	font-weight: bold;
	position: relative;
}
div.f_feature3 > div h3::after{
	content: "";
	width:20%;
	height: 2px;
	position: absolute;
	margin:auto;
	left:0;
	right:0;
	bottom:-.5em;
}
div.f_feature3 > div.f_f1 h3::after,
div.f_feature3 > div.f_f3 h3::after{
	background:#001031;
}
div.f_feature3 > div.f_f2 h3::after{
	background:#fff;
}
div.f_feature3 ul{
	margin-top:2.5em;
	padding:0 1em 1em;
}
header ul.menu li {
    position: relative;
}
header ul.menu div.f_sub{
	position: absolute;
	width:400px;
	padding:25px;
	left:0;
	display: none;
}
@media(max-width:1200px){
	header ul.menu div.f_sub{
		position: static;
		padding:10px;
		width:auto;
		/*display: block;*/
	}
}
header ul.menu li:hover .f_sub {
  display: block;
  opacity: 1;
  visibility: visible;
}
header ul.menu div.f_sub ul{
	text-align: left;
}
header ul.menu li:hover .f_sub > ul{
	padding:1.5em;
	background:#efefef;
	border-radius: 20px;
	box-shadow: 3px 3px 12px rgba(0,0,0,0.35);
}
@media(max-width:1200px){
	header ul.menu li:hover .f_sub > ul{
		padding:0;
		background:none;
		border-radius: 0;
		box-shadow: none;
	}
}
header ul.menu li:hover .f_sub span{
	font-weight: bold;
	color:#001031;
	border-bottom:2px solid #001031;
}
@media(max-width:1200px){
	header ul.menu li:hover .f_sub span{
		font-weight: bold;
		color:#fff;
		border-bottom:2px solid #fff;
	}
}
.f_serviceMap{
	background-image:url("../images/f_s14.svg");
	aspect-ratio:2/1;
	background-position: center;
	background-size:contain;
	width:100%;
	height: auto;
	position: relative;
}
/*.f_serviceMap {
  position: relative;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  background: url("/images/f_s14.svg") no-repeat center/contain;
  padding-top: 66%;
}
*/
.f_serviceMap a {
	position: absolute;
	display: block;
	text-indent: -9999px;
	overflow: hidden;
	background-repeat: no-repeat;
	background-size:cover;
	background-position: center;
}

/* ① チEEタ仮想化導EサービスE左上！E*/
.f_serviceMap .f_m1 {
	left: 12.797%;
	top: 23.6%;
	width: 48.13489%;
	height: 8.04%;
	background-image:url("../images/f_mm1_off.svg");
	/*aspect-ratio:934.3137/48.2469 ;*/
}
.f_serviceMap .f_m1:hover,
.f_serviceMap .f_m1.current{
	background-image:url("../images/f_mm1_on.svg");
}
.f_serviceMap .f_m1.current{
	pointer-events: none;
}
/* ② メチEージ基盤導EサービスE左中央EE*/
.f_serviceMap .f_m2 {
	left: 12.95%;
	top: 47%;
	width: 19.48%;
	height: 10.91%;
	background-image:url("../images/f_mm2_off.svg");
}
.f_serviceMap .f_m2:hover,
.f_serviceMap .f_m2.current{
	background-image:url("../images/f_mm2_on.svg");
}
.f_serviceMap .f_m2.current{
	pointer-events: none;
}
/* ③ チEEタ統合基盤導EサービスE中央上！E*/
.f_serviceMap .f_m3 {
	left: 41.35%;
	top: 47%;
	width: 19.48%;
	height: 10.91%;
	background-image:url("../images/f_mm3_off.svg");
}
.f_serviceMap .f_m3:hover,
.f_serviceMap .f_m3.current{
	background-image:url("../images/f_mm3_on.svg");
}
.f_serviceMap .f_m3.current{
	pointer-events: none;
}
/* ④ BI導E・可視化刁EサービスE右上！E*/
.f_serviceMap .f_m4{
	left: 71.33%;
	top: 22.521%;
	width: 19.48%;
	height: 10.91%;
	background-image:url("../images/f_mm4_off.svg");
}
.f_serviceMap .f_m4:hover,
.f_serviceMap .f_m4.current{
	background-image:url("../images/f_mm4_on.svg");
}
.f_serviceMap .f_m4.current{
	pointer-events: none;
}
/* ⑤ AI基盤構築E活用支援サービスE右中央EE*/
.f_serviceMap .f_m5 {
	left: 71.33%;
	top: 50%;
	width: 19.48%;
	height: 10.91%;
	background-image:url("../images/f_mm5_off.svg");
}
.f_serviceMap .f_m5:hover,
.f_serviceMap .f_m5.current{
	background-image:url("../images/f_mm5_on.svg");
}
.f_serviceMap .f_m5.current{
	pointer-events: none;
}
/* ⑥ 業務Eロセス刁E・改喁E援サービスE右下！E*/
.f_serviceMap .f_m6 {
	left: 71.33%;
	top: 36.271%;
	width: 19.48%;
	height: 10.91%;
	background-image:url("../images/f_mm6_off.svg");
}
.f_serviceMap .f_m6:hover,
.f_serviceMap .f_m6.current{
	background-image:url("../images/f_mm6_on.svg");
}
.f_serviceMap .f_m6.current{
	pointer-events: none;
}
/* ⑦ チEEタ活用支援サービスE中央下E横長EE*/
.f_serviceMap .f_m7 {
	left: 12.95%;
	top: 75.995%;
	width: 77.86%;
	width: 80%;
	height: 8.04%;
	background-image:url("../images/f_mm7_off.svg");
}
.f_serviceMap .f_m7:hover,
.f_serviceMap .f_m7.current{
	background-image:url("../images/f_mm7_on.svg");
}
.f_serviceMap .f_m7.current{
	pointer-events: none;
}
p.f_p_service{
	width:83% !important;
	/*margin:auto !important;*/
	margin:auto;
}
h2 + p.f_p_service{
	margin-top:80px !important;
}
ul.f_unker{
	display: flex;
	justify-content: center;
	gap:3em;
	margin-bottom:80px;
	position: relative;
	z-index: 1;
}
@media(max-width:590px){
	ul.f_unker{
		flex-direction: column;
		align-items: flex-end;
		gap:1em;
		margin-bottom:0;
	}
}
ul.f_unker li{
	position: relative;
	padding-right:1.5em;
}
ul.f_unker li a::before {
    position: absolute;
    top: 50%;
    right: -7px;
    content: "";
    margin-top: -10px;
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 50%;
    display: block;
    transition: all .2s ease-in;
}
ul.f_unker li:hover a::before {
    background: #cf683c;
}
ul.f_unker li a::after {
    position: absolute;
    top: 50%;
    right: 0;
    content: "";
    margin-top: -4px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #000f37;
    border-right: 2px solid #000f37;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
ul.f_unker li a{
	display: block;
	width:100%;
	height: 100%;
}
h2.f_title_service{
	font-size:24px;
	font-weight: bold;
	margin-bottom:2em;
	text-align: left;
}

.mt0{
	margin-top:0;
}
p.f_p_service + h2,
ul.f_service + h2{
	margin-top:80px;
}
figure.f_figure + h2{
	margin-top:80px;
}
figure.f_figure + p{
	padding-top:50px;
}

ul.f_service,
ol.f_service{
	margin:auto 15%;
}
ol.f_service{
	margin:5% 15%;
}
ul.f_service li{
	background-image:url("../images/f_arrow_service.svg");
	background-position: left top 0.4em;
	background-size:1.25em;
	background-repeat: no-repeat;
	padding-left:2.5em;
}
ol.f_service li{
	list-style: decimal;
}
div.unker{
	padding-top:100px;
	margin-top:-100px !important;
	position: relative;
	z-index: 0;
}
div.unker + h2{
	margin-top:100px;
}
div.f_relation{
	margin:1em 13% 3em;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
div.f_relation.f_casein{
	margin-left:0;
}
div.f_relation a:not(:has(img)) {
	padding:0.25em 1em;
	text-align: center;
	border-radius: 4px;
	background:#fff;
	color:#000f37;
	position: relative;
	z-index: 2;
}
div.f_relation a:has(img) {
	/*width:268px;
	height: 138px;*/
	display: inline-block;
	float: left;
	margin-right: 2em;
	margin-bottom: 1em;
}
@media(max-width:590px){
	div.f_relation a:has(img) {
		width:40%;
	}
}
div.f_relation a:not(:has(img)):hover{
	background:#cf683c;
	color:#fff;
}
div.f_relation a:has(img):hover img{
	opacity:0.75;
}
a.f_faqmore{
	max-width:600px;
	width:60%;
	height: 80px;
	line-height: 80px;
	display: block;
	margin:80px auto 100px;
	border-radius: 40px;
	font-size: 24px;
	text-align:center;
	background:#5ec3d4;
	font-weight: bold;
	color:#fff;
	position: relative;
	z-index: 1;
}
a.f_faqmore:hover{
	background:#757dbb;
}
div.f_Body h2,
div.f_Body h3,
div.f_Body h4,
div.f_Body h5,
div.f_Body h6{
	font-weight: bold;
	margin-bottom: 1em;
}
div.f_Body p{
	margin:1em;
}
div.f_Body ul,
div.f_Body ol{
	margin:1em 1em 1em 2em;
}
div.f_Body ol li{
	list-style: decimal;
}
div.f_Body img{
	margin:1em;
}
div.f_Body.case ul,
div.f_Body.case ol{
	margin:1em 1em 1em 3em;
}
div.f_Body.case ul li{
	list-style: disc;
}
div.f_Body.case ol li{
	list-style: decimal;
}
div.f_Body.case ul.f_nowrap{
	display: flex;
	gap:2em;
	flex-wrap: wrap;
}
div.f_Body.case ul.f_nowrap.f_block{
	margin-bottom:50px;
}
div.f_Body.case ul.f_nowrap.f_block li{
	list-style: none;
}
div.f_Body.case ul.f_nowrap.f_block li a{
	/*display: block;*/
	border:1px solid #ccc;
	padding:5px 50px 5px 20px;
	border-radius: 4px;
	background-image:url("../images/f_light_arrow_white.svg");
	background-position: right 10px center;
	background-repeat: no-repeat;
	background-size:12px;
	line-height: 1em;
}
div.f_Body.case ul.f_nowrap.f_block li a:hover{
	background-color:#fff;
	color:#001031;
	background-image:url("../images/f_light_arrow_blue.svg");
}
/*div.f_Body.case dl{
	margin:1em;
	overflow: hidden;
}
div.f_Body.case dl dt,
div.f_Body.case dl dd{
	padding:0.5em 0;
}
div.f_Body.case dl dt{
	width:15%;
	float: left;
	clear: both;
}
div.f_Body.case dl dd{
	width:85%;
	float: right;
}*/
dl.f_case{
	display: flex;
	width:80%;
	margin:auto;
	gap:3em;
	align-items: center;
	padding:10px;
	border:2px solid #fff;
	border-radius: 8px;
	margin-bottom:1em;
}
@media(max-width:767px){
	dl.f_case{
		flex-direction: column;
	}
}
dl.f_case.last{
	margin-bottom:100px !important;
}
dl.f_case dt{
	width:80px;
	display: flex;
	flex-direction: column;
	align-items: center;
	border-right: 2px solid #fff;
}
@media(max-width:767px){
	dl.f_case dt{
		width:100px;
		border-right: none;
		border-bottom: 2px solid #fff;
	}
}
dl.f_case dt span{
	font-size:48px;
	line-height: 1em;
	font-family: Verdana, Geneva, "sans-serif";
	font-family: Tahoma, Geneva, "sans-serif";
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	font-weight: bold;
}
@media(max-width:767px){
	dl.f_case dt span{
		font-size:24px;
	}
}
dl.f_case dd{
	font-size:20px;
	font-weight: bold;
}
ul.f_caseCategory{
	padding:25px;
	padding-top:50px;
	border:2px solid #fff;
	border-radius: 8px;
	margin-bottom:50px;
	display: flex;
	flex-wrap: wrap;
	gap:1em;
	position: relative;
	margin-top:25px;
	overflow: visible;
}
ul.f_caseCategory::before{
	content: "カチEリー";
	color:#fff;
	position: absolute;
	background:#001031;
	padding:0 25px;
	margin:auto;
	left:0;
	right:0;
	top:-1em;
	font-weight: bold;
	text-align: center;
	width:12em;
	font-size:2rem;
}
ul.f_caseCategory li{
	display:inline-block;
	line-height: 1em;
	background:#ccc;
	border-radius: 4px;
}
ul.f_caseCategory li:hover{

}
ul.f_caseCategory li a{
	color:#001031;
	display: block;
	width:100%;
	height: 100%;
	padding:10px 20px;
}
ul.f_caseCategory li:hover,
ul.f_caseCategory li.active{
	background:#fff;
	color:#001031;
}
ul.f_caseCategory li:hover a,
ul.f_caseCategory li.active{
	color:#001031;
}
div.f_Body.case h3{
	font-size:24px;
}
@media(max-width:767px){
	div.f_Body.case h3{
		font-size:20px;
	}
}
div.f_Body.case h3.underline{
	border-bottom:3px solid #394272;
	position: relative;
}
div.f_Body.case h3.underline::after{
	content: "";
	width:20%;
	height: 3px;
	background-color:#6ab4c2;
	position: absolute;
	left:0;
	bottom:-0.125em;
}
@media(max-width:767px){
	div.f_Body.case h3.underline::after{
		width:40%;
	}
}




ul.f_service_link {
	display: flex;
	flex-direction: column;
	gap:1em;
}
ul.f_service_link li{
	list-style: none !important;
	width:100%;
	max-width:360px;
	height: 45px;
	line-height: 45px;
	text-align: center;
	font-size:20px;
	background-color:#5ec3d4;
	border-radius: 45px;
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-image:url("../images/f_light_arrow_white.svg");
	background-size:18px;
}
ul.f_service_link li:hover{
	background-color:#757dbb;
	transition: all .2s ease-in;
}
ul.f_service_link li a:hover{
	color:#fff;
}
@media(max-width:767px){
	ul.f_service_link li{
		height: 40px;
		line-height: 40px;
		font-size:16px;
	}
}
ul.f_service_link li a{
	display: block;
	width:100%;
	height: 100%;
}
ul.f_solution{
	width:85%;
	margin:auto auto 3em !important;
}
ul.f_solution li{
	list-style: none !important;
	background-image:url("../images/f_check1.svg");
	background-repeat: no-repeat;
	background-position: left top 0.5em;
	background-size:24px;
	padding-left:40px;
	margin-bottom:1em;
	font-size:20px;
}
.f_system{
	padding-bottom:100px;
}
h3.f_proposal{
	text-align: center;
	border-bottom:4px solid #fff;
	margin-top:1em;
	margin-bottom:1em;
}
h3.f_proposal span{
	font-size:48px;
}
@media(max-width:767px){
	h3.f_proposal span{
		font-size:32px;
		display: block;
		padding-bottom: 0.5em;
	}
}
p.f_schedule{
	width:80%;
	margin:auto auto 2em !important;
	font-size:20px;
	
}
ul.f_merit{
	width:80%;
	margin:auto auto 100px !important;
}
ul.f_merit li{
	list-style: none !important;
	font-size:24px;
	margin-bottom:1em;
	/*background-repeat: no-repeat;
	background-image:url("../images/f_circle.svg");
	background-size:36px;
	background-position: left top 0.3em;
	padding-left:50px;*/
	font-weight: bold;
	background:#fff;
	color:#f15a24;
	padding:1em;
	border-radius: 12px;
	background-repeat: no-repeat;
	background-position: left 20px center;
	background-image:url("../images/f_like.svg");
	background-size:50px;
	padding-left:90px;
	box-shadow: 3px 3px 12px rgba(0,0,0,0.35);
}
.f_case_photo img{
	border-radius: 12px;
	margin-bottom:100px !important;
}
.f_voiceWrapper {
	display: flex;
	gap:20px;
	justify-content: space-between;
	margin-bottom:50px !important;
}
.f_voiceWrapper  div.f_small{
	width:calc(30% - 10px);
}
.f_voiceWrapper  div.f_large{
	width:calc(70% - 10px);
	padding:25px;
}
.f_voiceWrapper  div.f_large h4{
	font-size:22px;
	font-weight: bold;
	border-bottom:2px solid #fff;
}
.f_voiceWrapper figcaption{
	text-align: center;
}
.f_voiceWrapper figure img{
	border-radius: 12px;
}
div.f_selectWrapper{
	display: flex;
	/*justify-content: flex-end;*/
	margin-right: 3%;
}

div.f_selectWrapper select{
	padding:10px 15px;
	border-radius: 4px;
	margin-bottom:1em;
	cursor: pointer;
	min-width: 160px;
	background-color:#fff;
	background-image:url("../images/arrow_select.svg");
	background-size:15px;
	background-position: right 10px center;
	background-repeat: no-repeat;
}
div.f_contactPerson {
    width: 90%;
    overflow: hidden;
    display: flex;
    justify-content: flex-start;
    gap: 20px;
	margin:auto;
}
@media(max-width:767px){
	div.f_contactPerson {
		flex-direction: column;
	}
}
div.f_contactPerson dl {
    flex: 1;
    overflow: hidden;
    margin-bottom: 50px;
}
div.f_contactPerson dt {
    width: 80px;
    float: left;
    clear: both;
}
div.f_contactPerson dd {
    width: calc(100% - 100px);
    float: right;
}
div.f_contactPerson dt img{
	width:100% !important;
	height: auto !important;
	margin:0 !important;
}
div.f_blog_index {
	width:60%;
	padding:1em;
	margin:auto auto 50px !important;
	border:2px solid #fff;
	border-radius: 12px;
}
@media(max-width:767px){
	div.f_blog_index {
		width:90%;
		padding:1em;
		margin:auto auto 50px !important;
		border:2px solid #fff;
		border-radius: 12px;
	}
}
div.f_blog_index p{
	font-size:24px;
	font-weight: bold;
	text-align: center;
	border-bottom:2px solid #fff;
}
div.f_Body.blog h3{
	font-size:24px;
	margin-top:2em;
	margin-bottom:1em;
	border:2px solid #fff;
	padding:0 1em;
	border-radius: 50px;
	background-color:#fff;
	color:#001031;
}
@media(max-width:767px){
	div.f_Body.blog h3 {
		font-size: 20px;
		padding: 0.5em 1em;
	}
}
div.f_Body.blog div.f_index{
	padding-top:100px;
	margin-top:-100px;
}
div.f_Body.blog h4{
	font-size:20px;
	margin-top:2em;
	margin-bottom:1em;
	border-bottom:2px solid #fff;
	margin-left:1em;
}
div.f_Body.blog ul,
div.f_Body.blog ol{
	margin:1em 1em 1em 3em;
}
div.f_Body.blog ul li{
	list-style: disc;
}
div.f_Body.blog table{
	margin:1em auto 2em 1em;
}
div.f_Body.blog table thead td{
	font-weight: bold;
	background:#fff;
	color:#001031;
}
div.f_Body.blog table td{
	border:1px solid #fff;
}
div.f_Body.blog blockquote{
	font-size:20px;
	padding:1em;
	font-weight: bold;
	background-repeat: no-repeat;
	background-position: left top,right bottom;
	background-size:20px;
	background-image:url("../images/f_quote.svg"),url("../images/f_quote2.svg");
	display: inline-block;
}
div.f_Body.blog pre{
	margin:1em;
	border-radius: 12px;
	background:#000;
	padding:1em;
}
div.f_img_left,
div.f_img_right{
	display:flex;
	gap:20px;
}
@media(max-width:767px){
	div.f_img_right{
		flex-direction:column-reverse;
		gap:10px;
	}
	div.f_img_left{
		flex-direction:column;
		gap:10px;
	}
}
div.f_img_left img,
div.f_img_right img,
div.f_img_left p,
div.f_img_right p{
	width:calc(50% - 10px);
	height: auto;
}
@media(max-width:767px){
	div.f_img_left img,
	div.f_img_right img,
	div.f_img_left p,
	div.f_img_right p{
		width:calc(100% - 10px);
		height: auto;
	}
}
div.f_blog_info{
	border-top:1px solid #fff;
	border-bottom:1px solid #fff;
	margin-bottom:50px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
@media(max-width:767px){
	div.f_blog_info{
		flex-direction: column;
	}
}
div.f_blog_info > div{
	display: flex;
	justify-content: flex-start;
	gap:20px;
	align-items: center;
}
div.f_blog_info > div a{
	background:#fff;
	color:#001031;
	padding:2px 10px;
	border-radius: 4px;
	margin-right: .5em;
}
div.f_blog_info > div a:hover{
	background:#f15a24;
	color:#fff;
}
div.f_blog_info > ul{
	width:300px;
	display: flex;
	justify-content: center;
	background:#fff;
	border-radius: 12px;
}
div.f_blog_info > ul img{
	width:50px;
	height: auto;
}
div.f_blog_info > ul li{
	list-style: none !important;
}
div.f_blog_info > ul li img{
	width:30px;
	height: auto;
}
div.f_Body.blog div.f_kakomi{
	padding:20px;
	background:#333;
	border-radius: 12px;
	box-shadow: 3px 3px 12px rgba(0,0,0,0.5) inset;
}

div.f_Body.blog .blog_h4_logo{
	background-image:url("../images/f_s09.svg");
	padding-left:250px;
	background-repeat: no-repeat;
	background-size:230px;
	background-position: left center;
	border:none;
}
@media(max-width:767px){
	div.f_Body.blog .blog_h4_logo {
		padding-left: 0;
		padding-top: 60px;
		background-size: 230px;
		background-position: center top;
	}
}
@media(min-width:768px){
	div.f_blog_contents{
		width:90%;
		margin:auto;
	}
}


div.f_disclaimer{
	margin:60px;
}
@media(max-width:767px){
	div.f_disclaimer{
		margin:20px;
	}
}
p.f_disclaimer {
	font-size:14px;
	margin:0 !important;
}
@media(max-width:767px){
	p.f_disclaimer {
		font-size:14px;
		margin:0 !important;
	}
}
p.f_disclaimer::before{
	content: "※ "
}


div.f_aboutdi {
	background-image:url("../images/f_logo2.png");
    background-position: right center;
    background-repeat: no-repeat;
    font-size: 24px;
    background-size: 40%;
    width: 70%;
    margin: 50px auto 100px;
}
@media(max-width:767px){
	div.f_aboutdi {
		background-position: center top;
		font-size: 20px;
		background-size: 40%;
		width: 100%;
		padding-top:120px;
		text-align: center;
   	 margin: 50px auto 50px;
	}
}


div.f_site {
	background-color:#030a40;
	padding:50px 0;
}

a.f_relatedSite {
	width:94%;
	aspect-ratio:654/200;
	background-image:url("../images/techstrategy_banner_sp.webp");
	background-repeat: no-repeat;
	background-position: center;
	background-size:100%;
	display: block;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	margin:25px auto;
}
a.f_relatedSite:hover{
	opacity: 0.75;
}
@media screen and (min-width: 768px) {
	a.f_relatedSite {
		aspect-ratio:1320/240;
		background-image:url("../images/techstrategy_banner_tab.webp");
	}
}
@media screen and (min-width: 1025px) {
	a.f_relatedSite {
		aspect-ratio:1600/240;
		margin:40px 3% 50px;
		background-image:url("../images/techstrategy_banner_pc.webp");
	}
}



/*HPC専用*/
span.f_boxshadow{
	text-shadow: 3px 3px 9px rgba(0,0,0,0.35);
}
div.f_aboutnebulashift {
	display: flex;
	justify-content: space-between;
	background-image:url("../images/nebulashift_hexa.png");
	background-position: right center;
	background-repeat: no-repeat;
	background-size:50%;
	margin:50px auto 100px;
}
@media(max-width:767px){
	div.f_aboutnebulashift {
		flex-direction: column-reverse;
		background-position: center top;
		padding-top:180px;
		background-size:80%;
	}
}
div.f_aboutnebulashift p{
	width:50%;
	font-size:22px;
}
@media(max-width:767px){
	div.f_aboutnebulashift p{
		width:100%;
		font-size:20px;
	}
}
div.f_aboutnebulashift strong{
	font-size:48px;
}
@media(max-width:767px){
	div.f_aboutnebulashift strong{
		font-size:32px;
	}
}
.worries.aboutnebulashift{
	background-repeat: no-repeat;
	background-position: center;
	background-size:cover;
	background-image:url("../images/mv2.jpg");
	padding-bottom:100px;
	position: relative;
	z-index: 1;
}
.abouthpc{
	position: relative;
	/*z-index: -1;*/
}
.abouthpc::before{
	content: "";
	width:100%;
	height: 100%;
	/*background:rgba(00,68,37,0.7);*/
	top:0;
	bottom:0;
	right:0;
	left:0;
	margin:auto;
	position: absolute;
	z-index: 0;
}
p.f_aboutcatch{
	font-size:32px;
	font-weight: bold;
}
@media(max-width:767px){
	p.f_aboutcatch{
		font-size:24px;
	}
}
span.ns-hero__em{
  position: relative;
  display: inline-block;
  padding: 0 6px;
  font-size:60px;
}
@media(max-width:767px){
	span.ns-hero__em{
	  font-size:32px;
	}
}
span.ns-hero__em::after{
/*  content:"";
  position:absolute;
  left: 4px;
  right: 4px;
  bottom: 0.12em;
  height: 0.35em;
  background: rgba(0, 255, 180, 0.28);
  border-radius: 8px;
  z-index: -1;*/
}
h2.abouthpch2{
	font-size: 48px;
	font-weight: bold;
	margin-bottom: 50px;
	position: relative;
	text-align: left;
	background:url("../images/logo_nebulashift.svg") right top 10px no-repeat;
	background-size:360px;
	border-bottom:2px solid #fff;
}
@media(max-width:767px){
	h2.abouthpch2{
		font-size: 24px;
		text-align: center;
		margin-bottom: 25px;
		position: relative;
		background:url("../images/logo_nebulashift.svg") center top no-repeat;
		background-size:240px;
		padding-top:80px;
	}
}
ul.ns-hero__chips{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	padding: 0;
	margin: 50px 0 26px;
}
li.ns-chip{
	font-size:20px;
	list-style: none;
	padding: 10px 14px;
	border-radius: 999px;
	border: 3px solid rgba(0,255,180,0.28);
	/*border: 3px solid yellow;*/
	background: rgba(255,255,255,0.06);
	backdrop-filter: blur(10px);
	letter-spacing: .02em;
	color: rgba(255,255,255,0.92);
	color:yellow;
}
@media(max-width:767px){
	li.ns-chip{
		width:100%;
	}
}
a.f_document {
    text-align: center;
    color: #fff;
    display: inline-block;
    z-index: 10;
    position: relative;
	margin:25px auto;
	font-size:20px;
	border-bottom:2px solid transparent;
}
a.f_document:hover{
	border-bottom:2px solid #fff;
}

div.f_solution {
	display: flex;
	justify-content: space-between;
	gap:80px;
	margin:50px auto 75px;
	/*border:4px solid #fff;*/
	padding:150px 30px 30px;
	border-radius: 20px;
	background-repeat: no-repeat;
	position: relative;
	z-index: 1;
	background-color: rgba(0,0,0,0.3);
	backdrop-filter: blur(10px);
	box-shadow: 3px 3px 12px rgba(0,0,0,0.35);
	overflow: hidden;
	background-size:
		100%,cover;
}
div.f_solution.f_sol1{
	background-image:
		linear-gradient(180deg,rgba(8, 42, 82, 0.8),rgba(5, 28, 60, 0.7)),
		url("../images/sol_bg1.webp");
}
div.f_solution.f_sol2{
	background-image:
		linear-gradient(180deg,rgba(8, 42, 82, 0.8),rgba(5, 28, 60, 0.4)),
		url("../images/sol_bg2.webp");
}
div.f_solution.f_sol3{
	background-image:
		linear-gradient(180deg,rgba(8, 42, 82, 0.8),rgba(5, 28, 60, 0.4)),
		url("../images/sol_bg3.webp");
}
@media(max-width:767px){
	div.f_solution {
		flex-direction: column;
		gap:50px;
		padding:20px;
		background-image: none;
		padding-top:150px;
	}
	h2.f_infra{
		line-height: 1.5em;
	}
}
div.f_solution ul{
	position: relative;
}

div.f_solution div.left ul::after{
  content: "";
  position: absolute;
  right: -75px;
  top: 50%;
  width: 60px;
  height: 60px;
  background: url("../images/f_arrow_sol.svg") no-repeat center/contain;
  transform: translateY(-50%);
  z-index: 5;
  pointer-events: none;
}
.f_solution .right ul.arrow-target::after{
  left: -60px;
  right: auto;
}
div.f_solution h3.f_sol_title{
	width:100%;
	font-size:32px;
	text-align: center;
	position: absolute;
	margin:auto;
	top:0;
	left:0;
	right:0;
	line-height: 100px;
	font-weight: bold;
	/*border-bottom:2px solid #fff;*/
	background-color:var(--green-color);
	background-color:rgba(255,255,255,.15);
	background: linear-gradient(
		to right,
		rgba(0,184,255,0) 0%,
		rgba(0,184,255,0.12) 45%,
		rgba(0,184,255,0.18) 50%,
		rgba(0,184,255,0.12) 55%,
		rgba(0,184,255,0) 100%
	);
	background: linear-gradient(
		to right,
		rgba(0,120,255,0) 0%,
		rgba(0,120,255,0.12) 40%,
		rgba(0,120,255,0.15) 50%,
		rgba(0,120,255,0.12) 60%,
		rgba(0,120,255,0) 100%
	);
	background: linear-gradient(
		to right,
		rgba(0, 184, 255, 0) 0%,
		rgba(0, 184, 255, 0.08) 35%,
		rgba(0, 184, 255, 0.18) 50%,
		rgba(0, 184, 255, 0.08) 65%,
		rgba(0, 184, 255, 0) 100%
	);
	
}
div.f_solution > div{
	flex:1;
}
dl.solution h3{
	font-size:24px;
	text-align: center;
	margin-bottom: 1.5em;
}
@media(max-width:767px){
	dl.solution h3{
		font-size:20px;
	}
}
dl.solution dt{
	text-align: center;
	/*border-bottom:1px solid #fff;*/
	font-size:20px;
	margin-bottom:1.5em;
	width:100px;
	height: 100px;
	border-radius: 50px;
	background:#fff;
	color:var(--green-color);
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin:auto auto 1.5em;
	font-weight: bold;
	
	border:5px solid rgba(255,255,255,.15);
}
.left dl.solution dt{
	color:rgba(0, 10, 40, 0.95)
}
dl.solution ul li {
    counter-increment: reason;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 30px;
    gap: 50px;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 20px 13px 20px 20px;
	font-size:20px;
	
	box-shadow:0 10px 30px rgba(0,0,0,.25);
}
@media(max-width:767px){
	dl.solution ul li {
		margin-bottom: 10px;
	}
}
.left dl.solution ul li{
    background: linear-gradient(to right, rgba(0, 10, 40, 0.8), rgba(120, 0, 255, 0.8)) ;
	/*background:linear-gradient(135deg,#0b1f6b,#24196f);*/
}
.right dl.solution ul li{
    background: linear-gradient(to left, rgba(62, 156, 53, 0.8), rgba(0, 0, 0, 0.8));
	/*background:linear-gradient(135deg,#0b3a45,#1f6b47);*/
}
.reason dl{
	display: flex;
	border:3px solid #fff;
	border-radius: 12px;
	margin:50px auto 25px;
	overflow: hidden;
	box-shadow: 3px 3px 9px rgba(0,0,0,0.35);
}
@media(max-width:767px){
	.reason dl{
		flex-direction: column;
		margin:25px auto;
	}
}
.reason dt,
.reason dd{
	padding:25px;
	font-size:18px;
}
.reason dt{
	font-size:22px;
	flex:1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: rgba(0,0,0,0.2);
	backdrop-filter: blur(10px);
	color:#000;
	font-weight: bold;
	text-align: center;
}
.reason dt span{
	display: block;
	background-repeat: no-repeat;
	background-position: center top 25%;
	background-size:80px;
	padding-top:100px;
	color:#fff;
}
@media(max-width:767px){
	.reason dt{
		font-size:20px;
	}
}
.reason dt.f_num1 span{
	background-image:url("../images/f_num1.svg")
}
.reason dt.f_num2 span{
	background-image:url("../images/f_num2.svg")
}
.reason dt.f_num3 span{
	background-image:url("../images/f_num3.svg")
}
.reason dt.f_num4 span{
	background-image:url("../images/f_num4.svg")
}
.reason dt.f_num5 span{
	background-image:url("../images/f_num5.svg")
}
.reason dd{
	flex:4;
	font-size:22px;
	background: rgba(255,255,255,0.3);
	backdrop-filter: blur(10px);
}
.reason dd span{
	font-size:18px;
	display: block;
	margin-top:1em;
}
.reason dd h3{
	border-bottom: 1px solid #fff;
}
@media(max-width:767px){
	.reason dd h3{
		font-size:18px;
	}
}
div.f_worry{
	margin-top:50px;
	position: relative;
	aspect-ratio:277/155;
	overflow: hidden;
}
contents.concerns{
	
}
div.f_worry img{
	position: absolute;
	object-fit: contain;
	object-position: center;
	aspect-ratio:277/155;
}
h3.f_worry {
	text-align: center;
	font-size:36px;
	height: 36px;
	font-weight: bold;
	color:#001031;
	position: absolute;
	margin:auto;
	top:0;
	bottom:0;
	left:0;
	right:0;
}
@media(max-width:767px){
	h3.f_worry {
		font-size:14px;
	}
}
div.f_worry li{
	position: absolute;
	color:#000;
	font-size:min(16px,1.5vw);
	text-align: center;
	line-height: 1.5em;
	font-weight: bold;
}
div.f_worry li.worry01{
	left:19.5%;
	top:67%;
	width:16.1%;
}
div.f_worry li.worry02{
	left:1%;
	top:30%;
	width:16.1%;
}
div.f_worry li.worry03{
	left:21.5%;
	top:21%;
	width:16.1%;
}
div.f_worry li.worry04{
	left:63%;
	top:19%;
	width:16.1%;
}
div.f_worry li.worry05{
	left:82.5%;
	top:32.5%;
	width:16.1%;
}
div.f_worry li.worry06{
	left:71%;
	top:63.5%;
	width:18.1%;
}
div.f_worry li.worry07{
	left:43.5%;
	top:12.5%;
	width:14.1%;
	
}
p.f_solu {
	font-size:44px;
	font-weight: bold;
	color:var(--green-color);
	background:url("../images/f_arrow_down.svg") center top 10px no-repeat;
	background-size:50px;
	padding-top:50px;
	margin:50px auto 100px;
	text-align: center;
}
@media(max-width:767px){
	p.f_solu {
		font-size:18px;
	}
}
h3.f_usecase {
	font-size:24px;
	text-align: center;
	border:2px solid #fff;
	border-radius: 50px;
	margin:75px auto 25px;
}
table.f_usecase{
	width:96%;
	margin:auto auto 25px;
}
table.f_usecase th,
table.f_usecase td{
	padding:1.5em;
	font-size:18px;
	border:1px solid #ccc;
	width:50%;
}
table.f_usecase th{
	font-size:22px;
	text-align: center;
}

/* =========================
   HPC Usecases (SCSK-like)
========================= */
.hpcUsecases{
  position: relative;
  padding: clamp(40px, 5vw, 72px) 0;
  color: #eef4ff;
  background: #061a36;
  overflow: hidden;
}

/* subtle HPC background */
.hpcUsecases::before{
  content:"";
  position:absolute;
  inset:-20%;
  background:
    radial-gradient(circle at 25% 20%, rgba(60,140,255,.18), transparent 55%),
    radial-gradient(circle at 80% 70%, rgba(0,200,150,.14), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.06), transparent 35%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 1px, transparent 1px 48px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.03) 0 1px, transparent 1px 48px);
  filter: blur(0px);
  opacity: .9;
  pointer-events:none;
}

.hpcUsecases__inner{
  position: relative;
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
}

.hpcUsecases__head{
  text-align: center;
  margin-bottom: clamp(24px, 3vw, 40px);
}

.hpcUsecases__eyebrow{
  font-weight: 700;
  letter-spacing: .14em;
  font-size: 12px;
  color: rgba(238,244,255,.75);
  margin: 0 0 10px;
}

.hpcUsecases__title{
  margin: 0;
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.12;
  letter-spacing: .02em;
}

.hpcUsecases__lead{
  margin: 10px 0 0;
  color: rgba(238,244,255,.82);
  font-size: clamp(14px, 1.6vw, 18px);
}

/* Card */
.usecaseCard{
	margin-top: 18px;
	padding: 0,clamp(18px, 2.6vw, 26px);
	border-radius: 18px;
	background: rgba(8, 26, 56, .72);
	background-color:#efefef;
	box-shadow: 0 18px 50px rgba(0,0,0,.25);
	backdrop-filter: blur(6px);
	background-repeat: no-repeat;
	background-position: center;
	background-size:cover;
	overflow: hidden;
}
.usecaseCard section{
	flex:0.8;
}
.usecaseCard + .usecaseCard{ margin-top: 75px; }

.usecaseCard__head{
  padding-bottom: 14px;
  margin-bottom: 18px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.usecaseCard__en{
  margin: 0 0 8px;
  font-size: 12px;
  letter-spacing: .12em;
  font-weight: 700;
  color: rgba(238,244,255,.7);
}
.panel--solution p{
	font-size:20px;
	color:#111;
	margin-right: 1em;
	text-align: justify;	
}
@media(max-width:767px){
	.panel--solution p{
		font-size:16px;
	}
}
h3.usecaseCard__title{
	margin: 0;
	font-size: clamp(16px, 1.9vw, 32px);
	line-height: 1.35;
	margin-bottom:1em;
	font-weight: bold;
	text-align: center;
	background:rgba(0,128,64,0.7);
	background:linear-gradient(90deg,#2f8f46,#3ea861);
	background: linear-gradient(90deg,#2a7d4f,#49b36b);
	background: linear-gradient(90deg,#1f6f45,#3ea861);
	background:
	linear-gradient(90deg,#2a7d4f,#49b36b),
	linear-gradient(180deg,rgba(255,255,255,.15),rgba(255,255,255,0));
	padding:25px 0;
	backdrop-filter: blur(3px);
}
@media(max-width:767px){
	h3.usecaseCard__title{
		font-size: 20px;
	}
}
h3.usecaseCard__title span{
	display: block;
	font-size:20px;
	font-weight: normal;
	padding-top:1em;
}
@media(max-width:767px){
	h3.usecaseCard__title span{
		font-size:16px;
	}
}
/* Two panels */
.usecaseGrid {
    display: flex;
    justify-content: center;
}
.panel{
  border-radius: 16px;
  padding: 18px 18px 16px;
  /*border: 1px solid rgba(255,255,255,.12);
  background: rgba(4, 16, 40, .55);*/
}

.panel__label{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 14px;
}

.panel__label--solution{
  justify-content: flex-start;
}
.panel--img img{
	border-radius: 20px;
}
.badge{
  display:inline-flex;
  align-items:center;
  line-height: 40px;
  height: 40px;
  padding: 4px 50px;
  border-radius: 999px;
  font-size: 20px;
  letter-spacing: .06em;
  /*border: 1px solid rgba(255,255,255,.16);*/
  background: rgba(255,255,255,.06);
  margin:auto;
  margin-bottom:25px;
}
@media(max-width:767px){
	.badge{
		font-size:16px;
	}
}
.badge--issue{

  /*border-color: rgba(255, 122, 0, .35);*/
 
  background: rgba(255, 122, 0, .14);
  background: var(--os-color);
}

.badge--solution{
 /* border-color: rgba(0, 195, 137, .35);*/
  background: rgba(0, 195, 137, .14);
  background: var(--green-color);
}

.powered{
  font-size: 12px;
  color: rgba(238,244,255,.65);
  font-weight: 700;
  letter-spacing: .06em;
}

/* Lists */
.iconList, .checkList{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 12px;
}

.iconList__item{
  display:flex;
  gap: 10px;
  align-items: flex-start;
  color: rgba(238,244,255,.92);
  line-height: 1.55;
  font-size:18px;
}

/* Tiny “icons Ewith CSS only (no SVG needed) */
.icon{
  width: 26px;
  height: 26px;
  flex: 0 0 22px;
  position: relative;
}

.icon--time::after{ content:"⏱"; position:absolute; inset:0; display:grid; place-items:center; font-size: 18px; }
.icon--cycle::after{ content:"🔄"; position:absolute; inset:0; display:grid; place-items:center; font-size: 18px; }
.icon--cost::after{ content:"💰"; position:absolute; inset:0; display:grid; place-items:center; font-size: 18px; }
.icon--heavy::after{ content:"🌪"; position:absolute; inset:0; display:grid; place-items:center; font-size: 18px; }
.icon--scale::after{ content:"📈"; position:absolute; inset:0; display:grid; place-items:center; font-size: 18px; }
.icon--ops::after{ content:"🛠"; position:absolute; inset:0; display:grid; place-items:center; font-size: 18px; }
.icon--security::after{  content:"🔒";position:absolute;inset:0;display:grid;place-items:center; font-size:18px;}
.icon--analytics::after{content:"⚡";position:absolute;inset:0;display:grid;place-items:center;font-size:18px;
}
/* check list */
.checkList li{
  position: relative;
  padding-left: 22px;
  color: rgba(238,244,255,.92);
  color:#111;
  line-height: 1.55;
  font-size:20px;
  margin-bottom:0.5em;
}
@media(max-width:767px){
	.checkList li{
		font-size:16px;
	}
}
.checkList li::before{
  content:"";
  position:absolute;
  left: 0;
  top: .55em;
  width: 12px;
  height: 8px;
  border-left: 3px solid rgba(0, 195, 137, .95);
  border-bottom: 3px solid rgba(0, 195, 137, .95);
  transform: rotate(-45deg);
}

/* Responsive */
@media (max-width: 860px){
	.usecaseGrid{ grid-template-columns: 1fr;
		flex-direction: column;

	}
	.panel__label{ justify-content: flex-start; }
	.powered{ margin-left: 8px; 
	}
}

/* =========================
   HPC Flow Section
========================= */
.hpcFlow{
  position: relative;
  padding: clamp(40px, 5vw, 72px) 0;
  background: #061a36;
  color: #eef4ff;
  overflow: hidden;
}

.hpcFlow::before{
  content: "";
  position: absolute;
  inset: -10%;
  background:
    radial-gradient(circle at 20% 20%, rgba(60,140,255,.16), transparent 50%),
    radial-gradient(circle at 80% 75%, rgba(0,200,150,.10), transparent 45%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 56px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0 1px, transparent 1px 56px);
  pointer-events: none;
}

.hpcFlow__inner{
  position: relative;
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
}
@media(max-width:767px){
	.hpcFlow__inner{
	  margin-top:25px;
	}
}
.hpcFlow__head{
  text-align: center;
  margin-bottom: clamp(26px, 3vw, 40px);
}

.hpcFlow__eyebrow{
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  color: rgba(238,244,255,.72);
}

.hpcFlow__title{
  margin: 0;
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.2;
  font-weight: 800;
}

.hpcFlow__lead{
  margin: 12px auto 0;
  max-width: 760px;
  font-size: clamp(14px, 1.5vw, 17px);
  line-height: 1.8;
  color: rgba(238,244,255,.82);
}

.hpcFlowList{
  display: grid;
  gap: 16px;
  position: relative;
}

.hpcFlowCard{
  display: grid;
  grid-template-columns: 220px 1fr;
  background: rgba(8, 26, 56, .72);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0,0,0,.20);
  backdrop-filter: blur(4px);
}

.hpcFlowCard__side{
  position: relative;
  padding: 22px 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border-right: 1px solid rgba(255,255,255,.12);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
}

.hpcFlowCard__step{
  margin: 0;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  color: rgba(238,244,255,.72);
}

.hpcFlowCard__label{
	margin: 0;
	font-size: 19px;
	line-height: 1.4;
	background-repeat: no-repeat;
	background-position: center top;
	background-size:60px;
	padding-top:80px;
}
h3.hpcFlowCard__label.f_flow01{
	background-image:url("../images/f_flow01.svg");
}
h3.hpcFlowCard__label.f_flow02{
	background-image:url("../images/f_flow03.svg");
}
h3.hpcFlowCard__label.f_flow03{
	background-image:url("../images/f_flow02.svg");
}
h3.hpcFlowCard__label.f_flow04{
	background-image:url("../images/f_flow04.svg");
}
h3.hpcFlowCard__label.f_flow05{
	background-image:url("../images/f_flow05.svg");
}
.hpcFlowCard__body{
  padding: 24px 26px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hpcFlowCard__title{
  margin: 0 0 10px;
  font-size: clamp(22px, 2.4vw, 28px);
  font-weight: 800;
  line-height: 1.35;
  color: #ffffff;
}

.hpcFlowCard__text{
  margin: 0;
  font-size: clamp(14px, 1.45vw, 18px);
  line-height: 1.9;
  color: rgba(238,244,255,.90);
}

/* icon base */
.hpcFlowCard__icon{
  width: 64px;
  height: 64px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  position: relative;
  flex: 0 0 64px;
}

.hpcFlowCard__icon::after{
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-size: 28px;
}

/* icons */
.icon--hearing::after{
  content: "🎧";
}

.icon--proposal::after{
  content: "📐";
}

.icon--build::after{
  content: "🛠";
}

.icon--operation::after{
  content: "🖥";
}

.icon--success::after{
  content: "📈";
}

/* accent on important words if you wrap them */
.hpcFlow .accent{
  color: #72f0c1;
  font-weight: 800;
}

/* responsive */
@media (max-width: 860px){
  .hpcFlowCard{
    grid-template-columns: 1fr;
  }

  .hpcFlowCard__side{
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.12);
    padding: 18px 16px;
  }

  .hpcFlowCard__body{
    padding: 20px 18px;
  }

  .hpcFlowCard__title{
    font-size: 22px;
  }
}

h2 span{
	font-size:24px;
	padding-bottom:50px;
}
div.f_family {
	display: flex;
	gap:25px;
	margin-top:10px;
}
@media(max-width:767px){
	div.f_family {
		flex-direction: column;
	}
}
div.f_family a{
	display: block;
	width:220px;
	height: auto;
	aspect-ratio:315/56;
	padding:25px;
	background:#fff;
	border-radius: 12px;
	border:3px solid #fff;
}
div.f_family a img{
	object-fit: contain;
}
div.f_family a:hover{
	opacity: 0.7;
	border:3px solid var(--green-color);
}

h2.f_blog {
	border-bottom:2px solid #fff;
	margin-bottom:50px;
}
div.f_Body{
	background:#fff;
	padding:25px;
	border-radius: 20px;
	color:#001031;
}
div.f_Body h2,
div.f_Body h3,
div.f_Body h4,
div.f_Body h5,
div.f_Body h6{
	font-weight: bold;
	margin:2em auto 1em;
}
div.f_Body h2{
	font-size:32px;
}
div.f_Body h3{
	font-size:24px;
}
div.f_Body h4{
	font-size:20px;
}
div.f_Body h5{
	font-size:18px;
}
div.f_Body h6{
	font-size:16px;
}
div.f_Body ul,
div.f_Body ol{
	margin:1em auto 2em 3em;
	border:none !important;
}
div.f_Body ul li{
	list-style: disc !important;
	border: none !important;
}
div.f_Body a.f_entry{
	display: inline-block;
	margin:50px auto;
	padding:10px 20px;
	background:var(--green-color);
	border-radius: 100px;
	text-align: center;
	color:#fff;
}
div.f_Body a.f_entry:hover{
	background:var(--esc-color);
}
p.f_end{
	margin:25px auto;
}
div.f_contactWrapper{
	width:60%;
	margin:50px auto 25px;
	display: flex;
	justify-content: center;
	gap:50px;
}
@media(max-width:767px){
	div.f_contactWrapper{
		flex-direction: column;
		gap: 15px;
		width:80%;
	}
}
a.f_more{
	color:#001031;
	background-color:#fff;
	padding:3px 40px 3px 20px;
	text-align: center;
	border-radius: 50px;
	font-size:18px;
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size:10px;
	background-image:url("../images/f_more_arrow_b.svg");
	display: inline-block;
	margin-top:25px;
	border:2px solid #fff;
}
a.f_more:hover{
	background-color:#001031;
	color:#fff;
	background-image:url("../images/f_more_arrow_w.svg")
}
div.schematic img {
	border-radius: 12px;
}
div.schematic h4{
	font-size:24px;
	margin-bottom:0.5em;
}

div.f_leaf {
	position: relative;
	z-index: 2;
}
@media(min-width:435px){
	div.logo{
		display: block;
	}
	div.logo_narrow{
		display: none;
	}
}
@media(max-width:434px){
	div.logo{
		display: none;
	}
	div.logo_narrow{
		display: block;
	}
	div.logo_narrow img{
		height: 54px;
	}
}
