@charset "UTF-8";

/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Abril+Fatface&family=Noto+Sans+HK&family=Noto+Serif+TC:wght@700;900&family=Ubuntu:ital,wght@0,400;0,700;1,400&display=swap');

@font-face {
    font-family: 'Alpha-Headline';
    src: url("../fonts/Alpha-Headline.otf") format("opentype");
}
@font-face {
    font-family: 'NotoSansHant';
    font-weight: bold;
    src: url("../fonts/NotoSansHant-Bold.otf") format("opentype");
}
@font-face {
    font-family: 'NotoSansHant';
    font-weight: 100;
    src: url("../fonts/NotoSansHant-DemiLight.otf") format("opentype");
}
@font-face {
    font-family: 'NotoSansHant';
    src: url("../fonts/NotoSansHant-Regular.otf") format("opentype");
}
.fade {
    opacity: 0;
    transition: 1s ease-in-out;
    -webkit-transform: translate(0, 20px);
    transform: translate(0, 20px);
}
.fade.scrollin {
    opacity: 1 !important;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

.sp{
	display:none !important;
}
img{
	width: 100%;
	border: 0px;
}
.abril{
	font-family: 'Noto Serif TC','Abril Fatface', cursive;
}

.Alpha-Headline{
	font-family: 'Alpha-Headline';
}

html,body{
	padding: 0;
	margin: 0;
	background-color: #FFF;
	font-family: 'Ubuntu', 'NotoSansHant',sans-serif;
	font-size: 18px;
	line-height: normal;
	color: #231815;
	max-width: 1480px;
    margin: auto;
}
html.en body{
    font-size: 16px;
    line-height: 1.5;
    text-align: justify;
}

body{
    padding-top:136px;
    margin:0 5%;
}
@media only screen and (max-width: 768px) {
body{
    margin:0;
}
}
.maxWidth{
	/*max-width: 1024px;*/
	margin: auto;
	position: relative;
}

/*header*/
#header{
	text-align: center;
    height: 57px;
    background: #FFF;
    position: fixed;
    width: 100%;
    max-width: 1280px;
    top: 0;
    z-index: 20;
    transition: .5s;
}
#header .logo{
	width:133px;
	padding: 8px;
}
#header .right{
	position: absolute;
	right:0;
	top:10px;
}
#header .btn_contactus{
	background-color: #89b727;
	border-radius: 100px 0 0 100px;
	font-size: 12px;
	color: #FFF;
	text-decoration: none;
	height: 37px;
	line-height: 37px;
	display: inline-block;
	padding: 0 33px;
	font-weight: bold;
	transition: .4s;
}
#header .btn_contactus_m{
    width: 30px;
    padding: 5px 5px 8px 5px;
    display: inline-block;
    box-sizing: border-box;
    border-radius: 30px;
    text-decoration: none;
    background-color: #89b728;
    display:none;
    margin-right:10px;
    margin-top: 5px;
}
#header .btn_contactus_m img{
    margin-bottom: -5px;
}
#header .btn_contactus:hover{
	background-color:#dff2b6;
	color: #89b727;
}
#header .btn_textSize{
	font-size: 14px;
	color: #444142;
	margin: 0 15px;
	line-height: 37px;
	text-decoration: none;
}
#header .btn_textSize:hover{
	border-bottom: 2px solid #444142;
}
#header .btn_textOnly{
	font-size: 14px;
	color: #444142;
	line-height: 37px;
	text-decoration: none;
}
#header .btn_textOnly:hover{
	border-bottom: 2px solid #444142;
}
#header .btn_lang {
    font-size: 14px;
    color: #444142;
    line-height: 37px;
    text-decoration: none;
    margin: 0 15px;
}
#header .btn_lang img{
    width: 13px;
    margin-left: 5px;
    vertical-align: baseline;
}
#header .btn_lang:hover{
	border-bottom: 2px solid #444142;
}

#header .left{
	position: absolute;
	left:0;
	top:15px;
}

#header .btn_read{
	font-size: 18px;
	line-height: 18px;
	font-weight: bold;
	margin: 0px 20px;
	text-decoration: none;
	color:#444142;
}
.zh #header .btn_read:after{
	content:"閱讀更多";
}
#header .btn_read img.on{
	transform:rotate(180deg);
}
#header .btn_read:hover{

}
#header .btn_read img{
	width: 30px;
    transition: .4s;
    vertical-align: middle;
    margin-bottom: 4px;
    margin-right: 10px;
}

