@charset "UTF-8";
@media screen and (max-width:768px) {
	:root{
	  --cl-green: #00FF89;
	  --fw-bold: 700;
	  --fw-semi-bold: 600;
	  --f-mincho: "ヒラギノ明朝 ProN","Hiragino Mincho ProN","游明朝",YuMincho,"HG明朝E","MS P明朝",MS PMincho,serif !important;
	  --f-inter: "Inter", sans-serif;
	  --scale: clamp(1, calc(1 + (100vw - 1280px) / 3200), 1.2);
	  --size-h2: clamp(20px,calc(20px + 8 * ((100vw - 1280px) / 640)),28px);
	  --size-h3: clamp(20px,calc(20px + 8 * ((100vw - 1280px) / 640)),28px);
	  --size-24: clamp(24px,calc(24px + 2 * ((100vw - 1280px) / 640)),26px);
	  --size-22: 4.5vw;
	  --size-20: clamp(20px,calc(20px + 2 * ((100vw - 1280px) / 640)),24px);
	  --size-15: clamp(15px,calc(15px + 2 * ((100vw - 1280px) / 640)),17px);
	  --size-16: clamp(16px,calc(16px + 2 * ((100vw - 1280px) / 640)),18px);
	  --size-18: clamp(18px,calc(18px + 2 * ((100vw - 1280px) / 640)),20px);
	  --size-p16: clamp(16px,calc(16px + 2 * ((100vw - 1280px) / 640)),18px);
	  --size-p14: clamp(14px,calc(14px + 2 * ((100vw - 1280px) / 640)),16px);
	  --size-11: clamp(11px,calc(11px + 2 * ((100vw - 1280px) / 640)),13px);
	}
	html,
	body {
    background: #000;
	}
	
	body { overflow-x: hidden; font-size: 3.733333333333333vw; line-height: 1.65; }
	.imgr img { display: block; max-width: 100%; height: auto; }
	.container { margin-right: auto; margin-left: auto; padding-left: 4vw; padding-right: 4vw; box-sizing: border-box; }
	.mar_au img { margin: 0 auto; }
	.break_sp { display: block; }
	.break_pc { display: contents; }
	.none_sp { display: none; }
	.sp { display: block; }
	.pc { display: none; }
	#wrapper { max-width: 768px; width: 100%; }
	.inner { padding: 0; }
	img { width: 100%; max-width: 100%; height: auto; }
	p { margin: 0 0 6vw 0; font-size: max(min(4vw, 15px), 16px);line-height: 1.65;}
	.wrap{padding: 0 4vw;}
	
	/*-- header --------------------------------
	------------------------------------------*/
	.sec_header{
		padding: 0;
	}
	.sec_header .logo{
		display: none;
	}
	.sec_header .fixed_bottom{
		position: fixed;
		bottom: 0;
		width: 100%;
		left: 0;
		z-index: 999;
		display: flex;
		justify-content: space-between;
	}
	.sec_header .btn_menu_sp{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 90px;
		background: #012325;
	}
	.sec_header .right_h .btn_h{
		width: calc(100% - 90px);
	}
	.sec_header .right_h .btn_h a{
		width: 100%;
		height: 45px;
		font-size: 22px;
		font-weight: 700;
		box-shadow: none;
		color: #002325;
	}
	.sec_header .right_h .btn_h a:hover{
		border-color: var(--cl-green);
		background: var(--cl-green);
		color: #003B3E;
	}
	body.open-nav .gnavi {
		opacity: 1;
		visibility: visible;
	}
	.sec_header .gnavi {
		position: fixed;
		right: 0;
		top: 0;
		height: 100%;
		width: 100%;
		z-index: 6;
		background: #00FF89;
		background: linear-gradient(220deg, rgba(0, 255, 137, 1) 0%, rgba(0, 160, 108, 1) 10%, rgba(0, 127, 95, 1) 16%, rgba(0, 90, 80, 1) 25%, rgba(0, 75, 71, 1) 36%, rgba(0, 59, 62, 1) 50%, rgba(0, 35, 37, 1) 69%);
		align-items: center;
		justify-content: center;
		display: flex;
		flex-wrap: wrap;
		color: #fff;
		transition: all .3s;
		opacity: 0;
		visibility: hidden
	}
	.sec_header .right_h ul{
		display: block;
		width: 100%;
		text-align: center;
	}
	.sec_header .right_h ul li a{
		text-align: center;
		padding: 4vw;
		display: block;
		width: 100%;
		font-size: 6vw;
	}
	#menu-toggle {
		width: 40px;
		height: 16px;
		transform: rotate(0deg);
		transition: .3s ease-in-out;
		cursor: pointer;
		position: relative;
		z-index: 60
	}

	#menu-toggle span {
		display: block;
		position: absolute;
		height: 2px;
		width: 100%;
		background: #fff;
		right: 0%;
		transform: rotate(0deg);
		transition: .25s ease-in-out
	}

	#menu-toggle span:nth-child(1) {
		top: 0px
	}

	#menu-toggle span:nth-child(2),
	#menu-toggle span:nth-child(3) {
		top: 8px
	}

	#menu-toggle span:nth-child(4) {
		top: 16px;
	}

	#menu-toggle.open span {
		background-color: #fff
	}

	#menu-toggle.open span:nth-child(1),
	#menu-toggle.open span:nth-child(4) {
		width: 0%
	}

	#menu-toggle.open span:nth-child(2) {
		transform: rotate(30deg)
	}

	#menu-toggle.open span:nth-child(3) {
		transform: rotate(-30deg)
	}
	/*-- /header -------------------------------
	------------------------------------------*/
	
	/*-- fv -----------------------------------
	------------------------------------------*/
	.sec_fv{
		background: #00FF89;
		background: linear-gradient(220deg, rgba(0, 255, 137, 1) 0%, rgba(0, 160, 108, 1) 9%, rgba(0, 127, 95, 1) 16%, rgba(0, 90, 80, 1) 25%, rgba(0, 75, 71, 1) 36%, rgba(0, 59, 62, 1) 50%, rgba(0, 35, 37, 1) 69%);
	}
	.sec_fv,
	.sec_fv .inner{
		height: 100vh;
		position: relative;
	}
	.logo_x_fv{
		padding: 0% 0 0 0;
		line-height: 0;
		height: auto;
		position: relative;
		display: flex;
		align-items: flex-start;
		flex-wrap: wrap;
		justify-content: center;
	}
	.sec_fv .cath_coppy{
		position: absolute;
		transform: unset;
		padding: 0;
		height: auto;
		top: 30%;
	}
	.sec_fv .cath_coppy h2{
		margin-top: 0;
	}
	.logo_fv img{
		max-width: 300px;
	}
	.sec_fv .fv_bottom{
		text-align: center;
		margin: 48% auto 0;
	}
	.sec_fv .fv_bottom .size32{
		font-size: 4.5vw;
		line-height: normal;
	}
	.sec_fv .fv_bottom .size50{
		font-size: 7.3vw;
		padding-right: 0;
	}
	.sec_fv .fv_bottom .size26{
		justify-content: center;
		font-size: 4.5vw;
	}
	.sec_fv .fv_bottom .date_fv{
		display: flex;
		align-items: baseline;
		justify-content: center;
		gap: 2vw;
	}
	.sec_fv .fv_bottom .date_fv .size19.pc{
		display: inline;
		font-size: 3.5vw;
		line-height: 1;
	}
	.sec_fv .fv_bottom .time_fv .sp{
		display: none;
	}
	.sec_fv .fv_bottom .time_fv{
		margin-top: 1vw;
	}
	.sec_fv .fv_bottom .time_fv .size26{
		display: block;
	}
	.sec_fv .fv_bottom .txt_fv{
		margin-top: 2vw;
		padding-top: 0;
	}
	.sec_fv .pdr_3vw{
		padding-right: 3vw;
	}
	.sec_fv .box_fv{
		padding-top: 4%;
	}
	/*-- /fv ----------------------------------
	------------------------------------------*/

	/*-- sec01 --------------------------------
	------------------------------------------*/
	.bg01{
		background-size: contain;
		background: #002325 url(../images/bg01_bg_sp.jpg) no-repeat left top;
		padding-bottom: 12vw;
	}	
	.sec01{
		padding: 12vw 0 12vw 0;
	}
	.sec01 h2{
		min-height: unset;
		margin-bottom: 20vw;
		font-size: max(min(6vw, 20px), 22px);
	}
	.sec01_txt {
    	width: 100%;
	}
	.sec01_txt h3{
		margin-bottom: 6vw;
		font-size: max(min(4vw, 15px), 16px);
	}
	/*-- /sec01 -------------------------------
	------------------------------------------*/

	/*-- sec02 --------------------------------
	------------------------------------------*/
	.sec02{
		padding: 12vw 0 0 0;
	}
	.sec02 h2{
		min-height: unset;
		margin-bottom: 20vw;
		font-size: max(min(6vw, 20px), 22px);
	}
	.sec02_txt {
    	width: 100%;
		margin-top: 0;
	}
	.sec02_txt .item {
		flex-direction: column;
		align-items: center;
		gap: 0;
	}
	.sec02_txt .item .text {
    	width: 100%;
		flex: none;
		text-align: left;
	}
	.sec02_txt .item .thumb{
		width: 100%;
		margin-top: 6vw;
	}
	.sec02_txt .item .thumb img{
		width: 100%;
		max-width: 360px;
		height: auto;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	.sec02_txt .item:not(:last-child) {
    	margin-bottom: 25vw;
	}
	.sec02_txt .item.thumb-left .text{
		order: 1;
	}
	.sec02_txt .item.thumb-left .thumb{
		order: 2;
	}
	/* session2-speaker: SP では画像上・テキスト下 */
	.sec02_txt .item.session2-speaker {
		flex-direction: column;
		align-items: center;
	}
	.sec02_txt .item.session2-speaker .thumb {
		width: 100%;
		order: 1;
		margin-top: 0;
	}
	.sec02_txt .item.session2-speaker .text {
		width: 100%;
		order: 2;
		padding-bottom: 0;
		margin-top: 6vw;
	}
	/* session3-speaker: SP では画像上・テキスト下 */
	.sec02_txt .item.session3-speaker {
		flex-direction: column;
		align-items: center;
		position: static;
	}
	.sec02_txt .item.session3-speaker .thumb {
		width: 100%;
		order: 1;
		margin-top: 0;
		margin-left: 0;
	}
	.sec02_txt .item.session3-speaker .text {
		width: 100%;
		order: 2;
		padding-bottom: 0;
		margin-top: 6vw;
		position: static;
		left: auto;
		bottom: auto;
	}
	/* 1st item (Keynote speaker): SP では画像上・テキスト下 */
	.sec02_txt .item:first-child {
		flex-direction: column;
		align-items: center;
		position: static;
	}
	.sec02_txt .item:first-child .thumb {
		width: 100%;
		order: 1;
		margin-top: 0;
		margin-left: 0;
	}
	.sec02_txt .item:first-child .text {
		width: 100%;
		order: 2;
		padding-bottom: 0;
		margin-top: 6vw;
		position: static;
		left: auto;
		bottom: auto;
	}
	.sec02_txt .ttl{
		font-size: max(min(5vw, 18px), 20px);
	}
	.sec02_txt h3{
		margin-bottom: 6vw;
		font-size: max(min(6vw, 18px), 20px);;
	}
	.sec02_txt .item:first-child dl dt,
	.sec02_txt .item:nth-child(2) dl dt,
	.sec02_txt .item:nth-child(3) dl dt,
	.sec02_txt .item:nth-child(4) dl dt{
		font-size: max(min(5vw, 18px), 20px);
	}
	.sec02_txt .item:first-child dl dd p,
	.sec02_txt .item:nth-child(2) dl dd p,
	.sec02_txt .item:nth-child(3) dl dd p,
	.sec02_txt .item:nth-child(4) dl dd p{
		font-size: max(min(3.5vw, 13px), 14px);
	}
	.sec02_txt .item:nth-child(3) dl:nth-of-type(2),
	.sec02_txt .item:nth-child(4) dl:nth-of-type(2){
		margin-top: 6vw;
	}
	/*-- /sec02 -------------------------------
	------------------------------------------*/

	/*-- sec03 --------------------------------
	------------------------------------------*/
	.sec03{
		padding: 12vw 0 0 0;
		background-size: contain;
	}
	.sec03 h2{
		min-height: unset;
		margin-bottom: 20vw;
		font-size: max(min(6vw, 20px), 22px);
	}
	.sec03_txt {
    	width: 100%;
    	margin-bottom: 0;
	}
	.sec03_txt dl .bor02 .d-flex .txt .bold{
		font-size: max(min(4.5vw, 16px), 18px);
	}
	.sec03_txt dl .bor02.session-coming-soon .d-flex .txt .bold{
		text-align: center;
	}
	.sec03_txt dl .bor02 .d-flex .ttl{
		font-size: max(min(5vw, 16px), 18px);
		margin-bottom: 6vw;
	}
	.sec03_txt dl .bor02 .d-flex .ttl.mb0{
		margin-bottom: 0;
	}
	.sec03_txt dl dd .txt_top{
		font-size: 3.85vw;
	}
	.sec03_txt dl{
		margin-bottom: 2vw;
	}
	.sec03_txt dl dt{
		width: 20vw;
		line-height: 1.2;
		font-size: max(min(6vw, 14px), 16px);
	}
	.sec03_txt dl dd{
		width: calc(100% - 20vw);
		min-width: unset;
	}
	.sec03_txt dl dt span{
		display: block;
	}
	.sec03_txt dl .bor01{
		padding: 2vw;
	}
	.sec03_txt dl .bor02{
		padding: 4vw;
	}
	.sec03_txt dl .bor02 .d-flex .txt{
		width: 100%;
		text-align: left;
	}
	.sec03_txt dl .bor02 .d-flex .ttl{
		width: 100%;
		text-align: center;
	}
	.sec03_txt dl .bor02 .d-flex .txt .p1, 
	.sec03_txt dl .bor02 .d-flex .txt .p2{
		margin-bottom: 6vw;
	}
	.sec03_txt dl .bor02 .d-flex .txt .p2.mb0{
		margin-bottom: 0;
	}
	.sec03_txt dl .bor02 .d-flex .txt .p1, 
	.sec03_txt dl .bor02 .d-flex .txt .p2, 
	.sec03_txt dl .bor02 .d-flex .txt .p3{
		width: 100%;
		font-size: max(min(3vw, 11px), 12px);
	}
	.sec03_txt dl .bor02 .d-flex .txt .speaker-name{
		font-size: 17px;
		display: block;
		line-height: 1.2;
		margin-bottom: 2px;
	}
	.sec03_txt dl .bor02 .d-flex .txt .company-info{
		display: block;
		font-size: 11px;
		line-height: 1.6;
		font-weight: 300;
	}
	.logo_x_contens{
		width: 45vw;
		left: 6vw;
	}
	/*-- /sec03 -------------------------------
	------------------------------------------*/

	/*-- sec04 --------------------------------
	------------------------------------------*/
	.sec04{
		padding: 8vw 0 30vw 0;
		background-size: contain;
	}
	.sec04 h2{
		min-height: unset;
		margin-bottom: 20vw;
		font-size: max(min(6vw, 20px), 22px);
	}
	.sec04_txt {
    	width: 100%;
    	margin-bottom: 0;
	}
	.sec04_txt .item{
		width: 100%;
		max-width: 100%;
	}
	.sec04_txt .item:first-child{
		margin-bottom: 18vw;
	}
	.sec04_txt .item .ttl{
		margin-bottom: 3vw;
		font-size: max(min(4.5vw, 16px), 18px);
		font-weight: var(--fw-bold);
	}
	.sec04_txt .item .txt{
		font-size: max(min(4vw, 15px), 16px);
	}
	/*-- /sec05 -------------------------------
	------------------------------------------*/

	/*-- sec05 --------------------------------
	------------------------------------------*/
	.sec05{
		padding: 20vw 0 30vw 0;
	}
	.sec05 h2{
		min-height: unset;
		margin-bottom: 20vw;
		font-size: max(min(6vw, 20px), 22px);
	}
	.sec05 h3{
		margin-bottom: 6vw;
	}
	.sec05_txt {
    	width: 100%;
    	margin-bottom: 0;
	}
	.sec05 .tbl th{
		min-width: unset;
		padding: 0 0 1.5vw 0;
	}
	.sec05 .tbl th, .sec05 .tbl td{
		display: block;
		width: 100%;
	}
	.sec05 .tbl td{
		padding: 0 0 6vw 0;
	}
	.partner-wrap .archive,
	.partner-wrap .silver-group,
	.partner-wrap .middle{
		gap: 3vw;
	}
	.partner-wrap .middle{
		margin-bottom: 3vw;
	}
	.partner-wrap .platinum{
		height: 60vw;
		margin-bottom: 3vw;
	}
	.partner-wrap .gold {
    	min-height: 40vw;
	}
	.partner-wrap .silver{
		min-height: 20vw;
	}
	.partner-wrap .archive .item{
		min-height: 18vw;
		font-size: max(min(2.5vw, 10px), 11px);
		line-height: 1.2;
	}
	.partner-wrap .archive .item.bronze{
		min-height: 18vw;
	}
	.partner-wrap .archive .item.bronze img{
		max-height: 18vw;
		width: auto;
	}
	.partner-wrap .archive{
    	grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.partner-wrap .silver img{
		max-height: 20vw;
		width: auto;
	}
	.sec05 .tbl td.size24{
		font-size: max(min(4.5vw, 18px), 20px);
		line-height: 1.4;
	}
	.sec05 .tbl td.venue_txt{
		font-size: max(min(3.8vw, 15px), 15px);
		line-height: 1.5;
	}
	.box_iframe{
		padding-top: 56.25%;
	}
	.sec05 .br_sp{
		display: block;
	}
	.sec05 .fs_small{
		font-size: 70%;
	}
	/*-- /sec05 -------------------------------
	------------------------------------------*/

	/*-- sec06 --------------------------------
	------------------------------------------*/
	.sec06{
		padding: 30vw 0 30vw 0;
	}
	.sec06 h2{
		font-size: 24vw;
		line-height: 1.2;
	}
	.form_entry{
		min-height: 80vh;
		border-radius: 0;
		line-height: normal;
	}
	.form_entry #eh-root .terms-confirmation > label{
		align-items: flex-start;
	}
	.form_entry #eh-root .terms-confirmation > label > p{
		line-height: 1.5;
	}
	/*-- /sec06 -------------------------------
	------------------------------------------*/

	/*-- footer -------------------------------
	------------------------------------------*/
	.footer{
		padding: 20vw 0 8vw 0;
	}
	.site-footer{
		padding: 0 4vw;
	}
	.site-footer .txt_f{
		font-size: max(min(2.8vw, 11px), 9px);
		margin-bottom: 4vw;
	}
	.site-footer .logo_x_f {
	    position: absolute;
	    right: 0;
	    top: 32%;
	    line-height: 0;
	    bottom: 0;
	    width: 50vw;
	}
	.site-footer .left_f{
		width: 50vw;
	}
	.site-footer .footer-link ul{
		margin-top: 10vw;
		gap: 0;
		display: block;
	}
	.site-footer .footer-link ul li a{
		font-size: max(min(4vw, 13px), 1rem);
		padding-bottom: 2vw;
		display: block;
	}
	.site-footer .copyright{
		font-size: max(min(2vw, 12px), 0rem);
	}
	.site-footer .share-link dl ul, .site-footer .share-link dl{
		flex-wrap: wrap;
	}
	.site-footer .share-link dl dt::before {
		width: 20px;
	  	height: 1px;
	  	right: unset;
	  	top: unset;
	  	transform: unset;	  	
	  	bottom: -5px;
	  	left: 0;
	}
	.site-footer .share-link dl ul li a img{
		display: none;
	}
	.site-footer .share-link dl ul li a span{
		font-size: max(min(4vw, 13px), 1rem);
		color: #fff;
		display: block;
	}
	.site-footer .share-link dl ul li{
		width: 100%;
	}
	.site-footer .share-link dl dt{
		font-size: max(min(4vw, 13px), 1rem);
		font-weight: 400;
	}
	/*-- /footer ------------------------------
	------------------------------------------*/

	/*-- /pagetop ------------------------------
	------------------------------------------*/
	.pagetop{
		bottom:calc(4vw + 45px);
		right:4vw;
	}
	.pagetop a{
		width: 10vw;
		height: 10vw;
	}
	/*-- /pagetop ------------------------------
	------------------------------------------*/

	/* MODERATORとPROGRAMの見出し前余白をSPEAKERSと揃える */
	.sec02 + .sec02,
	.sec02 + .sec03{
		padding-top: 24vw;
	}
}
@media (min-width:640px) and (max-width:768px){
	.logo_fv img {
        max-width: 80%;
    }
    .sec05 h2,
    .sec04 h2,
    .sec03 h2,
    .sec02 h2,
    .sec01 h2{
    	font-size: 5vw;
    }
    .sec05 h3,
    .sec02_txt .ttl,
    .sec02_txt h3{
    	font-size: 4vw;
    }
    .sec05 .tbl td.size24{
    	font-size: 3.5vw;
    }
    .sec03_txt dl .bor02 .d-flex .txt .bold{
    	font-size: 3vw;
    }
    .sec04_txt .item .txt,
    .sec05 .tbl th,
    .sec05 .tbl td,
    p{
    	font-size: 2.65vw;
    }
    .sec_header .right_h .btn_h a{
    	height: 10vw;
    }
    .pagetop{
    	bottom: 14vw;
    }
    .sec03_txt dl .bor02 .d-flex .txt .p1, .sec03_txt dl .bor02 .d-flex .txt .p2, .sec03_txt dl .bor02 .d-flex .txt .p3{
    	font-size: 2.65vw;
    }
}

/* iPhone XR */
@media screen and (max-width: 768px) and (width: 414px) {
	.sec_fv .fv_bottom .size50{
		font-size: 8.5vw;
	}
	.sec_fv .fv_bottom .date_fv .size19.pc{
		font-size: 4.2vw;
	}
	.sec_fv .fv_bottom .size26{
		font-size: 5.3vw;
	}
	.sec_fv .fv_bottom .size32{
		font-size: 5.3vw;
	}
}

/* iPad Mini */
@media screen and (max-width: 768px) and (min-width: 744px) {
	.sec_fv,
	.sec_fv .inner{
		height: auto;
		min-height: 100vh;
		padding-bottom: 5vw;
	}
	.sec_fv .cath_coppy{
		top: 28%;
	}
	.sec_fv .fv_bottom{
		margin: 22% auto 0;
	}
}
