html, body {
	font-size : 18px;
	/* font-family: Arial, ui-monospace, system-ui, fantasy; */
	width : 100%;
	height : 100%;
	margin : 0px;
	padding : 0px;
	font-size: calc( (100vw - 480px)/(1280 - 480) * (20 - 16) + 16px);
}

.top-bg {
	min-height : 100vh;
	background : #30D5C8 url("../imgs/top-bg.webp") top center no-repeat;
	background-size: cover;
	background-attachment: fixed;
}

.top-bg-row {
	color : #FFF;
	align-items : center;
	min-height : 100vh;
	display: flex;
}

.top-bg-row>div {

}

.top-title {
	font-size : 1rem;
	line-height : 1;
	margin : 0;
	font-style : italic;
}

.main-title {
	font-size : 3.2rem;
	line-height : 1.2;
	margin : 0;
	font-weight: 600;
	margin-bottom : 10px;
}

.sub-title {
	font-size : 1.2rem;
	line-height : 1;
	margin : 0;
	margin-bottom : 30px;
}

.sub-title span {
	/* font-weight : 600; */
}

.top-text {
	font-size : 0.9rem;
	line-height : 1.45;
	margin : 0;
}

.top-text a {
	display : block;
	margin-top : 10px;
	color : #FFF;
	transition: all 0.3s ease;
	text-decoration : dotted;
}

.top-text a:hover {
	text-decoration : none;
	transition: all 0.3s ease;
}

.top-text a i {
	margin-left : 6px;
	font-size : 0.7rem;
	transition: all 0.3s ease;
}

.top-text a:hover i {
	margin-left : 12px;
	transition: all 0.3s ease;
}

.top-links {
	margin-top : 30px;
}

.top-links a.btn-primary {
	margin-right : 20px;
	transition: all 0.3s ease;
	background : transparent;
	background : rgba(255,255,255,0.1);
	font-size : 0.85rem;
	border-radius : 10px;
	padding : 8px 20px 8px 10px;
	border : 2px solid #FFF;
	line-height : 2.5rem;
}

a.btn.btn-primarys {
    transition: all 0.3s ease;
    font-size: 0.9rem;
    line-height: 2.5rem;
    color: white;
}

a.btn.btn-primarys i {
	margin-right : 10px;
}

.top-links a.btn-primary:hover, .top-links a.btn-primary:focus, .top-links a.btn-primary:active {
	background : rgba(255,255,255,0.3);
	transition: all 0.3s ease;
	outline:0;
}

.top-links a.btn-primary i {
	margin-left : 10px;
	margin-right : 6px;
	transition: all 0.3s ease;
}

.top-links a.btn-primary:hover i {
	margin-left : 0px;
	margin-right : 16px;
	transition: all 0.3s ease;
}

.plyr__control--overlaid {
	box-shadow: 4px 4px 26px 22px rgba(34, 60, 80, 0.25);
}

.video-bg {
	padding : 100px 0; 
	background : #f6f6f6;
}

.video-bg .row {
	/* max-width : 1000px; */
	margin-left : auto;
	margin-right : auto;
}

.plyr__poster {
	background-size: cover!important;
}

.text-center {
	text-align : center;
}

.text-bg {
	padding : 100px 15px 30px; 
	box-sizing : border-box;
}

.text-bg p {
	font-size : 0.9rem;
	margin-bottom : 30px;
}

.fs11 {
	font-size : 1.1rem;
	color : #000;
}

.nvb {
	text-align : center;
	font-size : 0.8rem;
}

.nvb .title {
	font-size : 1rem;
	/* padding-left : 40px; */
	color : #000;
}

.nvb ul {
	display: inline-block;
	text-align: left;
}

.mb20 {
	margin-bottom : 20px;
}
 
.mb15 {
	margin-bottom : 10px;
}
 
.mb10 {
	margin-bottom : 10px;
}

.preim-row {
	border-radius : 15px;
	background : #01a9bd;
	text-align : center;
	padding : 50px 20px 35px;
	box-sizing : border-box;
	margin-top : 40px;
	margin-bottom : 40px;
	vertical-align : top;
	transition: all 0.3s ease;
	margin: 40px 15px;
}

