@charset "UTF-8";
@import "https://cdn.jsdelivr.net/npm/@hilosiva/oreset@3.0.2/dist/oreset.css";
@font-face{font-family:ESBuild;src:url("https://css.veeam.com/fonts/es-build-family/web/ES-Build.woff2") format("woff2");font-weight:400 700;font-display:swap}

/*=========================================================================
//
// Base
//
==========================================================================*/
:root {
	--to-rem: calc(1rem / 16); /* 1px あたりの rem値(0.0625) */

	/* Primary colors */
	--color-viridis: #00d15f;
	--color-black: #000000;
	--color-darkMineral: #505861;
	--color-frenchGrey: #adacaf;
	--color-fog: #efefef;
	--color-white: #ffffff;

	/* Secondary colors */
	--color-sol: #ffd839;
	--color-suma: #fe8a25;
	--color-casia: #8e71f4;
	--color-electricAzure: #3700ff;
	--color-sky: #57e0ff;

	/* Bounce colors */
	--color-lime: #9cffa3;
	--color-mint: #32f26f;
	--color-pine: #007f49;

	--color-alert: #ed2b3d;

	/* Font Size */
	--font-size-base: clamp( 15 * var(--to-rem), 0.915rem + 0.11vw, 16 * var(--to-rem));
  --font-size-lg: calc(20 * var(--to-rem));
  --font-size-xl: calc(24 * var(--to-rem));
  --font-size-2xl: clamp(24 * var(--to-rem), 1.3239rem + 0.7512vi, 32 * var(--to-rem));
  --font-size-3xl: clamp(32 * var(--to-rem), 1.8239rem + 0.7512vi, 40 * var(--to-rem));

	/* Space */
	--space-sm: clamp(16 * var(--to-rem), 0.824rem + 0.75vw, 24 * var(--to-rem));
  --space-md: clamp(16 * var(--to-rem), 0.648rem + 1.5vw, 32 * var(--to-rem));
  --space-lg: clamp(24 * var(--to-rem), 0.9718rem + 2.2535vi, 48 * var(--to-rem));

	/* Offset */
  --offset-sm: 5vi;
  --offset-md: 10vi;
  --offset-lg: 15vi;
}


/*-------------------------------------------------------------------------
 base setting
--------------------------------------------------------------------------*/
html {
	box-sizing: border-box;
}
*, *::before, *::after {
	box-sizing: inherit;
}

body, input, textarea, select, option, button {
  background: #fff;
  font-family: ESBuild,Meiryo,Osaka,Trebuchet MS,Tahoma,sans-serif;
	font-size: var(--font-size-base);
  line-height: 1.8;
  color: #232323;
}
body {
  position: relative;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
@media (max-width: 767px) {
}

a {
  /* color: var(--color-viridis); */
  text-decoration: none;
  transition: all 0.2s ease;
}
a:hover {
	color: var(--color-electricAzure);
}

p {
  margin-top: 1.2em;
  word-wrap: break-word;
}
p:first-child {
	margin-top: 0;
}
@media (max-width: 767px) {
  p {
    margin-top: .6em;
  }
}

ul, ol, li {
  margin: 0;
  padding: 0;
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* image
----------------------------------------------------------- */
a img, 
img {
	border: 0;
	-ms-interpolation-mode: bicubic;
	vertical-align: bottom;
}
.img-responsive{
	display: block;
	margin: 0 auto;
	width: 100%;
	height: auto;
}



/*=========================================================================
//
// Utility
//
==========================================================================*/
/* display
----------------------------------------------------------- */
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-center { text-align: center; }

.left { float: left; }
.right { float: right; }

.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}
.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}
.aligncenter {
  clear: both;
  display: block;
  margin: 0 auto;
}

.Enable { display: inline-block; }
.Disable { display: none; }
.pcDisable { display: none !important; }

.display_pc{ display: none; }
.display_sp{ display: none; }


/* margin, padding
----------------------------------------------------------- */
.mt-0 { margin-top: 0 !important; }
.mt-5 { margin-top: 5px !important; }
.mt-10 { margin-top: 10px !important; }
.mt-15 { margin-top: 15px !important; }
.mt-20 { margin-top: 20px !important; }
.mt-25 { margin-top: 25px !important; }
.mt-30 { margin-top: 30px !important; }
.mt-35 { margin-top: 35px !important; }
.mt-40 { margin-top: 40px !important; }
.mt-45 { margin-top: 45px !important; }
.mt-50 { margin-top: 50px !important; }

.mb-0 { margin-bottom: 0 !important; }
.mb-5 { margin-bottom: 5px !important; }
.mb-10 { margin-bottom: 10px !important; }
.mb-15 { margin-bottom: 15px !important; }
.mb-20 { margin-bottom: 20px !important; }
.mb-25 { margin-bottom: 25px !important; }
.mb-30 { margin-bottom: 30px !important; }
.mb-35 { margin-bottom: 35px !important; }
.mb-40 { margin-bottom: 40px !important; }
.mb-45 { margin-bottom: 45px !important; }
.mb-50 { margin-bottom: 50px !important; }

