@media screen and (max-width: 1600px) {
	.fixed-right {
		right: 30px;
	}
}

@media screen and (max-width: 1280px) {
	.show-mid {
		display: block;
	}
	.hide-mid {
		display: none;
	}
	#desc-sec .max-w7 {
		width: 50%;
	}
}

@media screen and (max-width: 768px) {
	.show-sm {
		display: block;
	}
	.hide-sm {
		display: none;
	}
	body {
		font-size: 1rem;
	}
	.hbg-btn {
		display: inline-block;
	}
	header {
		overflow: hidden;
		max-height: 50px;
	}
	header.active {
		max-height: 300px;
	}
	.navtop .flex {
		display: block;
		margin-left: -5px;
		text-align: left;
		padding-top: 13px;
	}
	.navbar {
		padding-top: 70px;
	}
	.navbar li {
		display: block;
		padding: 0px 20px;
		margin-bottom: 10px;
	}
	.navbar li + li {
		margin-left: 0px;
	}
	.nav-logo {
		padding: 0.4em 0 0.6em;
	    position: absolute;
	    margin-left: -15px;
	}
	.navbar a {
		color: #666;
	}
	/* text */
	.t-xlarge {
		font-size: 2.4em; /* 30px */
	}
	.t-large {
		font-size: 1.4em; /* 26px */
	}
	.t-midlarge {
		font-size: 1.2em; /* 22px */
	}
	.t-mid {
		font-size: 1em; /* 18px */
	}
	.t-small {
		font-size: 0.9em; /* 16px */
	}
	.t-xsmall {
		font-size: 0.8em; /* 14px */
	}
	
	.section-title {
		font-size: 26px;
		margin-left: 0;
	}

	/* layout */
	.container {
		padding: 4em 1.3em;
	}
	.mainbg .container, .subbg .container {
		padding-top: calc((100vh - 50px - 4em)/2);
	}
	.bg-w-sm {
		padding: 15px;
		margin: 0 -15px;
	}
	.text-center-sm {
		text-align: center;
	}
	.mx-auto-sm {
		margin-left: auto;
		margin-right: auto;
	}

	.news-card {
		width: 200px;
		max-width: 200px;
		height: 200px;
    	margin-bottom: 30px;
	}
	.news-card:hover h5 {
		transform: translateY(-75px);
	}
	.news-card:hover p {
		transform: translateY(10px);
	}
	.slider-news {
		max-width: 240px;
		margin: 0 auto;
		overflow: hidden;
	}
	.flex-space {
		display: block;
		text-align: center;
	}
	
	.slider {
		width: 270px;
	}
	.slick-arrow {
		top: 60px;
	    bottom: 0;
	    margin: auto;
	}
	.news-slick, .speaker-slick {
		padding-top: 1em;
	}
	.slick-arrow.slick-prev {
		left: 7%;
	}
	.slick-arrow.slick-next {
		right: 7%;
	}
	.slick-dots {
		top: auto;
	}
	footer {
		margin-top: -1px;
	}
	footer .container {
		text-align: center;
	}
	.logo {
		margin-left: 10px;
	}
	.popup-img {
		padding-top: 60%;
	}
	.popup-container {
		padding: 0;
	}
	.popup-block p {
		padding-right: 0px;
	}
	.popup-block {
	    width: 100%;
	    max-width: 100%;
	    border-radius: 0;
	}
	.popup-close {
	    position: fixed;
	    top: 10px;
	    right: 10px;
	}
	.popup-block.active .popup-body {
		padding: 30px 20px;
	}
	.mainbg, .subbg {
	    background-image: url(../img/main_bg.jpg), linear-gradient(to right,#000 0%, #172523 37%, #13434c 70%, rgba(14,110,135,1) 100%);
	    background-size: auto 40%, auto auto;
	    background-position: top right, bottom left;
	}
	.subbg {
		background-image: url('../img/sub_bg.jpg'), linear-gradient(to right,#fff 0%, #fff 100%);
		background-size: auto 30%, auto auto;
	}
	.topsec h1 img {
		width: 120%;
	    max-width: 120%;
	    margin-left: -9%;
	}
	#download-sec, #esg-sec {
		display: block;
	}
	#download-sec .container, #esg-sec .container {
		position: relative;
	}
	.t-footer {
	    bottom: 16px;
	}
	.left-sec {
	    padding-left: 0;
	}
	.right-sec {
		padding-top: 0px;
	}
	.todowntext {
		display: inline-block;
		width: calc(1em * 2 + 1px);
		overflow: hidden;
		text-indent: calc(-1em * 2);
		margin-bottom: -6px;
	}
	.todowntext::after {
		content: '下方';
	}
	.todowntext + .icon {
		transform: rotate(90deg);
	}
	#desc-sec .max-w7 {
	    width: auto;
	}
	.round-btn {
	    width: 40px;
	    height: 40px;
	}
	.round-btn img {
	    top: -2px;
	    width: 24px;
	}
	.fixed-right {
	    right: 10px;
	    bottom: 10px;
	}
	/* right btns */
	.hideontop {
		opacity: 0;
		pointer-events: none;
		transition: all 0.6s ease;
		transform: translateY(10px);
	}
	.hideontop.show {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0px);
	}
	.hideontop.show:hover {
		opacity: 1;
	}
}

@media screen and (max-width: 574px) {
	.d-table {
		display: block;
	}
	.d-row {
		display: block;
	}
	.d-cell {
		display: block;
	}
	.form-item label {
		margin-bottom: 10px;
	}
	.content {
	    padding: 4em 1em;
	}
	.linkafter.showafter + .form-item {
		display: table-row;
	}
}