/*menu*/
#headOuter{
position: fixed;
top: 0;
left:0;
right:0;
margin:auto;
padding: 0 5%;
box-sizing: content-box;
max-width: 1332px;
z-index:1;
}
#head{
padding: 20px 0 20px 40px;
background-color:#ffffff;
width: 100%;
z-index: 200;
transition: .5s;
color:#646464;
box-sizing: border-box;
}
#head .inside{
display: grid;
grid-template-columns: 245px calc(100% - 245px);

position: relative;
box-sizing: border-box;
}
#head .logo{
width:300px;
}
html.en #head .logo{
    width: 100%;
}
#head .inside > div{
position: relative;
}
html.en #head .inside > div{
    text-align: center;
}
#head .menuSet{
display:block;
}
#head .inside .menuSet > ul{
list-style: none;
display: flex;
position: absolute;
bottom:0;
right:0;
margin:0;
align-items: center;
}
#head .inside .menuSet > ul > a:last-child{
    background: #88b641;
    padding: 10px 35px 10px 40px;
    color: #FFF;
    border-radius: 100px 0 0 100px;
    letter-spacing: 5px;
}
html.en #head .inside .menuSet > ul > a:last-child{
     letter-spacing: 0px;
    white-space: nowrap;
}
#head .inside .menuSet > ul > a:hover:last-child{
    border-bottom: none;
}
#head .inside .menuSet > div{
display: flex;
position: absolute;
top: 0;
right: 0;
align-items: center;
}
#head .inside .menuSet > div > .dropdown{
list-style: none;
margin: 0;
padding: 0;
overflow: hidden;
display: none;
position: absolute;
z-index: 9999;
left: 10px;
top: 20px;
}
#head .inside .menuSet > div > a, #langSet{
display:block;
margin-right: 40px;
position: relative;
color: inherit;
text-decoration: none;
}
#head .inside .menuSet > div > a:hover{
    border-bottom: 1px solid #faaa1a;
}
#langSet a{
    margin: 0 10px;
    color: inherit;
    text-decoration: none;
     padding: 2px 5px;
}
#langSet a.on{
    background: #faaa1a !important;
    color: #FFF;
   
}
#langSet a:hover{
    background: #999;
    color: #FFF;
}
#head .inside .menuSet > div > a:hover ~ .dropdown{
display: block;
}

#head .inside .menuSet > div > .dropdown:hover{
display: block;
}
#head .inside .menuSet > div > .dropdown a{
display: block;
background-color: #f7f7f7;
width: 100%;
padding: 5px 10px;
color: inherit;
line-height: 1;
text-decoration: none;
}



#head .inside .menuSet > ul .li{
transition: .2s;
}
#head .inside .menuSet > ul .li a{
color: inherit;
text-decoration: none;
}
#head .inside .menuSet > ul > a{
color: inherit;
text-decoration: none;
margin-left: 30px;
cursor: pointer;
position: relative;
line-height: normal;
}
#head .inside .menuSet > ul > a:hover{
    border-bottom: 1px solid #faaa1a;
}
#head .inside .menuSet > ul > div{
color: inherit;
text-decoration: none;
margin-left: 40px;
position: relative;
line-height: normal;
}
#head .inside .menuSet > ul > a:hover .li, #head .inside .menuSet > ul > div:hover .li{
/*transform: translate(0, -10px);*/
/*padding-bottom:10px;*/
}
#head .btnMobileMenu{
display:none;
}
#head .btnMobileMenu img{
transition: .2s;
}
#head .btnMobileMenu img.on{
transform: rotate(90deg);
}
#head .btnMobileMenu a{
width:30px;
float: right;
display:block;
}
.subMenu{
position: fixed;
/*width: 100% ;*/
left: 0;
background-color: #faaa1a !important;
color:#FFF;
/*padding: 50px;*/
/*-webkit-backdrop-filter: blur(5px);*/
/*backdrop-filter: blur(5px);*/
display:none;
z-index:100;
}
.subMenu > div{
display: flex;
flex-direction: column;
margin: auto;
}
.subMenu > div > div{
/*margin-left:20px;*/
text-align: center;

}
.subMenu a{
display: block;
padding: 5px 15px;
color: inherit;
text-decoration: none;

}
.subMenu a:not(.disabled):hover{
text-decoration:underline;
}
.subMenu a.disabled{
opacity: .5;
cursor:normal;
text-decoration: none;
}
.menuSet .icon{
display:none;
}
@media only screen and (max-width: 1470px) {
#head .inside .menuSet > ul > a, #head .inside .menuSet > ul > div{
margin-left: 20px;
}
}
@media only screen and (max-width:1370px) {
#head .inside .menuSet > ul > a, #head .inside .menuSet > ul > div{
margin-left: 10px;
}
}
@media only screen and (max-width: 1280px) {
#head .logo{
width:150px !important;
}
body{
    padding-top:97px;
}
#head .inside .menuSet > div{
position: relative;
padding: 15px 14px;
border-bottom: 1px solid #000;
}
#head .inside .menuSet > div > a:nth-child(1){
display:none;
}
#head .inside .menuSet > div > .dropdown{
display: block;
position: relative;
top: auto;
margin: 0 10px -3px -10px;
}
#head .inside .menuSet > div > .dropdown .li{
position: relative;
display: inline-block;
}
#head .inside .menuSet > div > .dropdown a{
background: none;
}
#head .inside .menuSet > ul > a:hover .li, #head .inside .menuSet > ul > div:hover .li{
transform: translate(0, 0);
}
#head{
padding:24px;
}
#head .inside{
grid-template-columns: 165px calc(100% - 165px);