.ml-0 { margin-left: 0 !important; }
.ml-5 { margin-left: 5px !important; }
.ml-10 { margin-left: 10px !important; }
.ml-15 { margin-left: 15px !important; }
.ml-20 { margin-left: 20px !important; }
.ml-25 { margin-left: 25px !important; }
.ml-30 { margin-left: 30px !important; }
.ml-35 { margin-left: 35px !important; }
.ml-40 { margin-left: 40px !important; }
.ml-45 {  margin-left: 45px !important; }
.ml-50 { margin-left: 50px !important; }

.pt-0 { padding-top: 0 !important; }
.pt-5 { padding-top: 5px !important; }
.pt-10 { padding-top: 10px !important; }
.pt-15 { padding-top: 15px !important; }
.pt-20 { padding-top: 20px !important; }
.pt-25 { padding-top: 25px !important; }
.pt-30 { padding-top: 30px !important; }
.pt-35 { padding-top: 35px !important; }
.pt-40 { padding-top: 40px !important; }
.pt-45 { padding-top: 45px !important; }
.pt-50 { padding-top: 50px !important; }

/* width
--------------------------------------------------------*/
.width-5 { width: 5% !important; }
.width-10 { width: 10% !important; }
.width-15 { width: 15% !important; }
.width-20 { width: 20% !important; }
.width-25 { width: 25% !important; }
.width-30 { width: 30% !important; }
.width-35 { width: 35% !important; }
.width-40 { width: 40% !important; }
.width-45 {  width: 45% !important; }
.width-50 { width: 50% !important; }
.width-55 { width: 55% !important; }
.width-60 { width: 60% !important; }
.width-65 { width: 65% !important; }
.width-70 { width: 70% !important; }
.width-75 { width: 75% !important; }
.width-80 { width: 80% !important; }
.width-85 { width: 85% !important; }
.width-90 { width: 90% !important; }
.width-95 { width: 95% !important; }
.width-100 { width: 100% !important; }
.width-33 { width: 33% !important; }
.width-full { width: 100% !important; }

/* text
--------------------------------------------------------*/
.bold {  font-weight: bold !important; }
.normal {  font-weight: normal !important; }

.note {
  margin-top: .5em;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 12px;
}

/* hr
--------------------------------------------------------*/
hr {
  border: 0;
  border-top: 1px solid #ccc;
  margin: 0;
  padding: 0;
}


/*=========================================================================
//
// Layout
//
==========================================================================*/
/*
 header
--------------------------------------------------------------------------*/
.l-header{
	position: fixed;
	padding: clamp(1.25rem, 0.986rem + 1.13vw, 2rem);
	width: 100vi;
  z-index: 3;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-inline: var(--offset-sm);

	.logo{
    width: clamp(6.25rem, -1.442rem + 12.02vw, 9.375rem);
	}
}
.l-header.blur{
	backdrop-filter: blur(16px);
}
@media screen and (max-width: 1024px) {
	/* .l-header{
		.logo{
			width: 100px;
		}
	} */
}

.pc-nav ul{
	display: flex;
	gap: 2em;
	font-weight: bold;

	li:not(:first-child).current a{
		color: var(--color-electricAzure);
	}
	li:first-child{
		visibility: hidden;
	}

	.cta-btn{

		a{
			border: 2px solid var(--color-electricAzure);
			color: var(--color-electricAzure);
			border-radius: 6px;
			padding: .75rem 2.5rem;

			&:hover{
				text-decoration: none;
			}
		}
		a:hover{
			background: var(--color-electricAzure);
			color: #fff;
		}
	}
}
@media screen and (max-width: 1024px) {
    .pc-nav{
        display: none;
    }
}


/*===========================================================*/
/* sp-nav */
/*===========================================================*/
#g-nav{
  position:fixed;
  z-index: 999;
	bottom:-120%;
	width:100%;
  height: 100vh;
	background: rgba(0,0,0,.9);
	transition: all 0.6s;
}
/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
  bottom: 0;
}
/*ナビゲーションの縦スクロール*/
#g-nav #g-nav-list{
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 999; 
  width: 100%;
  height: 100vh;/*表示する高さ*/
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
/*ナビゲーション*/
#g-nav ul {
  /*ナビゲーション天地中央揃え*/
  position: absolute;
  z-index: 999;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
}

/*リストのレイアウト設定*/
#g-nav li{
  list-style: none;
  text-align: center; 
}
#g-nav li a{
  font-size: 1.2rem;
  color: #fff;
  text-decoration: none;
  padding:10px;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: bold;
}

#g-nav.panelactive li:last-child a{
  margin: 30px 0 0 0;
  padding: 10px 3em;
  /* background: #fff; */
  background: var(--color-electricAzure);
  color: #fff;
  font-weight: bold;
  border-radius: 6px;
  white-space: nowrap;
}

/*pc-nav*/
@media screen and (max-width: 1024px) {
  #pc-nav{
    display: none;
  }
}

