/*------------------------------------*/
/* original css by Nihon Digicom inc. */
/*------------------------------------*/
.sp_v{display: none;}
.sp_n{display: block;}
.container{width: 100%;}

.mb0{
	margin-bottom: 1.5rem;
}

ul{
	padding-inline-start: 0;
}
li{
	list-style-type: none;
}
dl.detail-list{
	display: flex;
}
.list-style-indent li{
	padding-left: 1rem;
    text-indent: -1rem;
}

.img img{
	width: 100%;
}

.bgYellow{
	background-color: #EEB900;
}
.bgYellow.pd{
	padding: 0.5rem 0;
}

.ttl_sideline{
	position: relative;
}
.ttl_sideline:before, .ttl_sideline:after{
	content: "";
	width: 30%;
    background-color: #1d3c62;
	height: 1px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.ttl_sideline:before{left: 0;content: none;}
.ttl_sideline:after{right: 0;content: none;}


/*flexアイテム*/
.flex{
	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
}
.flex.justify-sb{
	justify-content: center;
	gap: 50px;
}
.flex.col3 .item{
	width: 33%;
}
.flex.col4 .item{
	width: 24%;
}
.fles .item .img{
	width: 100%;
}
.flex.column{
	-webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
  	flex-direction: column;
}
@media screen and (max-width: 420px) {
	.sp_v{display: block;}
	.sp_n{display: none;}
	
	.ttl_sideline:before, .ttl_sideline:after{
		content: none;
	}
	
	/*flexアイテム*/
	.flex.col3 .item {
		width: 100%;
		margin-bottom: 20px;
	}
	.flex.col4 .item {
		width: 100%;
		margin-bottom: 20px;
	}
}

.caution{
	font-size: 0.75rem;
}

/*ナビゲーション*/
.navbar-softes.d-none{
	display: none !important;
}
.fixed-padding.scroll{
	padding-top: 20px;
}
@media screen and (max-width: 420px) {
	.navbar-softes{
		display: block !important;
	}
	.fixed-padding.scroll{
		padding-top: 70px;
	}
}


/*メインイメージ*/
#eyeCatch{
	margin-top: -20px;
}
#eyeCatch .logo{
	position: absolute;
	top: 20px;
	left: 5%;
}
h2.mainImg{
	margin-bottom: 0;
}
@media screen and (max-width: 420px) {
    #eyeCatch {
		margin-top: 0;
	}
	#eyeCatch .logo{ display: none;}
}

/*セミナー内容*/
.seminer-section{
	padding-top: 0;
	margin-top: 0;
	margin-left: -15px;
	margin-right: -15px;
}

.text{
	line-height: 1.25;
	font-weight: 400;
}

.serif{
    font-family: 'Noto Serif JP', serif;
}
.txtleft{text-align: left;}
.fw300{
	font-weight: 300;
}
.fw600{
	font-weight: bold;
}

.fp45{
	font-size: 45px;
}
.fp40{
	font-size: 40px;
}
.fp30{
	font-size: 30px;
}


.btn{
	background-color: #002f7b;
    margin-top: 30px;
    width: 50%;
    max-width: 450px;
	transition: .3s;
	cursor: pointer;
}
.btn .linkBtn{
	display: block;
    width: 100%;
    font-size: 1.5rem;
    font-weight: bold;
    color: #002f7b;
}
.btn .linkBtn:hover{
	text-decoration: none;
}
.btn.lo-Yellow:hover{
	background-color: #EEB900;
}
.btn.endBtn{
	background-color: #B6B6B6;
	cursor: default !important;
}
.btn.endBtn .linkBtn{
	color: #fff;
}

@media screen and (max-width: 420px) {
	.btn{
		width: 100%;
	}
}


/*導入*/
#pageIntro{
	background-color: #002f7b;
	color: #fff;
}
#pageIntro .title{
    font-size: 8rem;
    line-height: 1.8;
	letter-spacing: 1.25rem;
	font-weight: bold;
	text-align: left;
    text-align-last: justify;
	position: relative;
}
#pageIntro .title .DoW{
	font-size: 3rem;
	letter-spacing: 0;
    border: solid 1px #fff;
    padding: 10px 15px;
	vertical-align: 25%;
    /*position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);*/
}
#pageIntro .flex .info{
	width: 48%;
	text-align: left;
}
#pageIntro .info .venue{
	font-size: 3rem;
}