align-items: center;
}
#head .btnMobileMenu{
display:block;
}
#head .inside .menuSet > ul a:hover .li, #head .inside .menuSet > ul div:hover .li{
text-decoration:none;
}
#head .inside .menuSet > ul > a:last-child{
    letter-spacing: 0;
    padding: 0;
    border-radius: 0;
}
#head .menuSet{
/*-webkit-backdrop-filter: blur(5px);
backdrop-filter: blur(5px);*/
background-color: #f7f7f7;
position: absolute !important;
width: calc(100% + 48px);
top: 72px;
left: -24px;
display:none;
z-index: 400;
}
#head .inside .menuSet > ul{
border-top: 1px solid #000;
left: 0;
padding: 0;
margin: 0;
bottom:auto;
flex-direction: column;
position: relative;
-webkit-backdrop-filter: none;
backdrop-filter: none;
}
#head .inside .menuSet > ul > a,#head .inside .menuSet > ul > div {
margin-left: 0px;
width: 100%;
border-bottom: 1px solid rgba(0,0,0,.2);
}
#head .inside .menuSet > ul .li {
width: 100%;
padding: 15px 24px;
text-align: left;
box-sizing: border-box;
}
.subMenu{
position: relative;
padding: 10px;
width: 100%;
left: 0;
border-bottom: 1px solid #000;
box-sizing: border-box;
}
.subMenu > div{
flex-direction: column;
margin: 0;
width: 100%;
}
.subMenu > div > div{
margin-left: 0;
text-align: left;
}
.subMenu a{
display: inline-block;
width: 100%;
padding: 10px 14px;
vertical-align: top;
box-sizing: border-box;
    border-bottom: 1px solid rgba(255,255,255,.5);
    box-sizing: border-box;
}
.subMenu a:not(.disabled):hover{
transform: translate(0,0);
}
.menuSet .icon{
display: block;
float: right;
width: 14px;
margin: 2px 0;
}
#head .inside .menuSet > div > a, #langSet {
    margin-right: 20px;
}
#langSet a {
    margin: 0 5px;
}
}
#head.short{
padding: 20px;
}
#head.short .inside .menuSet > ul{
bottom: -10px;
line-height: 1.2;
}
@media only screen and (max-width: 768px) {
#headOuter{
padding: 0;
}
}
/*body*/

.title{
    color: #404040;
    font-weight: bold;
    margin-bottom: 15px;
    padding: 30px 5% 30px 5%;
    font-size: 180%;
    /*background-image: url(/images/bg_title.svg);
    background-size: contain;
    background-position: left;
    background-repeat: no-repeat;
    background-color: #dfe4e5;*/
    background-color:#bdddf1;
    position: relative;
    overflow: hidden;
    text-align: right;
}