/*===========================================================*/
/* MENUが×に */
/*===========================================================*/
.openbtn{
	position: fixed;
  z-index: 9999;/*ボタンを最前面に*/
	top:0;
	right: 0;
	cursor: pointer;
	width: 70px;
	height: 70px;
	background: var(--color-electricAzure);
	display: none;
}
@media screen and (max-width: 1024px) {
	.openbtn{
		display: block;
	}
}
	
/*ボタン内側*/
.openbtn span{
	display: inline-block;
	transition: all .4s;
	position: absolute;
}
.openbtn span:nth-of-type(1),
.openbtn span:nth-of-type(3) {
  height: 2px;
	background: #fff;
	width:30%;
	opacity: 0;
	top:22px;
	left:20px;
 }
.openbtn span:nth-of-type(2) {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-transform: uppercase;
	color: #fff;
  font-size: 0.9rem;
}
@media screen and (max-width:550px) {
.openbtn span:nth-of-type(2) {
    font-size: 0.8rem;
  }  
}
.openbtn span:nth-of-type(3) {
  top:35px;
}

/*activeクラスが付与されると線が回転して×になり、Menu表記をしている2つ目の要素が透過して消える*/
.openbtn.active span:nth-of-type(1),
.openbtn.active span:nth-of-type(3) {
  opacity:1;
}
.openbtn.active span:nth-of-type(1) {
	top: 28px;
	left: 30px;
	transform: translateY(6px) rotate(-45deg);
}
.openbtn.active span:nth-of-type(2) {
	opacity:0;
}
.openbtn.active span:nth-of-type(3){
	top: 40px;
	left: 30px;
	transform: translateY(-6px) rotate(45deg);
}




/*
 footer
--------------------------------------------------------------------------*/
.l-footer{
	padding-block: clamp(3.75rem, 3.31rem + 1.88vw, 5rem);
	backdrop-filter: blur(10px);
	position: relative;

	.l-container{
		display: flex;
		justify-content: space-between;
	}
}
@media (max-width: 767px) {
	.l-footer{
		.l-container{
			flex-direction: column;
		}
	}
}


.l-footer__inner{
	display: flex;
	flex-direction: column;
	gap: 2rem;
}
@media (max-width: 767px) {
	.l-footer__inner{
		flex-direction: column;
		gap: 2rem;
	}
}
.l-footer__copyright{

	ul{
		display: flex;
		gap: 1rem;
		font-size: clamp(0.688rem, 0.621rem + 0.28vw, 0.875rem);
	}
}
@media (max-width: 767px) {
	.l-footer__copyright{

		ul{
			flex-direction: column;
			gap: 0;
		}
	}
}

.l-footer__sns{
	display: flex;
	gap: 2rem;
	align-items: center;

	li{
		width: 20px;
		height: auto;
	}
	li:hover svg{
		fill: var(--color-electricAzure);
	}
}

/*
 main
--------------------------------------------------------------------------*/
.l-main{
	backdrop-filter: blur(1px);
	z-index: 3;
}
@media (max-width: 767px) {
	.l-main{

	}
}

/*
 container
--------------------------------------------------------------------------*/
.l-container {
	padding-inline: var(--offset-md);
  /* max-width: 1100px; */
  margin: 0 auto;
  position: relative;
}
@media (max-width: 1024px) {
	.l-container{
		padding-inline: var(--offset-sm);
	}
}


