@charset "utf-8";

@media only screen and (max-width: 768px) {
	header div.title {
		min-width: 100%;
		padding: 50px 0 0;
		min-height: 300px;
	}
	header div.title h1 {
		margin: 0 auto;
		width: 85%;
	}
	header div.title .value {
		font-size: 35px;
		margin: 20px 0;
	}
	header div.title .date {
		font-size: 22px;
	}
	h3 {
		font-size: 22px;
		margin-bottom: 40px;
	}
	h3:before {
		top: 30px;
		width: 140px;
	}
	h3 > span {
		font-size: 14px;
		margin-top: 20px;
	}

	.all-wrap {
		margin-top: 0;
		padding-top: 0;
	}

	/* for fixed nav */
	#greeting::before,
	#outline::before,
	#topics::before,
	#live::before,
	#faq::before {
		height: 0;
		margin-top: 0;
	}

	/* message */
	#message {
		padding: 30px 0;
	}
	#message .message_title {
		font-size: 40px;
		margin: 0 0 20px;
	}
	#message h2 {
		font-size: 22px;
		margin: 0 0 20px;
	}
	#message p {
		font-size: 13px;
		padding: 0 10px;
		text-align: left;
	}

	/* greeting */
	#greeting {
		width: 90%;
		min-width: 90%;
		margin: 0 auto;
		padding: 40px 0 20px;
	}
	#greeting p {
		font-size: 13px;
		line-height: 1.8;
	}
	
	/* merit */

	#merit {
      padding: 40px 10px;
    }
 
    #merit .wrap {
      max-width: 100%;
      margin: 0 auto;
      padding: 0;
    }
 
    #merit h2 {
      font-size: 22px;
      margin-bottom: 40px;
      text-align: center;
      
    }
 
    /* ===== カードグリッド ===== */
    .merit-grid {
      gap: 24px;
      width: 95%;
      margin: 0 auto;
    }
 
    .merit-card {
      padding: 15px 10px;
      border-radius: 0 25px 0 25px;
    }
 
    .merit-card .icon {
     width: 50px;
     margin: 0 auto 16px;
    }
 
    .merit-card h3 {
      font-size: 18px;
      margin-bottom: 12px;
    }
 
    .merit-card p {
      font-size: 13px;
    }
	/* speaker */
	#speaker {
		padding: 45px 0 0;
		min-width: 100%;
		background: url(../../images/top/speaker_bg_sp.png)no-repeat center/cover, #0A0504;
	}
	#speaker h2 {
	      font-size: 20px;
	      margin-bottom: 20px;
	      text-align: center;
	}
	#speaker h3 {
		font-size: 16px;
		margin: 0 0 20px;
		text-align: center;
	}

	ul.speaker_list {
		gap: 20px;
		width: 95%;
		margin: 0 auto 40px;
		justify-content: center;
	}
	ul.speaker_list::after{
	  content:"";
	  display: block;
	  width:46%;
	}
	ul.speaker_list li {
		width: 46%;
		border-radius: 15px 0 15px 0;
	}
	ul.speaker_list li .thumbnail {
		border-radius: 15px 0 0 0;
	}
	ul.speaker_list li .speaker_txt {
		padding: 10px;
	}
	ul.speaker_list li .speaker_txt .name {
		font-size: 16px;
		margin: 0 0 10px;
	}
	ul.speaker_list li .speaker_txt .position {
		font-size: 13px;
	}

	/* outline */
	#outline {
		padding: 0 0 40px;
		min-width: 100%;
	}
	#outline .wrap {
		width: 95%;
		margin: 0 auto;
	}
	#outline h2 {
	      font-size: 22px;
	      margin-bottom: 20px;
	      text-align: center;
	}
	#outline .wrap {
		padding: 30px 0;
	}
	#outline dl {
		padding: 10px 0;
	}
	#outline dl dt {
		font-size: 16px;
		margin: 0 0 10px;
	}
	#outline dl dd {
		font-size: 13px;
	}


	/* topics */
	#topics {
		padding: 0 10px;
	}
	#topics .wrap {
		padding: 40px 0;
	}
	ul.topics li {
		min-height: auto;
	}
	ul.topics li .description {
		font-size: 13px;
	}

	/* live */
	#program {
		padding: 40px 10px;
		min-width: 100%;
	}
	#program .wrap .title-container {
		padding: 40px 0 40px;
		min-width: 90%;
	}

	#program h2 {
	      font-size: 22px;
	      margin-bottom: 40px;
	      text-align: center;
	}
	#program .wrap .title-container {
		padding: 30px 0 20px;
	}
	#program .wrap .title-container h3 {
		margin-bottom: 0;
	}

	/* live tab-menu */
	#program .tab-menu-wrapper {
		overflow-x: auto;
	}
	#program .tab-menu-container {
		margin: 0;
		justify-content: flex-start;
		overflow: visible;
		width: 100%;
		flex-wrap: wrap;
		gap: 15px;
	}
	#program .tab-menu-container li {
		min-width: 40%;
		flex-shrink: 0;
		flex-grow: 2;
	}
	#program .tab-menu-container li a:hover {
		border: 2px solid #fff;
	}
	#program .tab-menu-container li.selected a {
		border: 2px solid #555;
	}
	#program .tab-menu-container li a span {
		font-size: 16px;	
	}

	/* faq */
	#faq .wrap {
		width: 94%;
		padding: 40px 0 30px;
	}
	#faq .faq_list {
		padding: 0;
	}
	#faq .faq_list .answer {
		align-items: baseline;
	}
	#faq .faq_list .faq_item {
		padding: 0;
	}
	#faq .faq_list .faq_item p {
		font-size: 16px;
	}

	/* register */
	div.register {
		padding: 50px 0;
	}
	div.register a.box-button {
		width: 60%;
		font-size: 22px;
		padding: 12px 0;
	}
	/* sponsor */
	#sponsor {
		padding: 40px 0;
		min-width: 100%;
	}
	#sponsor .wrap {
		width: 95%;
	}
	
	#sponsor h2 {
	      font-size: 22px;
	      margin-bottom: 20px;
	      text-align: center;
	}
	#sponsor h3 {
		font-size: 18px;
		margin: 0 0 20px;
		 text-align: center;
	}
	#sponsor p.sponsor_txt {
		font-size: 13px;
		margin: 0 0 20px; 
	}
	#sponsor hr {
		margin: 40px 0;
	}
	.sponsor_list {
		gap: 20px;
		width: 100%;
		justify-content: center;
	}
	.sponsor_list.customer{
		margin-bottom: 80px;
	}
	.sponsor_list.silver {
		gap: 20px;
	}
	.sponsor_list.bronze {
		gap: 20px;
		margin-bottom: 40px;
	}
	.sponsor_list li {
		width: 90%;
		min-height: auto;
	}
	.sponsor_list.customer li {
		width: 46%;
		min-height: auto
	}
	.sponsor_list.platinum li {
		width: 100%;
		min-height: auto;
		padding: 0 0 20px;
	}
	.sponsor_list.gold li {
		width: 60%;
		min-height: auto;
		padding: 0 0 20px;
	}
	.sponsor_list.platinum li .logo a {
		min-height: auto;
	}
	.sponsor_list.gold li .logo a {
		min-height: auto;
	}
	.sponsor_list.silver li {
		width: 46%;
		min-height: auto;
		padding: 0 0 20px;
	}
	.sponsor_list.bronze li {
		width: 46%;
		min-height: auto;
		padding: 0 0 20px;
	}
	.sponsor_list.global li {
		width: 100%;
	}
	.sponsor_list li .logo {
		border-radius: 15px 0 15px 0;
		padding: 15px 20px;
	}
	.sponsor_list li .logo img {
		width: 100%;
		height: auto;
	}
	.sponsor_list.platinum li .logo img {
		width: 60%;
	}
	.sponsor_list.gold li .logo img {
		width: 100%;
	}
	.sponsor_list.diamond,
	.sponsor_list.platinum,
	.sponsor_list.gold,
	.sponsor_list.silver{
		margin-bottom: 40px;
		margin-top: 0;
	}
	
	.sponsor_list.diamond li .logo,
	.sponsor_list.platinum li .logo,
	.sponsor_list.gold li .logo,
	.sponsor_list.silver li .logo,
	.sponsor_list.bronze li .logo{
		padding: 10px 0 0;
	}
	.sponsor_list.bronze li .logo img {
		max-width: auto;
	}
	.sponsor_list.diamond li .logo a,
	.sponsor_list.platinum li .logo a,
	.sponsor_list.gold li .logo a,
	.sponsor_list.silver li .logo a,
	.sponsor_list.bronze li .logo a {
		padding: 0 0 15px;
	}
	.sponsor_list.diamond li .logo p,
	.sponsor_list.platinum li .logo p,
	.sponsor_list.gold li .logo p,
	.sponsor_list.silver li .logo p,
	.sponsor_list.bronze li .logo p{
		font-size: 14px;
	}
	.sponsor_list li p.privacy {
		margin: 0;
	}
	.sponsor_list li p.privacy a {
		font-size: 11px;
	}
	.sponsor_list li .logo img.aws {
		width: 35%;
	}
	.sponsor_list li .logo img.infosys {
		width: 70%;
	}
	.sponsor_list li .logo img.fpt {
		width: 65%;
	}
	/* partner */
	#partner .wrap {
		width: 95%;
		margin: 0 auto;
		flex-wrap: wrap;
	}
	#partner .left_area {
		width: 100%;
		padding: 20px 0;
		text-align: center;
	}
	#partner .left_area  img {
		width: 80%;
		height: auto;
	}
	#partner .left_area p{
		font-size: 22px;
		margin: 10px 0 0;
	}
	#partner .left_area .subtitle {
		margin-bottom: 10px;
		padding: 8px 0;
	}
	#partner .left_area p.subtitle_txt {
		display: none;
	}
	#partner .right_area {
		width: 93%;
		margin: 0 auto;
	}
	#partner .right_area .subtitle.sp {
		display: inline-block;
		width: 100%;
		font-size: 18px;
		padding: 10px 5px;
		margin: 15px auto 0;
		border-radius: 40px;
		background: #FF9D8C;
		color: #072B55;
		font-weight: bold;
		text-align: center;
		font-feature-settings: "palt";
	}
	#partner .right_area  p.subtitle_txt.sp{
		text-align: center;
		font-weight: bold;
		font-size: 18px;
		margin: 10px 0 0;
		color: #FF9D8C;
	}

	#partner .partner_summit_text {
		width: 100%;
		margin: 0 auto;
		padding: 80px 10px 50px;
		background: url(../../images/top/partner_summit_bg_sp.png) no-repeat top center/cover;
	}
	#partner .partner_summit_text h2 {
		font-size: 20px;
		margin: 0 0 20px;
	}
	#partner .partner_summit_text p {
		text-align: left;
		font-size: 13px;
	}
	#partner .partner-link {
		flex-direction: column;
		align-items: center;
		gap: 20px;
		margin: 30px auto;
	}
	/* to registration */
	#to_registration {
		padding: 80px 0 40px;
	}
	#to_registration .linkarea {
		width: 85%;
		border-radius: 0;
		margin: -110px auto 0;
	}
	#to_registration .linkarea a {
		display: block;
		width: 100%;
		background: url(../../images/top/to_registration_bg.png) no-repeat center top/cover;
		padding: 30px 0;
		border-radius: 15px;
	}
	#to_registration .linkarea a h3 {
		font-size: 20px;
		margin: 0 0 10px;
	}
	#to_registration .linkarea a p {
		font-size: 13px;
	}
	#to_registration .linkarea a .linkbtn {
		width: 60%;
		margin: 15px auto 0;
		font-size: 16px;
		padding: 10px 0;
	}
	 /* speaker profile modal */
	 .modal_window .containerBody {
	 	background: var(--black);
	 }
	  .speaker-modal-inner {
	        gap: 10px;
	        padding: 15px;
	  }
	  .speaker_title {
	  	font-size: 16px;
	  padding: 5px;
	  margin: 0 0 10px 0;
	  }
	  .speaker_subtitle {
	  	margin: 0 0 10px 0;
	  	font-size: 13px;
	  }
	  .speaker_overflow {
	  	border-radius: 10px;
	  	padding: 10px;
	  	gap: 15px;
	  }
	  .speaker-modal-info .name {
	        font-size: 16px;
	  }
	  .speaker-modal-info .position {
	        font-size: 13px;
	        margin: 0 0 10px;
	  }
	  .speaker-modal-info .profile-text p {
	        font-size: 11px;
	  }

}