.contentPadding{
	padding: 0 45px;
}
.homeBanner{
	position:relative;
	display: block;
	overflow: hidden;
}
.homeBanner .container{
	transition: 1s;
	height: 0px;
    padding-bottom: 40%;
    position:relative;
}
.homeBanner .container a{
	position:absolute;
	display: inline-block;
	overflow: hidden;
	height:100%;
}
.homeBanner .container a .subheadline{
	font-size: 20px;
	line-height: 20px;
	text-decoration: none;
	position: absolute;
	top:45px;
	left:20px;
	text-transform: uppercase;
	font-family: 'Noto Serif TC','Abril Fatface', cursive;
	font-weight: 900;
	text-shadow: 1px 1px 2px rgba(255,255,255,.5), 1px -1px 2px rgba(255,255,255,.5), -1px 1px 2px rgba(255,255,255,.5), -1px -1px 2px rgba(255,255,255,.5), 1px 0px 2px rgba(255,255,255,.5), 0px 1px 2px rgba(255,255,255,.5), -1px 0px 2px rgba(255,255,255,.5), 0px -1px 2px rgba(255,255,255,.5);
}
.homeBanner .container a .subheadline.green{
    color:rgba(221,220,0,1);
}
.homeBanner .container a .subheadline.blue{
    color:rgba(101,170,221,1);
}
.homeBanner .container a .subheadline.orangle{
    color:rgba(247,176,0,1);
}
.homeBanner .headline{
    font-size: 250%;
	color:#FFF;
	text-decoration: none;
	position: absolute;
	bottom:20px;
	left:20px;
	text-shadow: 1px 1px 2px rgba(155,155,155,.5), 1px -1px 2px rgba(155,155,155,.5), -1px 1px 2px rgba(155,155,155,.5), -1px -1px 2px rgba(155,155,155,.5), 1px 0px 2px rgba(155,155,155,.5), 0px 1px 2px rgba(155,155,155,.5), -1px 0px 2px rgba(155,155,155,.5), 0px -1px 2px rgba(155,155,155,.5);
}
html.en .homeBanner .headline{
    font-size: 180%;
}
.homeBanner.inside .container a .headline{
	font-size: 15px;
    line-height: 20px;
    top: auto;
    bottom: 20px;
    width: calc(100% - 40px);
}

.homeBanner .container a img{

    width: 100%;
    height: 100%;
    transition: .4s;
    object-fit: cover;
}
.homeBanner .container a:hover img{
	/*transform: scale(1.1) translateY(50%);*/
}
.homeBanner .number{
	font-size: 27px;
	line-height: 32px;
	font-weight: bold;
	color:#FFF;
	text-decoration: none;
	position: absolute;
	top:20px;
	right:20px;
	text-transform: uppercase;
	font-family: 'Alpha-Headline';
}
.btn_left{
	position: absolute;
    left: 20px;
    top: 50%;
    width: 20px;
    transform: translateY(-50%);
}
.btn_right{
	position: absolute;
    right: 20px;
    top: 50%;
    width: 20px;
    transform: translateY(-50%) scaleX(-1);
}
.btnSet{
    position: absolute;
    top: 10px;
    left: 20px;
}
.btnSet a{
    display: inline-block;
    border-radius: 20px;
    margin-right: 6px;
}
.btnSet a{
    border: 2px solid rgba(255,255,255,0.5);
}
.btnSet a span{
    display: block;
    padding: 6px;
    border-radius: 20px;
    background:rgba(240,240,240,1);
}
.btnSet a.blue{
    border: 2px solid rgba(101,170,221,0.7);
}
.btnSet a.blue span{
    display: block;
    padding: 6px;
    border-radius: 20px;
    background:rgba(101,170,221,1);
}
.btnSet a.orangle{
    border: 2px solid rgba(247,176,0,0.7);
}
.btnSet a.orangle span{
    display: block;
    padding: 6px;
    border-radius: 20px;
    background:rgba(247,176,0,1);
}
.btnSet a.on span{
    background:rgba(255,255,255,1);
}
#topHeadline{
	margin: 10px 0 30px 0;
}
#topHeadline div:nth-child(1){
	font-size: 15px;
	line-height: 18px;
	color:#ee7900;
	text-transform: uppercase;
	display: block;
	letter-spacing: .5px;
	margin-bottom: 10px;
	font-family: 'Noto Serif TC','Abril Fatface', cursive;
	font-weight: 900;
}
#topHeadline div:nth-child(2){
	font-size: 36px;
	line-height: 43px;
	color: #231815;
	font-family: 'Noto Serif TC','Abril Fatface', cursive;
	display: block;
}
#topHeadline div:nth-child(2) .more{
	font-size: 18px;
	line-height: 43px;
	text-decoration: underline;
	font-weight: 700;
}
#topHeadline div:nth-child(2) a{
	color:inherit;
	text-decoration: none;
}
#topHeadline div:nth-child(2) a:hover{
	color:inherit;
	text-decoration:underline;
}
#subContent{
    margin: 20px auto 0px auto;
}
#subContent > .headline{
	font-size: 15px;
	line-height: 18px;
	color: #62a5d1;
	text-transform: uppercase;
	letter-spacing: .5px;
	margin: 0 10px 10px 10px;
	font-family: 'Noto Serif TC','Abril Fatface', cursive;
	font-weight: 900;
}
.content-grid{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;

	grid-gap: 24px;
	margin-bottom: 40px;
}
.content-grid > div{
	display: block;
	position: relative;
}
.content-grid > div > a{
	display: block;
    overflow: hidden;
    color: #040000;
}

.content-grid > div > a > img{
	width:100%;
	transition: .4s;
}