/*=========================================================================
//
// Module
//
==========================================================================*/
/*-------------------------------------------------------------------------
 list
--------------------------------------------------------------------------*/
/* ドットリスト
--------------------------------------------------------*/
.list-dot > li {
  position: relative;
  padding-left: 1.2em;
}
.list-dot > li:before {
  content: "・";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

/* ドットリスト（大）
--------------------------------------------------------*/
.list-disc > li {
  margin-left: 25px;
  list-style: disc;
}

/* スクエアリスト
--------------------------------------------------------*/
.list-square > li {
  position: relative;
  padding-left: 1.2em;
}
.list-square > li:before {
  content: "■";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

/* アイコンなしリスト
--------------------------------------------------------*/
.list-nomark > li {
  margin-top: .4em;
  list-style: none;
}
@media (max-width: 767px) {
  .list-nomark > li {
    margin-top: .2em;
  }
}

/* 数字リスト
--------------------------------------------------------*/
.list-num > li {
  list-style-type: decimal;
  margin-left: 1.7em;
}

/* 数字リスト
--------------------------------------------------------*/
.list-num2{
	counter-reset:number;
  list-style-type: none!important;
  padding:0.5em;
}
.list-num2 > li {
  position: relative;
  border-bottom: dotted 1px #F2AF00;
  padding-left: 30px;
  line-height: 1.5em;
  padding: 0.5em 0.5em 0.5em 30px;
  font-weight: bold;
}
.list-num2 > li:last-of-type {
  border-bottom: none;
}
.list-num2 > li:before {
	position: absolute;
  counter-increment: number;
  content: counter(number);
  /*以下数字のデザイン変える*/
  display:inline-block;
  background: #F2AF00;
  color: white;
  font-weight:bold;
  font-size: 15px;
  border-radius: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  /*以下 上下中央寄せのため*/
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

/* 小文字のアルファベットリスト
--------------------------------------------------------*/
.list-alpha > li {
  list-style-type: lower-alpha;
  margin-left: 1.7em;
}

/* 注釈リスト
--------------------------------------------------------*/
.list-note {
  margin-top: .5em;
  padding-left: 1em;
}
.list-note > li {
  margin-top: .2em;
  text-indent: -1em;
}

/* 注釈リスト2
--------------------------------------------------------*/
.list-note2 > li {
  position: relative;
  padding-left: 1.2em;
  font-size: .9em;
}
.list-note2 > li:before {
  content: "※";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

/* 注釈リスト3
--------------------------------------------------------*/
.list-note3 > li {
  position: relative;
  padding-left: .75em;
}
.list-note3 > li:before {
  content: "-";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

/* インラインリスト
--------------------------------------------------------*/
.list-inline {
  overflow: hidden;
}

.list-inline > li {
  float: left;
  margin: .35em 40px 0 0;
}

.list-inline > li:last-child {
  margin-right: 0;
}

/* リンクリスト
--------------------------------------------------------*/
.linklist > li > a {
  position: relative;
  display: inline-block;
  padding-left: 18px;
  text-decoration: none;
}
.linklist > li > a:hover {
  color: #a00;
}
.linklist > li > a:hover:before {
  border-color: #a00;
}
.linklist > li > a:before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 7px;
  left: 0;
  width: 5px;
  height: 5px;
  border-top: 2px solid #c00;
  border-right: 2px solid #c00;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media (max-width: 600px) {
  .linklist > li > a {
    padding-left: 18px;
  }
  .linklist > li > a:before {
    top: 5px;
  }
}

/*-------------------------------------------------------------------------
 icon
--------------------------------------------------------------------------*/
/* svg
--------------------------------------------------------*/
.defs{
	display: none;
}

.icon-hoge {
	
}
@media (max-width: 767px) {
  .icon-hoge {
  
  }
}


/*-------------------------------------------------------------------------
 CTA
--------------------------------------------------------------------------*/
/* cta-section
--------------------------------------------------------*/
.cta-section{
	position: relative;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding-block: clamp(3.75rem, 2.87rem + 3.76vw, 6.25rem);
	padding-inline: var(--offset-sm);

	p{
		color: #3700ff;
		font-weight: bold;
		margin-block-end: 1rem;
	}

	a{
		background: var(--color-electricAzure);
		color: #fff;
		padding: .75rem 4.5rem;
		font-weight: bold;
		border-radius: 6px;
		font-size: var(--font-size-lg);
		overflow: hidden;
		position: relative;
		z-index: 1;
	}
	a:hover{
		background: #283e8e;
	}
}
@media (max-width: 767px) {
	
}

/* cta-div
--------------------------------------------------------*/
.cta-div{
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-block-start: clamp(3.75rem, 2.87rem + 3.76vw, 6.25rem);

	p{
		color: #3700ff;
		font-weight: bold;
		margin-block-end: 1rem;
	}
	a{
		background: var(--color-electricAzure);
		color: #fff;
		padding: .75rem 4.5rem;
		font-weight: bold;
		border-radius: 6px;
		font-size: var(--font-size-lg);
		overflow: hidden;
		position: relative;
		z-index: 1;
	}
	a:hover{
		background: #283e8e;
	}
}



/*=========================================================================
//
// Theme(look&feel)
//
==========================================================================*/
/*-------------------------------------------------------------------------
 heading
--------------------------------------------------------------------------*/
.section-ttl{
	display: flex;
	flex-direction: column;
	/* text-align: center; */
	margin-bottom: var(--space-lg);

	.en{
		font-size: var(--font-size-3xl);
		color: var(--color-viridis);
	}
	.jp{
		font-size: .9rem;
	}
}
@media (max-width: 767px) {
}

#customer .section-ttl,
#partner .section-ttl{
	margin-bottom: var(--space-md);
}

.section-ttl__min{
	display: flex;
	flex-direction: column;
	margin-bottom: var(--space-md);

	.en{
		font-size: var(--font-size-2xl);
		color: var(--color-darkMineral);
	}
	.jp{
		font-size: .9rem;
	}
}
.speaker-list + .section-ttl__min,
.speaker-list__min + .section-ttl__min{
	margin-top: var(--space-lg);
}


/*-------------------------------------------------------------------------
 section
--------------------------------------------------------------------------*/
.section {
	position: relative;
	padding: clamp(3.75rem, 3.31rem + 1.88vw, 5rem) 0;
	z-index: 2;
}
@media (max-width: 767px) {
}


/*-------------------------------------------------------------------------
 メインビジュアル
--------------------------------------------------------------------------*/
@keyframes hero-text01-anim {
	0% {
		transform:translateX(20px);
		opacity:0;
	}
	100% {
		transform:translateX(0);
		opacity: 1.0;
	}
}
@keyframes hero-text02-anim {
	0% {
		transform:translateX(20px);
		opacity:0;
	}
	100% {
		transform:translateX(0);
		opacity: 1.0;
	}
}
@keyframes hero-text03-anim {
	0% {
		transform:translateX(20px);
		opacity:0;
	}
	100% {
		transform:translateX(0);
		opacity: 1.0;
	}
}
@keyframes hero-btn-anim {
	0% {
		transform:translateX(20px);
		opacity:0;
	}
	100% {
		transform:translateX(0);
		opacity: 1.0;
	}
}

#index-hero{
	width: 100%;
	height: 100svh;
	position: relative;
	overflow: hidden;

	#index-hero_bg{
		position: fixed;
		width: 100%;
		height: 100vh;
		z-index: 0;
	}

	.hero-message{
		width: clamp(18.75rem, 3.345rem + 65.73vw, 62.5rem); /* 300 - 1120 */
		position: absolute;
		top: 52%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 1;

		.hero-text01{
			width: 100%;
			margin-bottom: var(--space-lg);
			transform:translateX(20px);
			opacity:0;
		}
		&.is-animate .hero-text01 {
			animation: hero-text01-anim 0.3s ease-out 0.3s forwards;
		}
		.hero-text01 .sp{
			display: none;
		}

		.hero-text02{
			font-size: clamp(1.125rem, 0.993rem + 0.56vw, 1.5rem); /* 20 - 32 */
			font-weight: bold;
			color: var(--color-electricAzure);
			transform:translateX(20px);
			opacity:0;
		}
		&.is-animate .hero-text02 {
			animation: hero-text02-anim 0.5s ease-out 0.5s forwards;
		}

		.hero-text03{
			width: 60%;
			transform:translateX(20px);
			opacity:0;
			@media screen and (max-width: 767px) {
				width: 100%;
			}
		}
		&.is-animate .hero-text03 {
			animation: hero-text01-anim 0.6s ease-out 0.6s forwards;
		}

		.hero-btn{
			margin-top: 100px;
			transform:translateX(20px);
			opacity:0;

			a{
				background: var(--color-electricAzure);
        color: #fff;
        padding: .75rem 4.5rem;
        font-weight: bold;
        border-radius: 6px;
        font-size: var(--font-size-lg);
				overflow: hidden;
				position: relative;
				z-index: 1;
			}
			a:hover{
				background: #283e8e;
			}
		}
		&.is-animate .hero-btn {
			animation: hero-btn-anim 0.8s ease-out 0.8s forwards;
		}

		img{
			width: 100%;
			height: auto;
		}
	}



	.hero-theme{
		position: absolute;
		bottom: 0;
		right: 0;
		width: 1000px;
		z-index: 1;
		opacity: .1;
	}
}
@media (max-width: 1024px) {
	#index-hero{
		.hero-theme{
			width: 100%;
		}
		& .hero-message {
			.hero-text01 .sp{
				display: block;
			}
			.hero-text01 .pc{
				display: none;
			}
		}
		
	}
}