.preim-row:hover {
	/* background : #30D5C8; */
	transition: all 0.3s ease;
}

.preim-item {
	display : inline-block;
	width : 30%;
	text-align : center;
	font-size : 0.9rem;
	font-weight : 600;
	color : #FFF;
	margin-bottom : 15px;
}

.preim-item i {
	display : inline-block;
	margin-bottom : 10px;
	font-size : 1.8rem;
}
  
/* center the blockquote in the page */
.blockquote-wrapper {
   display: flex;
   padding: 0 20px;
}

blockquote.blockquote {
	font-size: 1rem;
	padding : 0;
    position: relative;
    max-width: 920px;
    margin: 40px auto;
    align-self: center;
	border : 0;
	text-align: right;
}

blockquote.blockquote p {
    position: relative; /* for pseudos */
    /* color: #e74848; */
    font-size: 0.9rem;
    font-weight: normal;
    line-height: 1.4;
    margin: 0;
    border: 2px solid #01a9bd;
    border: solid 2px #01a9bd;
    border-radius:20px;
    padding: 25px;
	text-align: center;
}

.blockquote p:after {
    content:"";
    position: absolute;
    border: 2px solid #01a9bd;
    border-radius: 0 100% 0 0;
    width: 60px;
    height: 60px;
    bottom: -60px;
    left: 50px;
    border-bottom: none;
    border-left: none;
    z-index: 3; 
}

.blockquote p:before {
    content:"";
    position: absolute;
    width: 180px;
    border: 6px solid #ffffff;
    bottom: -3px;
    left: 50px;
    z-index: 2;
}

.blockquote cite {
    position: relative;
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 2.5;
    margin: 0;
    padding-top: 15px;
    z-index: 1;
    margin-left:150px;
    padding-right:15px;
}

 
.blockquote cite:first-letter {
  margin-left:-12px;
}

.footer-bg {
	padding : 25px 0;
	text-align : center;
	font-size: 0.7rem;
	color : #FFF;
	background : #01a9bd;
}

.mobile-top {
	display : none;
}

.not-pc {
	display : none;
}

@media (max-width: 1200px) {
	.top-links a.btn-primary {
		font-size : 0.75em;
	}

@media (max-width: 992px) {
	.preim-item {
		width: 40%;
		margin-bottom : 20px;
	}
	.footer-bg {
		font-size: 0.9rem;
	}
		
	.footer-bg a {
		color : #FFF;
	}
	.top-bg {
		min-height: auto;
		background: #22788D;
		background-size: contain;
		background: #22788D url("../imgs/top-top-bg.webp") top center repeat-y;
		background-size: contain;
	}
	.top-bg .col-sm-12 {
		width : 100%;
		text-align : center;
	}
	.not-mob {
		display : none;
	}	
	.top-bg-row {
		align-items: start;	
		padding-top: 40px;
		/* padding-bottom: 30px; */
		min-height: auto;
		
	}
	.mobile-top {
		display : block;
		background: #22788D url("../imgs/top-bg-mob.webp") bottom center no-repeat;
		width : 100%;
		aspect-ratio : 0.8347;
		background-size: contain;
		margin-top: -47px;
	}
	.logo-top {
		background: url("../imgs/logo-top.png") center center no-repeat;
		/* background-size: contain; */
	}
}

@media all and (min-width: 600px) {
    .blockquote p {
        font-size: 0.9rem;
        line-height: 1.4;
   }
}

@media (max-width: 480px) {
	.preim-item {
		width: 100%;
		margin-bottom : 15px;
	}
	.text-bg p {
		font-size: 1.1rem;
	}	
	.sub-title {
		line-height: 1.5;
	}	
	.not-pc {
		display : block;
	}
	.top-links a.btn-primary {
		width : 80%;
		display : inline-block;
		display: inline-block;
		margin-bottom: 7px;
		margin-right : 0px;
	}	
	.video-bg {
		padding: 40px 0;
	}	
	.text-bg {
		padding: 40px 15px 0px;
		box-sizing: border-box; 
	}
	.nvb ul {
		padding-left : 10px;
	}
	.blockquote cite {
		line-height: 1.5;
	}	
}