.content-grid > div > a:hover > img{
	/*transform: scale(1.1);*/
}
.content-grid > div a{
	text-decoration: none;
}
.content-grid > div a:hover{
	text-decoration:underline;
}
.content-grid > div .headline{
	color:#040000;
	font-size: 24px;
	line-height: 29px;
	font-weight: 900;
	margin-bottom: 10px;
	padding: 0 5px;
}
.content-grid > div .content{
	color:#040000;
	font-size: 15px;
	line-height: 18px;
	/*margin-bottom: 30px;*/
	font-weight: 100;
	padding: 0 5px;
}
.content-grid > div > .boxBottom{
	position:absolute;
	left:0;
	bottom:0;
	width: 100%;
	padding: 0 5px;
    box-sizing: border-box;
}
.content-grid .btn_featured, .content-grid .btn_insights, .content-grid .btn_implementation, .content-grid .btn_inmotion{
	text-transform: uppercase;
	letter-spacing: .5px;
    font-family: 'Noto Serif TC','Abril Fatface', cursive;
    font-weight: 900;
    padding:5px;
}

.green{
	color:#89b727 !important;
}
.blue{
	color:#62a5d1 !important;
}
.orange{
    color:#f7b000 !important;
}
.zh .content-grid .btn_featured span:after{
	content:'專題文章';
}
.zh .content-grid .btn_inmotion span:after{
	content:'邁前啟步';
}
.zh .content-grid .btn_implementation span:after{
	content:'發展進程';
}


.content-grid .btn_share{
	position: absolute;
	right:5px;
	color:#62a5d1;
}
.btn_m{
	width:24px;
	display: inline-block;
}
.soGroup{
	display: none;
	position: absolute;
    padding: 10px 5px;
    bottom: 18px;
    right: 0;
    background-color: rgba(255,255,255,.7);
}
.btn_share:hover ~ .soGroup, .soGroup:hover{
	display: block;
}

/*inside */
.insideType{
    font-size:18px;
    text-align:center;
    margin-top:28px;
    text-transform: uppercase;
}
.insideHeadline{
    font-size: 50px;
    line-height: 60px;
    text-align: center;
    padding: 35px 0;
    text-transform: uppercase;
    color: #040000;
    border-bottom: 1px solid #615f5f;
    max-width:800px;
    margin: auto;
}
.insideSubHeadline{
    font-size:24px;
    line-height: 29px;
    text-align:center;
    margin: 35px auto;
    color: #040000;
    font-style: italic;
    max-width:750px;
}
.insideSoGroup{
    text-align: center;
    margin-bottom: 35px;
}
.insideSoGroup a{
    display:inline-block;
    width:32px;
    margin:0 10px;
}
.insideContentHead{
    font-size:22px;
    line-height: 30px;
    max-width:750px;
    margin: 35px auto 0 auto;
}
.insideContentHead b{
    font-weight: 900;
}
.insideContent{
    font-size:20px;
    line-height: 27.5px;
    color:#040000;
    max-width:750px;
    margin: 1em auto 35px auto;
}
.insidePicGrid{
    display: grid;
    grid-template-columns: 1fr 1fr;

    grid-gap: 20px;
    max-width:750px;
    margin: 50px auto;
}
.insidePicGrid.one{
    grid-template-columns: 1fr;

}
.insidePicGrid a{
    display: block;
    overflow: hidden;
    padding-bottom: 40%;
    height: 0;
    position: relative;
}
.insidePicGrid a img{
    transition: .4s;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.insidePicGrid a img:hover{
    /*transform: scale(1.1);*/
}
.insideLineSet{
    max-width:800px;
    margin: 0 auto 40px auto;
    position: relative;
}
.insideLineSet .line{
    padding-top:20px;
    margin-bottom:20px;
    border-bottom: 1px solid #615f5f;
}
.insideLineSet .icon{
    display: block;
    width: 24px;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: 10px;
}
.insideSubContent{
    background:#FFF;
}
.insideSubContent > div{
    max-width: 900px;
    margin: auto;
    padding: 30px;
}
.insideSubContent #subContent > .headline{
    text-align: center;
    font-size: 18px;
    margin-bottom: 20px;
}
a.gotoTop{
    transition: .4s;
    font-size:18px;
    color:#727171;
    text-decoration: none;
    display: inline-block;
}
a.gotoTop img{
    width:20px;
    vertical-align: baseline;
    margin-right:10px;
}
a.gotoTop:hover{
   transform: translateY(-5px);
}


.contentBox, .contentBox2{
border-bottom: 1px solid #5c5041;
padding: 30px 0;
overflow: hidden;
}