/* ------------------------ 
	scrolldown
------------------------ */
.scrolldown{
	position: fixed;
	bottom: 30px;
	left: 50%;
	z-index: 0;
}
/*Scrollテキストの描写*/
.scrolldown span{
	/*描画位置*/
	position: absolute;
	left:10px;
	bottom:10px;
	/*テキストの形状*/
	color: var(--color-electricAzure);
	font-size: .8rem;
	letter-spacing: 0.05em;
	/*縦書き設定*/
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

/* 丸の描写 */
.scrolldown:before {
	content: "";
	/*描画位置*/
	position: absolute;
	bottom:0;
	left:-4px;
	/*丸の形状*/
	width:10px;
	height:10px;
	border-radius: 50%;
	background:var(--color-electricAzure);
	/*丸の動き1.6秒かけて透過し、永遠にループ*/
	animation:
		circlemove 1.6s ease-in-out infinite,
		cirlemovehide 1.6s ease-out infinite;
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
			0%{bottom:45px;}
		100%{bottom:-5px;}
}

/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide{
			0%{opacity:0}
		50%{opacity:1;}
		80%{opacity:0.9;}
	100%{opacity:0;}
}

/* 線の描写 */
.scrolldown:after{
	content:"";
		/*描画位置*/
	position: absolute;
	bottom:0;
	left:0;
		/*線の形状*/
	width:2px;
	height: 50px;
	background:var(--color-electricAzure);
}



/*-------------------------------------------------------------------------
 local
--------------------------------------------------------------------------*/
/* common
--------------------------------------------------------*/
/* js-fadeup */
.js-fadeUp {
	opacity: 0; /* 最初は非表示 */
  transform: translateY(30px); /* 下に30pxの位置から */
  transition: opacity .8s, transform .8s; /* 透過率と縦方向の移動を0.8秒 */
}
.js-fadeUp.is-inview {
  opacity: 1; /* 表示領域に入ったら表示 */
  transform: translateY(0); /* 30px上に移動する */
  transition-delay: .5s; 
}
.js-fadeUp.is-inview:nth-of-type(2n-1) {
	transition-delay: .1s;
}
.js-fadeUp.is-inview:nth-of-type(2n) {
	transition-delay: .3s;
}

.speaker-list,
.logo-list{
	.js-fadeUp.is-inview:nth-of-type(4n-3) {
		transition-delay: 0s;
	}
	.js-fadeUp.is-inview:nth-of-type(4n-2) {
		transition-delay: .2s;
	}
	.js-fadeUp.is-inview:nth-of-type(4n-1) {
		transition-delay: .4s;
	}
	.js-fadeUp.is-inview:nth-of-type(4n) {
		transition-delay: .6s;
	}
}
.speaker-list__min,
.card-list{
	.js-fadeUp.is-inview:nth-of-type(3n-2) {
		transition-delay: 0s;
	}
	.js-fadeUp.is-inview:nth-of-type(3n-1) {
		transition-delay: .2s;
	}
	.js-fadeUp.is-inview:nth-of-type(3n) {
		transition-delay: .4s;
	}
}
#customer .logo-list{
	.js-fadeUp.is-inview:nth-of-type(6n-5) {
		transition-delay: 0s;
	}
	.js-fadeUp.is-inview:nth-of-type(6n-4) {
		transition-delay: .1s;
	}
	.js-fadeUp.is-inview:nth-of-type(6n-3) {
		transition-delay: .2s;
	}
	.js-fadeUp.is-inview:nth-of-type(6n-2) {
		transition-delay: .3s;
	}
	.js-fadeUp.is-inview:nth-of-type(6n-1) {
		transition-delay: .4s;
	}
	.js-fadeUp.is-inview:nth-of-type(6n) {
		transition-delay: .5s;
	}
}


