@charset "utf-8";

/* smart phone */
@media only screen and (max-width: 768px) {
  header div.title {
    min-width: 100% !important;
    padding-top: 0;
  }
  header div.title p.tagline {
    font-size: 19px;
  }
  header div.title h1 {
    font-size: 22px;
  }
  header div.title .subtitle {
    font-size: 18px;
  }
  header div.title .info {
    font-size: 16px;
  }
  header div.title .info span {
    display: block;
    margin: 6px auto 0;
  }
  header .logo {
    max-width: 160px;
    padding: 10px 0 10px 20px;
  }
  #main_kv {
    min-height: 340px;
    padding-top: 30px;
  }

  h2 {
    font-size: 22px;
    margin-bottom: 40px;
  }
  h2:before {
    top: 30px;
    width: 140px;
  }
  h2 > span {
    font-size: 14px;
    margin-top: 20px;
  }

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

  /* for fixed nav */
  [id]::before {
    display: none;
  }

  /* for fixed nav */
  #greeting::before,
  #outline::before,
  #program::before,
  #access::before {
    display: none;
  }

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

  /* outline */
#outline {
	  margin-top: -10px;
}
  /* outline */
  #outline {
	  padding: 60px 0 35px;
	}
	#outline h2 {
	  margin: 0 0 50px;
	  font-size: 22px;
	}
	#outline .outline_inner {
		flex-direction: column;
	}
	#outline .outline_inner p {
		width: 95%;
		font-size: 13px;
	}
	#outline .outline_inner .photo {
		width: 90%;
	}
	#outline {
	  padding: 35px 0;
	}
	#outline h2 {
	  margin: 0 0 50px;
	  font-size: 22px;
	}
	#outline .outline_inner {
		flex-direction: column;
	}
	#outline .outline_inner p {
		width: 95%;
		font-size: 13px;
	}
	#outline .outline_inner .photo {
		width: 90%;
		margin: 0 auto;
	}
	#outline .outline_inner h3 {
		font-size: 16px;
		margin: 30px 0 10px;
	}
	#outline table {
	  width: 95%;
	}
	#outline table tr th {
	  width: 20%;
	  padding: 15px 0 15px 10px;
	  font-size: 13px;
	}
	#outline table tr td {
	  padding: 15px 0;
	  font-size: 13px;
	}

  /* program */
  #program .wrap {
    padding: 40px 0;
    width: 100%;
    min-width: 100%;
  }
  #program .notes {
    font-size: 12px;
    margin: 10px auto 0;
  }
  /* special */
	#special {
		padding: 40px 0;
	}
	#special h2 {
		margin: 0 0 20px;
		font-size: 22px;
	}
	#special h3 {
		font-size: 16px;
	}
	#special .guest_list {
		gap: 30px;
		margin: 30px 0 30px;
		flex-wrap: wrap;
	}
	#special .guest_list li {
		/*width: 42%;*/
		width: 80%;
	}
	#special .guest_list li .photo {
		width: 100%;
		margin: 0 0 15px;
	}
	#special .guest_list li p.name {
		font-size: 16px;
		
	}
	#special .guest_list li p.position {
		font-size: 13px;
	}
	/* btn area */
	.btn_area {
		padding: 40px 0;
	}
	.btn_area ul {
		gap: 20px 0;
		flex-wrap: wrap;
	}
	.btn_area ul li {
		width: 80%;
	}
	.btn_area ul li a {
		padding: 15px 0;
		font-size: 16px;
	}
	
	.btn_area li a svg {
	  margin-left: 6px;
	  vertical-align: middle;
	  margin-top: 3px;
	  width: 13px;
    height: 12px;
	  
	}

  /* access */
  #access {
    min-width: 94%;
    padding: 0;
  }
  #access .wrap {
    padding: 40px 0;
  }
  #access .wrap .google-map {
    width: 94%;
    height: 300px;
    margin: 0 auto;
  }
  #access .google-map > iframe {
    height: 300px;
  }
  /* sponsor */

	#sponsor {
		padding: 40px 0;
	}
	#sponsor h2 {
		font-size: 20px;
		margin: 20px 0;
	}
	#sponsor h3 {
		margin: 10px 0 20px;
		font-size: 18px;
	}
	#sponsor .sponsor_list {
		margin: 0 0 30px;
	}
	#sponsor .sponsor_list li span {
		font-size: 11px;
		margin: 20px 0 0;
	}
	#sponsor .sponsor_list.silver li span {
		font-size: 9px;
	}
	#sponsor .sponsor_list.platinum {
		gap: 30px;
	}
	#sponsor .sponsor_list.platinum li {
		padding: 50px 30px;
		width: 70%;
	}
	#sponsor .sponsor_list.gold {
		gap: 20px;
	}
	#sponsor .sponsor_list.gold li {
		padding: 30px 20px;
		width: 55%;
		min-height: 150px;
	}
	#sponsor .sponsor_list.silver {
		gap: 10px;
	}
	#sponsor .sponsor_list.silver li {
		padding: 20px;
		width: 45%;
	}
	#sponsor .sponsor_txt {
		font-size: 11px;
	}

  /* register */
  div.register {
    padding: 50px 0;
  }
  div.register a.box-button {
    width: 65%;
    font-size: 18px;
  }
}