.contentBox2 .title img{
    display:none;
}
.contentBox2 a.title{
    cursor: auto;
}
.contentBox a.title, .contentBox2 a.title{
display: grid;
grid-template-columns: 1fr 20px;

grid-gap: 20px;
font-size: 25px;
color: #544921;
text-decoration: none;
align-items: start;
    background: none;
    height: auto;
    text-align: left;
    margin: 0;
    padding: 0;
}
.contentBox2 .divtitle{
font-size: 25px;
font-weight: bold;
}
.boxContent{
display:none;
padding: 30px 0 0 0;
}
#btn_backhome{
    transition: .4s;
    font-size: 14px;
    color: #727171;
    text-decoration: none;
    position: absolute;
    right: 10px;
    top: 80px;
    text-shadow: 1px 1px 2px rgba(255,255,255,.5), 1px -1px 2px rgba(255,255,255,.5), -1px 1px 2px rgba(255,255,255,.5), -1px -1px 2px rgba(255,255,255,.5), 1px 0px 2px rgba(255,255,255,.5), 0px 1px 2px rgba(255,255,255,.5), -1px 0px 2px rgba(255,255,255,.5), 0px -1px 2px rgba(255,255,255,.5);
}
#btn_backhome img{
    width: 15px;
    vertical-align: baseline;
    margin-right: 10px;
    filter: drop-shadow(2px 2px 0px rgb(255 255 255 / 1));
}
#btn_backhome:hover{
   transform: translateY(-5px);
}
.fancybox__button--zoom, .fancybox__button--slideshow, .fancybox__button--fullscreen, .fancybox__button--thumbs{
    display:none !important;
}
.numShare{
    color: #ee7900;
    margin-top: 10px;
}
.btn_more{
    text-decoration: none;
    color: inherit;
    text-align: center;
    position: relative;
    margin: auto;
    display: block;
    width: 200px;
    font-size: 18px;
}
#floatingIcon{
    position: fixed;
    bottom: 10px;
    right: 10px;
    text-align: center;
    background: #FFF;
    font-size: 14px;
    color: #040000;
    text-decoration: none;
    width: 90px;
    height: 90px;
    border-radius: 90px;
    box-shadow: 0 0 10px rgb(0 0 0 / 50%);
    transition: all .5s;
}
#floatingIcon:hover{
    transform: scale(1.1);
}
#floatingIcon > div{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(.8);
    width: 100%;
}
#floatingIcon img{
    width: 60%;
    display: block;
    margin: auto;
    padding-bottom: 5px;
}

#footer{
    padding:20px;
    display: grid;
    grid-template-columns: 1fr 1fr;

    color:#6f7173;
    font-size: 90%;
}
#footer a{
    color: inherit;
    text-decoration:none;
}
#footer  > div:nth-child(1){
    display: grid;
    grid-template-rows: 1fr 1fr;


}
#footer  > div:nth-child(1) > div:nth-child(1){
    display: grid;
    grid-template-columns: 2fr 2fr 1.8fr 1.2fr;

    column-gap: 50px;
    align-items: center;
    padding-bottom: 15px;
}
#footer  > div:nth-child(1) > div:nth-child(2){
    position: relative;
    /* display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center; */
}
#footer  > div:nth-child(1) > div:nth-child(2) > div:nth-child(1){
    padding-top: 10px;
    padding-bottom: 10px;
    width:64%;
}
#footer  > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > a{
    display:inline-block;
    margin-right:30px;
}
html.en #footer  > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > a{
    margin-right:15px;
}
#footer  > div:nth-child(1) > div:nth-child(2) > div:nth-child(2){
    text-align: right;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: absolute;
    right: 0;
    top: 0;
    width:50%;
}
#footer  > div:nth-child(1) > div:nth-child(2) > div:nth-child(2) > a{
    display:inline-block;
    margin-left:30px;
    width: 30%;
}
#footer  > div:nth-child(2) > div:nth-child(1){
    text-align: right;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-bottom: 8px;
}
#footer  > div:nth-child(2) > div:nth-child(1) > a{
    display:inline-block;
    margin-left:15px;
    width: 11%;
}
#footer  > div:nth-child(2) > div:nth-child(2){
    text-align: right;
}
@media only screen and (max-width: 1220px) {
    #footer{
        font-size:50%;
    }
    #footer > div:nth-child(1) > div:nth-child(1) {
        column-gap: 30px;
    }
}
@media only screen and (max-width: 830px) {
    #footer {
    grid-template-columns: 1fr;
    }
    #footer > div:nth-child(2) > div:nth-child(1) {
    justify-content: flex-start;
    }
    #footer > div:nth-child(2) > div:nth-child(1) > a {
    margin-right: 15px;
    margin-left: 0px;
    }
    #footer  > div:nth-child(2) > div:nth-child(2){
    text-align: left;
    }
}
@media only screen and (max-width: 450px) {
    #footer > div:nth-child(1) > div:nth-child(1) {
        column-gap: 15px;
    }
    #footer > div:nth-child(1) > div:nth-child(2) > div:nth-child(2) > a {
    margin-left: 15px;
    width: 25%;
    }
    #footer > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > a {
        margin-right: 15px;
    }
    #footer > div:nth-child(2) > div:nth-child(1) > a {
    margin-right: 15px;
    }
    #footer > div:nth-child(1) > div:nth-child(2) > div:nth-child(2){
        top:45px;
    }
    #footer  > div:nth-child(1) > div:nth-child(2) > div:nth-child(1){
    width:100%;
    }
}