/* 開催概要
--------------------------------------------------------*/
#outline{
	background: rgba(255, 255, 255, 0.8);
	border-top-left-radius: 30% 30vw;
	padding-bottom: 0;

	.l-container{
		display: flex;
		flex-direction: column;
	}

	.outline-text{
		font-size: clamp(1rem, 0.956rem + 0.19vw, 1.125rem); /* 16 - 18 */
		margin: clamp(3.75rem, 2.87rem + 3.76vw, 6.25rem) auto 0;
		display: flex;
		flex-direction: column;
		gap: 1rem;
		width: 90%;
		/* align-items: center; */
	}

	.outline-inner{
		width: 80%;
		margin: 0 auto;
	}
	.section-ttl{
		margin-block: var(--space-lg);
	}
}
@media (max-width: 1024px) {
	#outline{
		.outline-text{
			width: 100%;
		}
		.outline-inner{
			width: 100%;
			margin: 0 auto;
		}
	}
	
}

/*. */
.outline-table{

	li{
		display:flex;
		gap: 1rem;
	}
	span{
		display: block;
		width: 25%;
		padding: 24px 18px;
		border-bottom: 1px solid var(--color-darkMineral);	
	}
	li:first-child span,
	li:first-child p{
		border-top: 1px solid var(--color-darkMineral);
	}
	p{
		flex: 1;
		padding: 24px 18px;
		border-bottom: 1px solid var(--color-darkMineral);
		margin: 0;
		font-weight: bold;
	}
}

/* TOPICS */
.topics-grid{
	margin-top: var(--space-lg);

	.topics-list{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 2rem;
	}
	li{
		width: calc( 100% / 2 - 1rem );
		position: relative;
		
		span{
			position: absolute;
			top: 0;
			left: 0;
			background: var(--color-darkMineral);
			padding: 0 1rem;
			color: #fff;
		}
	}
	img{
		border: 1px solid #f4f4f4;
		width: 100%;
	}
}
@media (max-width: 767px) {
	.topics-grid{
		.topics-list{
			flex-direction: column;
		}
		li{
			width: 100%;
		}
	}
}

/* アジェンダ
--------------------------------------------------------*/
#agenda{
	background: rgba(255, 255, 255, 0.8);
	border-bottom-right-radius: 20% 20vw;
}

/* タブ（gridtab）
--------------------------------------------------------*/
.gridtab{
	
}
.gridtab--0 > dt {
  margin: -2px 0 0 -2px;
	flex: 1;
  padding: 1em !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  /**/
  text-align: center;
  font-weight: bold;
  position: relative;
  cursor: pointer;
}
.gridtab--0 > dt.is-active{
	border-top-color: var(--color-darkMineral) !important;
	border-top-width: 3px !important;
	background: none !important;
}
.gridtab--0 > dt:not(.is-active):hover{
	background: rgba(0,0,0,.1);
}
.gridtab--0 > dt span:first-child{
  padding: 0 clamp(0.5rem, 0.324rem + 0.75vw, 1rem);
  font-weight: normal;
	background: var(--color-darkMineral);
	color: #fff;
	margin-right: .5em;
}
.gridtab--0 > dt span:nth-child(2){
	font-size: clamp(1rem, 0.956rem + 0.19vw, 1.125rem);
}
.gridtab--0 > dt span:last-child{
	display: block;
	font-size: clamp(1.125rem, 0.817rem + 1.31vw, 2rem);
	/* font-size: var(--font-size-2xl); */
}
.gridtab--0>dd {
  min-width: calc(100% + 2px);
  max-width: calc(100% + 2px);
  margin: -2px 0 0 -2px !important;
  /* border-width: 2px; */
  border: none !important;
  /* border-color: #f6f6f6 !important; */
  /* padding: 35px; */
  padding: 35px 0 !important;
  background: none !important;
}
@media ( max-width : 767px ) {
	.gridtab--0 > dt {
		font-size: 100%;
		position: relative;
	}
	.gridtab--0 > dt span{
		margin-right: 0;
	}
}