.map{
	width: 50%;
	max-width: 650px;
    /*max-height: 250px;*/
    overflow: hidden;
	margin: 0;
}
.map .google{
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}
.map .google iframe{
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#read{
	padding-top: 40px;
}
#read .title{
	font-size: 3rem;
	margin-bottom: 20px;
}
#read .title .sub{
	display: block;
	font-size: 24px;
	margin-bottom: 10px;
}
#read .title .fs36{
	font-size: 36px;
	display: block;
}
#read .title .title-middle{
	margin-bottom: 10px;
	display: block;
	font-size: 2rem;
}
#read .read{
	margin: 0 auto;
	max-width: 910px;
	line-height: 1.8;
}
#read .read .read-list{
	display: inline-block;
	text-align: left;
	margin: -10px auto 0px auto;
}
#read .text .fw600{
	font-size: 28px;
}
@media screen and (max-width: 768px) {
	#pageIntro .flex{
		flex-direction: column
	}
	#pageIntro .title{
		font-size: 4rem;
		letter-spacing: 0.5rem;
	}
	#pageIntro .title .DoW{
		font-size: 1.5rem;
        padding: 5px 10px;
	}
	#pageIntro .flex .info{
		width: 100%;
	}
	#pageIntro .info .venue {
		font-size: 2rem;
	}
	.map{
		width: 70%;
	}
}
@media screen and (max-width: 420px) {
	#pageIntro .container{
		width: 90%;
	}
	#pageIntro .title{
		font-size: 43px;
        letter-spacing: 2px;
		line-height: 1.25;
		margin-bottom: 5px;
	}
	#pageIntro .title .DoW {
		font-size: 18px;
		padding: 0 5px;
	}
	#pageIntro .flex .info{
		width: 100%;
	}
	#pageIntro .info .venue{
		font-size: 28px;
		margin-bottom: 0;
	}
	#pageIntro .info .address{
		line-height: 1.5;
	}
	
	#read .title{
		text-align: left;
		font-size: 35px;
		margin-bottom: 20px;
	}
	#read .title .sub{
		font-size: 23px;
	}
	#read .read{
		text-align: left;
	}
	#read .text .fw600{
		font-size: 23px;
	}
}

/*プログラム*/
#program{
	background-color: #002f7b;
	padding-top: 2rem;
}
.program-title{
	text-align: left;
	font-size: 1.5rem;
	color: #fff;
}
.program-title.start{
	text-align: left;
}
.program-list.opening{
	padding-top: 0;
	padding-bottom: 0;
}
.program-list.opening .flex-row{
	display: flex;
	flex-direction: row;
	justify-content: space-between
}
.program-list.opening .flex-row .list-ttl{
	display: flex;
}
.flex-row .list-ttl .time{
	margin-left: 0;
}
.flex-row .list-ttl .hello{
	margin-left: 13px;
	font-weight: 700;
	font-size: 28px;
}
.flex-row .name-r{
	margin-top: 18px;
	margin-right: 2rem;
}

.program-list{
	background-color: #fff;
	margin-bottom: 20px;
	line-height: 1.8;
	position: relative;
}

.program-list .list-ttl{
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
    position: relative;
	margin: 0 2rem 0 2rem;
}
.program-list .list-ttl .tag{
	font-size: 2.25rem;
	color: #002f7b;
	line-height: 1.25;
	margin-bottom: 10px;
	margin-top: 1.5rem;
}
.program-list .list-ttl .tag-black{
	font-size: 2.25rem;
	line-height: 1.25;
	margin-bottom: 10px;
	margin-top: 1.5rem;
}
.program-list .time{
    color: #000;
    font-size: 1.5rem;
	margin-left: 10px;
}
.program-list .title{
	font-size: 2.25rem;
    line-height: 1.25;
}
.program-list .name{
	line-height: 1.25;
}
.program-list .name a{
	color: black;
}
.program-list .name a:hover{
	text-decoration: none;
}
.flex-img{
	display: flex;
}
figure.itemImg{
	margin: 83px 2rem 0 0;
	width: 245%;
}
figure figcaption{
	line-height: 22px;
	font-size: 14px;
	word-break: keep-all;
}