#body a{
    color: inherit;
}
.subtitle{
    font-size: 150%;
    margin: 15px 0;
    text-align: left;
}
.subtitle.noleft{
    margin-left:0;
}
.main{
    display: grid;
    grid-template-columns: 1fr 1fr;

    grid-gap: 30px;
    align-items: center;
    margin-bottom: 20px;
}
.main .item{
    display: grid;
    grid-template-columns: 50px 1fr;

    grid-gap: 20px;
    margin-top: 20px;
    border-radius: 10px;
}
.main .item:nth-child(1) > div:nth-child(1){
    color:rgb(165 179 39 / 80%);
    font-size:300%;
}
.main .item:nth-child(2) > div:nth-child(1){
    color: rgb(250 173 26 / 80%);
    font-size:300%;
}
.main .item:nth-child(3) > div:nth-child(1){
    color:rgb(6 174 239 / 80%);
    font-size:300%;
}
.main .item b{
    font-size:120%;
}
.main2{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;

    grid-gap: 30px;
    /*align-items: center;*/
    margin-bottom: 20px;
}
.main2 .item{
    display: grid;
    grid-template-columns: 1fr 1fr;

    /*align-items: center;*/
    grid-gap: 20px;
}
.main2 .item:nth-child(1) b{
    color: rgb(250 173 26 / 80%);
}
.main2 .item:nth-child(2) b{
    color:rgb(165 179 39 / 80%);
}
.main2 .item:nth-child(3) b{
    color:rgb(6 174 239 / 80%);
}
.main2 img{
    border-radius: 10px;
}
.main3{
    background-image: url(/images/pic_m0.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    height: 0;
    padding-bottom: 56.25%;
    border-radius: 10px;
    position: relative;
}
.main3 .text{
    position: absolute;
    top: 30px;
    left: 30px;
    padding: 20px;
    color: #000;
    width:calc(80% - 60px);
    box-sizing: border-box;
}
.main3 .icon{
    position: absolute;
    top: 30px;
    right: 30px;
    width:20%;
}
.main3_sp{
    display:none;
}
.sp{
    display:none;
}
@media only screen and (max-width: 1024px) {
    .sp{
    display: block !important;
    }
    .pc{
        display:none;
    }
    .main, .main2{
        grid-template-columns: 1fr !important;
    }
    .main2 .item{
        grid-template-columns: 100px 1fr;
    }
}
@media only screen and (max-width: 768px) {
    .main3{
    }
    .main3 .text{
        display:none;
    }
    .main3 .icon {
        top: 10px;
        right: 10px;
        width: 30%;
    }
    .main3_sp{
        display:block;
        padding-bottom:20px;
    }
}

.question{
    color: #FFF;
    background: #54840d;
    padding: 5px 10px;
    cursor: pointer;
    margin-bottom: 15px;
}
.text > div:last-child > .question{
    margin-bottom: 0px;
}
.answer{
    display:none;
}
.text > div:not(:last-child) > .answer ul{
    margin-top: 0;
}

.groupDocument .document {
    padding: 20px 30px;
    border-radius: 20px;
    color: #ffffff;
    background: #87b640;
    margin-bottom: 15px;
}
.groupDocument .document .btnTitle{
    display: grid;
    grid-template-columns: 1fr 20px ;

    grid-gap: 30px;
    font-size: 130%;
    cursor: pointer;
    text-align: left;
}
.groupDocument .document .btnTitle > img {
    cursor: pointer;
    transition: .3s;
    transform: rotate(-90deg);
}

.groupDocument .document .text{
    background:#FFF;
    color: initial;
    padding: 20px;
    margin-top: 20px;
    display:none;
}
@media only screen and (max-width: 768px) {
    .groupDocument .document {
    padding: 10px 15px;
    border-radius: 10px;
}
    .groupDocument .document .text {
    padding: 10px;
    margin-top: 10px;
}
    .question {
    margin-bottom: 8px;
}
    .text > div > .answer ul{
    padding-left: 20px;
}
    .groupDocument .document .btnTitle > img{
    width: 80%;
}
}

.main.main12{
    grid-template-columns: 1fr 2fr;

    align-items: start;
}
.main.main21{
    grid-template-columns: 2fr 1fr;

}
.main.main31{
    grid-template-columns: 3fr 1fr !important;

    align-items: start;
}
.main.main111{
    grid-template-columns: 1fr 1fr 1fr !important;

    align-items: stretch;
}
@media only screen and (max-width:768px){
.main.main31{
grid-template-columns: 1fr !important;

}
}
.main4{
    grid-template-columns: 1fr 1fr 1fr 1fr;

}
@media only screen and (max-width: 1024px){
   .main4{
        grid-template-columns: 1fr 1fr !important;

    } 
}
.time_estimated{
    background-color: #01ab9f;
    color:#FFF;
    padding:10px 15px;
    border-radius: 10px;
}
.time_estimated.o{
    background-color: #fbb035;
}

.time_estimated .tt > div{
    border-radius: 50%;
    background: #FFF;
    width: 50px;
    overflow: hidden;
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}
.time_estimated .tt{
    font-weight: bold;
    margin-bottom: 20px;
}
.time_estimated img{
    background: #FFF;
    width: 30px;
    padding: 10px;
    display: block;
}
.timeTo{
    display: grid;
    grid-template-columns: 1fr 1fr;

    margin-top: 5px;
    align-items: end;
    background: #FFF;
    color: #01aba0;
    padding: 0 5px;
}
.o .timeTo{
    color: #fbb035;
}
.timeTo:last-child{
    margin-bottom: 10px;
}
.timeTo div:nth-child(2){
    text-align: right;
}
.timeTo span{
    font-size: 300%;
    vertical-align: baseline;
    margin-right: 5px;
}
.fancybox-toolbar button{
    display: none !important;
}
.fancybox-toolbar button:last-child{
    display:block !important;
}

.fancybox-caption{
    position: relative;
}
.fancybox-caption > div{
    position: absolute;
    right: 0;
    top: 30px;
}
@media only screen and (max-width: 400px) {
    fancybox-caption > div{
    position: relative;
    right: auto;
    top: auto;
}
}
#homeMenu{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;

    grid-gap: 10px;
    margin-top:10px;
}
#homeMenu > a{
    position: relative;
    background-color: #FFF;
    border-radius: 10px;
    display: grid;
    grid-template-rows: 1fr 1fr;

    text-align: center;
    box-shadow: 0 2px 5px rgb(0 0 0 / 30%);
    color: #06aeef;
    font-size: 150%;
    line-height: 120%;
    text-decoration: none;
    transition: .5s;
    padding: 10% 0;
}
#homeMenu > a:hover{
    transform: translate(0%,-25px);
}
#homeMenu > a span{
    display: block;
    font-size: 50%;
}
#homeMenu > a > div:nth-child(2){
    margin-top: -18%;
    padding: 15% 5px;
}
#homeMenu > a:nth-child(5), #homeMenu > a:nth-child(6){
    color: #aec840;
}
#homeMenu > a:nth-child(7){
    color: #faaa1a;
}
#homeMenu > a div{
    position: relative;
    
}