/* module-table
--------------------------------------------------------*/
.module-table{
	width: 100%;
	border-top: 1px solid var(--color-frenchGrey);
}
.module-table tr{
	
}
.module-table th{
	width: 20%;
	text-align: left;
	border-bottom: 1px solid var(--color-frenchGrey);
	text-align: center;
	/* background: rgba(255,255,255,0.4); */
}
.module-table td{
	padding: 1.5em 2em;
	border-bottom: 1px solid var(--color-frenchGrey);
	background: #fff;

	.tag{
		border-radius: 3px;
		padding: 2px 1rem;
		font-size: .8rem;
		font-weight: bold;
		color: #fff;
	}
}
.col-veeam td{
	/* background: rgba(156, 255, 163, .1); */
	.tag{
		background: var(--color-viridis)
	}
}
.col-keynote td{
	/* background: rgba(254, 138, 37, .1); */
	.tag{
		background: var(--color-suma);
	}
}
.col-customer td{
	/* background: rgba(255, 216, 57, .1); */
	.tag{
		background: var(--color-sol);
		color: var(--color-darkMineral);
	}
}
.col-partner td{
	/* background: rgba(87, 224, 255, .1); */
	.tag{
		background: var(--color-sky);
	}
}


/* .module-table span{
	display: block;
} */
.module-table .title{
	font-weight: bold;
	margin-top: .5rem;
	color: #000;
	font-size: 1.1rem;
}
.module-table .sub-title{
	margin: 0;
}



.summary_wrap{
}
.module-table .summary{
	margin: .5em 0 0;
}
@media (max-width: 767px) {
  .module-table th,
  .module-table td{
  	width: 100%;
  	display: block;
  }
	.module-table th{
		padding: 1em 1.5em;
		text-align: left;
		border-bottom: none;
	}
	.module-table td{
		padding: 1.5em;
	}
}

/* スピーカー画像あり */
.speaker-area{
	margin-top: 1rem;
	display:flex;
	gap: 1em;
	position: relative;

	> figure{
		width: 120px;
		margin: 0;

		img{
			width: 100%;
		}
	}

	.speaker{
		font-size: .8rem;

		span{
			display: block;
			font-weight: bold;
			font-size: 1.1rem;
		}

		> figure{
			width: 100px;
			position: absolute;
			right: 0;
			bottom: 0;
		}
	}
}

@media (max-width: 767px) {
	.speaker-area figure{
		width: 30%;
	}
	.speaker-area .speaker{
		width: 70%;
	}
}


/* スピーカー
--------------------------------------------------------*/
#speaker{
	background: #f6f6f6;
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),
	linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
	background-size: 16px 16px;
	background-repeat: repeat;
	background-position: center center;

	.speaker-list{
		display: flex;
		flex-wrap: wrap;
		/* justify-content: space-between; */
		gap: 3rem;

		li{
			width: calc( 100% / 4 - 3rem);
		}
		/* li:hover img{ opacity: .8; }
		li:hover p{ color: var(--color-electricAzure); } */
		.name{
			font-weight: bold;
			font-size: clamp(1rem, 0.956rem + 0.19vw, 1.125rem);
		}
		.job{
			margin: 0;
			font-size: clamp(0.688rem, 0.643rem + 0.19vw, 0.813rem);
		}
	}
	

	.speaker-list__min{
		display: flex;
		flex-wrap: wrap;
		gap: 3rem;

		li{
			width: calc( 100% / 3 - 3rem);
			display: flex;
			gap: 1rem;
		}
		figure{
			flex: 1;
		}
		div{
			flex: 1;
		}
		.name{
			font-weight: bold;
			font-size: clamp(1rem, 0.956rem + 0.19vw, 1.125rem);
		}
		.job{
			margin: 0;
			font-size: clamp(0.688rem, 0.665rem + 0.09vw, 0.75rem);
			/* font-size: clamp(0.688rem, 0.643rem + 0.19vw, 0.813rem); */
		}
	}
}
@media (max-width: 1024px) {
	#speaker{

		.speaker-list{
			gap: 1rem;

			li{
				width: calc( 100% / 2 - 1rem);
			}
		}
		.speaker-list__min{
			gap: 1rem;

			li{
				width: calc( 100% / 2 - 1rem);
			}
		}
	}
}