@media screen and (min-width: 768px) and (max-width: 991px) {
	#pageIntro h3.title{
		font-size: 10vw;
	}
}

@media screen and (max-width: 991px) {
	.program-title{
		text-align: left;
		font-size: 20px;
    	margin-bottom: 20px;
	}
	.program-list.opening .flex-row{
		display: block;
	}
	.flex-row .list-ttl .hello{
		font-size: 24px;
	}
	.flex-row .name-r{
		margin: 0 0 0 2rem;
	}
	.program-list .list-ttl .tag, .program-list .time{
		font-size: 24px;
	}
	.program-list .title{
		font-size: 24px;
	}
	.intro-inner p{
		white-space: normal;
	}
}

@media screen and (max-width: 768px) {
	.flex-img{
		display: block;
		padding-top: 0.5rem;
	}
	figure.itemImg{
		margin-left: 2rem;
	}
} 
@media screen and (max-width: 575px){
	.anchor_img .flex{
		flex-direction: column;
	}
	.anchor_img figure{
		margin: auto;
		width: 100%;
		text-align: center;
		white-space: normal;
		word-break: keep-all;
		overflow-wrap: break-word;
	}
	.anchor_img figure img{
		padding: 0 10%
	}
}

/*講演者情報*/
.container-speaker{
    padding: 0 30px;
}
.speaker{
    background-color: #c9ebfd;
    padding: 1rem 2rem 0 2rem;
    margin-bottom: 40px;
    line-height: 1.8;
}
.speaker-profile{
    font-size: 18px;
    margin-bottom: 2px;
}
.speaker-info-row{
    display: flex;
    flex-direction: row;
}
.speaker-info{
    line-height: 1.8;
}
.speaker-img{
    margin-left: 1rem;
    min-width: 160px;
    padding-top: 7px;
}
@media screen and (max-width: 768px){
	.speaker-info-row{
		display: flex;
		flex-direction: column-reverse;
	}
	.speaker-img{
		max-width: 100px;
		text-align: center;
		margin: auto;
	}
	.speaker-profile{
		white-space: normal;
		word-break: keep-all;
		overflow-wrap: break-word;
	}
}
/*申し込み*/
.apply-area{
	text-align: center;
    margin-bottom: 55px;
}
.apply-area .btn-area{
	padding-top: 20px;
}
.apply-area .btn-apply.off{
    background-color: #bebebf;
    border-color: #bebebf;
	cursor: auto;
}
.apply-area .btn-apply.off:after{
	content: none;
}
.apply-area .btn-apply.off:hover {
    color: #fff;
}
.apply-area .two-part{
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
}
.apply-area .two-part .btn-apply{
	width: 130%;
}
.container-under{
	text-align: center;
}

@media screen and (max-width: 1024px) {
	.apply-area .btn-apply {
    	width: 100%;
		padding-right: 0;
		padding-left: 0;
	}
	.apply-area .two-part .btn-apply{
		width: 100%;
		margin-top: 0;
	}
}
@media screen and (max-width: 420px) {
	.map {
    	width: 100%;
	}
	.apply-area .btn-area {
		padding: 0;
	}
}

.event-detail-txt{
	margin-bottom: 4rem;
}

@media screen and (max-width: 420px) {
	.event-detail-txt{
		margin-bottom: 2rem;
	}
}




/*フォント*/
.blockTitle{
	font-size: 24px;
}


/*イントロ*/
.intro-inner{
    text-align: center;
	background-color: #ffffff;
	white-space: nowrap;
}

.intro-inner .aws-contents{
	padding-bottom: 1rem;
}

.intro-inner .inner-block{
	margin: 2rem 0 1rem;
}
.intro-inner .inner-block .box.first{
	margin-bottom: 1.5rem;
}
.intro-inner .inner-block .blue_ttl{
	font-size: 20px;
    color: #1d3c62;
}
.intro-inner .inner-block .box .title{
	color: #fff;
	background-color: #002f7b;
}