#homeMenu > a img{
    width: 30%;
    margin: auto;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transition: .5s;
}
#homeMenu > a:hover img{
    transform: translate(-50%,-50%) rotateY(-180deg);
    transition: .5s;
}
#homeMenu > a:nth-child(2) img{
    width:32%;
}
#homeMenu > a:nth-child(3) img{
    width:28%;
}
#homeMenu > a:nth-child(4) img{
    width:32%;
}
#homeMenu > a:nth-child(5) img{
    width:28%;
}
#homeMenu > a:nth-child(6) img{
    width:32%;
}
@media only screen and (max-width: 1100px) {
    #homeMenu > a{
        font-size:120%;

    }
}
@media only screen and (max-width: 900px) {
    #homeMenu {
        grid-template-columns: 1fr 1fr 1fr;
    }
    #homeMenu > a:nth-child(5) > div:nth-child(2){

    }
}
@media only screen and (max-width: 400px) {
    #homeMenu {
        grid-gap: 5px;
    }
    #homeMenu > a{
        font-size:100%;
    }
    html.en #homeMenu > a{
        font-size:70%;
    }
    html.en #homeMenu > a span {
        font-size: 70%;
    }
    #homeMenu > a img{
        width:34% !important;
    }
}
.video{
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
}
.video iframe, .video video{
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}