.speaker-tag{
	color: #000;
	font-weight: bold;
	margin-bottom: 1rem;
}


/* お客様
--------------------------------------------------------*/
#customer{
	background: #fff;
	margin-bottom: clamp(3.75rem, 3.31rem + 1.88vw, 5rem);
	/* padding-bottom: 0; */

	.logo-list{
		display: flex;
		flex-wrap: wrap;
		/* gap: 1rem; */
		/* margin-bottom: clamp(2.5rem, 2.148rem + 1.5vw, 3.5rem); */
		margin-bottom: clamp(1.5rem, 1.324rem + 0.75vw, 2rem);

		li{
			width: calc( 100% / 5 );
		}

		img{
			width: 100%;
		}
	}
}
@media (max-width: 1120px) {
	#customer{
		.logo-list{
			li{
				width: calc( 100% / 4 );
			}
		}
	}
}
@media (max-width: 640px) {
	#customer{
		.logo-list{

			li{
				width: calc( 100% / 2 );
			}
		}
	}
}

.link-caseStudies{
	text-align: center;
	margin-top: clamp(2.5rem, 2.148rem + 1.5vw, 3.5rem);
	font-size: clamp(1rem, 0.956rem + 0.19vw, 1.125rem);

	a{
		color: #fff;
		background: var(--color-viridis);
		border: 2px solid var(--color-viridis);
		padding: .5em 1em;
		font-size: clamp(0.75rem, 0.662rem + 0.38vw, 1rem);
		border-radius: 6px;
		font-weight: bold;
	}
	a:hover{
		background: #fff;
		color: var(--color-viridis);
	}
}

/* パートナー
--------------------------------------------------------*/
#partner{
	background: #fff;
	border-bottom-right-radius: 20% 20vw;
	padding-bottom: clamp(4.375rem, 1.514rem + 12.21vw, 12.5rem);

	.logo-list{
		display: flex;
		flex-wrap: wrap;
		gap: 2rem;
		margin-bottom: clamp(2.5rem, 2.148rem + 1.5vw, 3.5rem);

		li{
			width: calc( 100% / 4 - 2rem );
		}

		img{
			width: 100%;
		}
	}
}

/* card
--------------------------------------------------------*/
#card{
	background: #fff;
	padding-bottom: 0;
	
	.card-ttl{
		display: flex;
		flex-direction: column;
		margin-bottom: var(--space-lg);
		line-height: 1.4;

		span{
			font-size: var(--font-size-3xl);
			color: var(--color-viridis);
		}
		span:first-child{
			color: #000;
		}
	}

	.card-list{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: rem;
		margin: 0 auto;
	}
	li{
		width: calc( 100% / 3 - 2rem );
		border-radius: 4px;
		box-shadow: -16px 36px 52px 0 rgba(80,88,97,.18),-9px 10px 32px 0 rgba(255,255,255,.29);
		padding: clamp(1.5rem, 1.324rem + 0.75vw, 2rem);
		display: flex;
		flex-direction: column;
	}
	.card-list_ttl{
		font-weight: bold;
		font-size: var(--font-size-lg);
	}
	.card-list_txt{
		margin: 0 0 2rem;
	}

	figure{
		width: 90px;
	}
	img{
		width: 100%;
	}

	a{
		border: 2px solid var(--color-electricAzure);
		color: var(--color-electricAzure);
		border-radius: 6px;
		padding: .5rem 1rem;
		font-weight: bold;

		&:hover{
			text-decoration: none;
		}
	}
	a:hover{
		background: var(--color-electricAzure);
		color: #fff;
	}
}
@media (max-width: 1024px) {
	#card{

		.card-list{

		}
		li{
			width: calc( 100% / 2 - 2rem );
		}
	}
}
@media (max-width: 767px) {
	#card{
		padding-bottom: clamp(3.75rem, 3.31rem + 1.88vw, 5rem);

		.card-list{
			width: 90%;
		}
		li{
			width: 100%;
		}
	}
}


/*==================================

===================================*/
/*中の要素*/
.bgappear{
	animation-name:bgextendAnimeSecond;
	animation-duration:1s;
	animation-delay: 0.6s;
	animation-fill-mode:forwards;
	opacity: 0;
}
@keyframes bgextendAnimeSecond{
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
}
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgappearTrigger{
    opacity: 0;
}


/*====================================
/* svg message */
/*===================================*/
.svg-message{
	position: relative;
	margin-top: clamp(3.75rem, 3.31rem + 1.88vw, 5rem);
	padding-inline: clamp(3.75rem, 2.87rem + 3.76vw, 6.25rem);
}
#text{
	width: 100%;
	margin: 0 auto;
	display: block;
	path:not(.visible) {
		fill-opacity: 0;
	}

	.st0 {
		fill: none;
		stroke: rgba(0, 209, 95, .5);
	}
}
@media (max-width: 767px) {
	.svg-message{
		display: none;
	}
}



/* coming soon */
.comingsoon{
	text-align: center;
	color: var(--color-frenchGrey);
	font-size: var(--font-size-3xl);
}