@charset "utf-8";

@media only screen and (max-width: 768px) {
	header div.title {
		min-width: 100% !important;
		padding-top: 50px;
	}
	header div.title .tagline {
		font-size: 19px;
		margin: 30px auto 0;
	}
	header div.title h1 {
		font-size: 28px;
		margin: 0;
	}
	header div.title .subtitle {
		font-size: 18px;
	}
	header div.title .info {
		font-size: 16px;
		margin: 10px auto 30px;
	}
	header div.title .info span {
		display: block;
		margin: 6px auto 0;
	}

	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 {
		width: 100%;
		padding: 65px 2% 100px 2%;
		white-space: normal;
		background: url(../../images/common/outline_cloud.png) no-repeat center top/contain,
				url(../../images/common/outline_city_sp.png) no-repeat center bottom/contain,
				url(../../images/common/outline_bg.png) no-repeat center/cover;
	}
	#message h2 {
		font-size: 35px;
	}
	#message h3 {
		font-size: 16px;
		margin: 40px 0 10px;
	}
	
	#message h3:after {
		width: 80%;
	}
	#message p {
		font-size: 13px;
		 margin-bottom: 100px;
	}
	#message .movie {
		margin: 20px auto;
	}
	#message .movie img {
		width: 100%;
		height: auto;
	}
	#message .movie iframe {
		width: 100%;
		/*height: auto;*/
	}

	/* 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 {
		min-width: 100%;
		padding: 40px 0;
	}
	#outline .wrap {
		width: 94%;
		padding: 40px 0 30px;
	}
	#outline table {
		width: 96%;
		margin: 0 auto 36px;
	}
	#outline table tr th {
		font-size: 13px;
		border-bottom: 1px solid #333;
	}
	#outline table tr td {
		font-size: 14px;
		border-bottom: 1px solid #333;
	}
	#outline table tr th {
		width: 20%;
		min-width: 62px;
		text-align: left;
	}
	#outline table tr td {
		padding: 8px 0;
	}
	#outline table tr td div {
		border-left: 2px solid #c1d42f;
		padding: 0 10px;
	}
	#outline table tr td div p.address {
		font-size: 10px;
		padding: 0;
		margin: 12px 0 0 0;
	}

	/* 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 {
		background: url(../../images/common/program_bg_top_sp.png) no-repeat center top/contain,
					url(../../images/common/program_bg_bottom_sp.png) no-repeat center bottom/contain;
		background-color: var(--program-bg);			
		padding: 30px 0 100px;
		min-width: 100%;
	}
	#program .wrap .title-container {
		padding: 65px 0 40px;
		margin-bottom: 20px;
	}
	#program .wrap .title-container h3 {
		margin-bottom: 0;
	}
	#program h2 {
		font-size: 35px;
	}
	#program .wrap .title-container {
		padding: 20px 0 20px;
		min-width: 100%;
	}

	/* live tab-menu */
	#program .tab-menu-wrapper {
		overflow-x: auto;
	}
	#program .tab-menu-container {
		margin: 0;
		justify-content: flex-start;
		overflow: visible;
		width: 100%;
	}
	#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;
	}
	
	/* cpd */
	#cpd {
		width: 100%;
		min-width: 100%;
    	padding: 75px 0 160px;
    	background: url(../../images/common/cpd_bg_bottom.png) no-repeat center bottom/contain,
    				url(../../images/common/cpd_bg_sp.png) no-repeat center/cover;
	}
	#cpd .wrap {
		border-radius: 5px;
		padding:20px;
		width: 90%;
		margin: 0 auto;
	}
	#cpd h2 {
		width: 95%;
		padding-left: 60px;
		margin: 0 auto 20px;
		font-size: 13px;
	}
	#cpd h2:before {
		width: 57px;
		height: 42px;
		background: url(../../images/common/cpd_icon.png)no-repeat center/cover;
	}
	#cpd h2 span {
		font-size: 13px;
	}
	#cpd h3 {
		font-size: 16px;
		padding: 4px 0;
		margin-bottom: 20px;
	}
	#cpd ul li {
		font-size: 11px;
		line-height: 1.4;
		padding: 0 0 0 20px;
		margin: 0 0 10px;
	}
	#cpd ul li:last-child {
		margin: 0;
	}
	#cpd ul li:before {
		position: absolute;
		content: "●";
		color: #0080c0;
		left: 0;
	}


	/* faq */
	#faq .wrap {
		width: 94%;
		padding: 40px 0 30px;
	}
	#faq .faq_list {
		padding: 0;
	}
	#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;
	}
}
@media only screen and (max-width: 525px) {
	#message p {
		 margin-bottom: 30px;
	}
}