* {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    box-sizing: border-box;
}

html,
body {
    line-height: 1.4;
    font-size: 16px;
    position: relative;
    width: 100%;
    font-family: "Roboto", "Microsoft JhengHei", "微軟正黑", sans-serif;
    background: #081043;
    text-align: center;
    scroll-behavior: smooth;
    color: #ffffff;
    overflow-x: hidden;
}

body{
    overflow: hidden;
}

html {
    -webkit-text-size-adjust: 100%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

sub,
sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline;
}

main {
    display: block;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.25;
}

button,
input {
    overflow: visible;
    text-transform: none;
}


button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

textarea {
    overflow: auto;
}

[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
}

ul,
li {
    list-style: none;
}

button {
    background: transparent;
}

a{
    color: inherit;
    text-decoration: none;
    display: block;
    transition: 0.3s ease;
}

a:hover{
    -webkit-filter: brightness(130%); /* Safari */
    filter: brightness(130%);
    transition: 0.3s ease;
}

a.btn:hover{
    -webkit-filter: saturate(500%);
    filter: saturate(500%);
    transition: 0.3s ease;
}

img {
    display: block;
    max-width: 100%;
    width: auto;
    height: auto;
    vertical-align: middle;
}

.mo {
    display: none !important;
}

.pc {
    display: inline-block !important;
}

/*--font--*/
h2{
    font-size: 3.96vw;
    line-height: 1.3;
    letter-spacing: 0.39vw;
    font-weight: 600;
}

h3{
    font-size: 2.16vw;
    line-height: 1.3;
}

h4{
    font-size: 1.7vw;
    line-height: 1.3;
}

p{
    font-size: 1.3vw;
    line-height: 1.6;
    font-weight: 500;
}

h5{
    font-size: 1.08vw;
    line-height: 1.4;
    font-weight: normal;
}

/*--root: margin + color--*/
:root {
    --ssize: 1.04vw; /* 20px */
    --msize: 2.08vw; /* 40px */
    --lsize: 3.12vw; /* 60px */
    --xlsize: 4.16vw; /* 80px */
    --boxtop: 12vw;

    --colorg: #F76E1E;
    --collightbl:#30B9DE;
    --colgray: #AAAAAA;
    --colblack: #030617;
    --colwhite: #ffffff;
}

/*--color--*/
.collightbl{
    color: var(--collightbl);
}

.linrear01{
    background: linear-gradient(to bottom,  #0b0936 0%, #17428C 50%,#0268af 100%);
}

.linrear02{
    background: linear-gradient(to bottom,  #0269B3 0%, #3B2276 100%);
}

.linrear03{
    background: linear-gradient(to bottom,  #3B2276 0%, #0B0936 100%);
}

.linrear04{
    background: linear-gradient(to bottom,  #0B0936 0%, #0269B3 100%);
}

.linrear-survey{
    background: linear-gradient(180deg, #0B0936 0%, #0169B0 42.33%, #6F36AC 100%);
}

/*--other--*/
.center{
    margin: 0 auto;
}

.btnlinkweb {
    display: inline-block;
    margin: 0 auto;
    width: 25vw;
    position: relative;
    z-index: 3;
}

/*--黏人精--*/
.side_menu {
    display: none;
    position: fixed;
    right: 0;
    bottom: -1%;
    z-index: 999;
}

.side_menu.is-active {
    display: block;
}

.side_menu.is-active {
    width: 11vw;
    display: inline-block;
}

/*--margin--*/
.wall{
    max-width: 1665px;
    width: 90vw;
    margin: 0 auto;
    position: relative;
    z-index: 3;
}

header.h1{
    background: url(../images/h1Bg.png) top center no-repeat;
    background-size: contain;
    padding: 1.6vw 0 2.5vw;
    margin-bottom: var(--ssize);
}

header.h1 h2{
    text-shadow: 0 0.2vw 0.52vw rgba(0, 0, 0, 0.8), 0 0 1.56vw rgba(125, 227, 255, 0.5);
}

header.h1+h3{
    border-radius: 3vw;
    border: 0.15vw solid #FFF;
    box-shadow: 0 0 0.9vw 0 rgba(255, 255, 255, 0.8);
    width: fit-content;
    padding: 0.9vw 4.8vw;
    margin: 0 auto var(--msize);
}

.h1img{
    width: 5vw;
}

#kv{
    background-color: #070836;
}

/*--aiposition--*/
.aiposition{
    background-color: #09367C;
    position: relative;
    padding-top: 5vw;
}

.aiposition::before{
    content: '';
    display: block;
    background: url(../images/topLineBg.png) top center no-repeat;
    background-size: 100%;
    mix-blend-mode: screen;
    width: 100%;
    height: 100%;
    position: absolute;
    top: -2vw;
}

.aiposition::after{
content: '';
    display: block;
    background: url(../images/circleLight.png) top center no-repeat;
    background-size: 100%;
    opacity: 80%;
    mix-blend-mode: screen;
    width: 100%;
    padding-bottom: 32vw;
    position: absolute;
    bottom: -1vw;
}

.tagmap{
    display: flex;
    justify-content: space-between;
    margin-top: -8vw;
}

.tagmap figure{
    position: relative;
    max-width: 23vw;
    z-index: 2;
}

.tagmap figure:nth-child(2){
    margin-left: -3vw;
    margin-top: 9vw;
}

.tagmap figure:nth-child(3){
    margin-right: -3vw;
    margin-top: 9vw;
}

.tagmap figure figcaption{
    text-shadow: 0 0 1.8vw rgba(48, 185, 222, 1);
    position: absolute;
    width: 100%;
    top: 1.5vw;
}

.tagmap figure > a{
    color: var(--colwhite);
}

.tagmap figure figcaption > h4,
.tagmap figure a.btn > img{
    margin: 0 auto;
}

.tagmap figure a.btn{
    position: relative;
    bottom: 7vw;
}

.alertbox{
    background: url(../images/alertBg.png) top center no-repeat;
    background-size: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 30vw;
    height: 39vw;
    padding: 6vw 0 0vw;
    position: relative;
    color: var(--colwhite);
}

.alertbox h3{
    text-shadow: 0px 0px var(--ssize) #30B9DE;
    margin: var(--ssize) 0;
    color: #ffffff !important;
}

.alertbox .btn_alert{
    box-shadow: 0 0 0.83vw 0 rgba(48, 185, 222, 0.8);
    border-radius: 2.08vw;
    border: 0.1vw solid #FEFEFF;
    background: #30B9DE;
    color: #fff;
    text-decoration: none;
    padding: 0.8vw var(--lsize) !important;
    margin-top: var(--msize);
}

.alertbox > img{
    width: 4vw;
    margin-bottom: var(--ssize);
}

/*--nav--*/
nav{
    display: flex;
    position: absolute;
    transform: translateY(-25%);
    top: 50%;
    right: 0;
    z-index: 99;
}

nav::before{
content: '';
    display: block;
    border-right: 0.2vw dashed var(--colwhite);
    position: absolute;
    height: 19vw;
    top: 3vw;
    right: 3.3vw;
}

nav ul > li{
    background: url(../images/nav.png) top center no-repeat;
    background-size: 100%;
    width: 7vw;
    height: 6.5vw;
    font-size: 1.56vw;
    line-height: 1;
    letter-spacing: 0.12vw;
    color: #0169B0;
    font-weight: bold;
    padding: 1.7vw 0;
    position: relative;
    z-index: 2;
    transition: 0.3s ease;
}

nav ul > li.navover,
nav ul > li:hover{
    background: url(../images/nav-over.png)top center no-repeat;
    background-size: 100%;
    color: #ffffff;
    transition: 0.3s ease;
}

#entry,#data,#product,#service,#survey{
    scroll-margin-top: -11vw;
}

/*--scenario--*/


.scenario{
    padding-top: var(--boxtop);
    position: relative;
}

.t-tag{
    width: 15vw;
    clip-path: polygon(17% 0%, 100% -40%, 80% 125%, 0% 130%);
    background: var(--colorg);
    position: relative;
    left: 60.2vw;
    top: 0.6vw;
    text-align: center;
}

.scenario::before{
    content: '';
    display: block;
    background: url(../images/top-bg.png) top center no-repeat;
    background-size: 100%;
    mix-blend-mode: screen;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 5vw;
}

.scenario::after{
    content: '';
    display: block;
    background: url(../images/lightBg.png) top center no-repeat;
    background-size: 100%;
    mix-blend-mode: screen;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -20vw;
}

.title{
    background: url(../images/title-bg-s.png) top center no-repeat;
    background-size: contain;
    padding: 2vw 2vw;
    text-align: center;
    margin-bottom: 0.5vw;
}

.scenText{
    display: flex;
    justify-content: space-around;
    margin: var(--msize) 0 var(--xlsize);
    position: relative;
    z-index: 2;
}

.scenText > h3{
    border: 0.18vw solid#42E8E0;
    border-radius: 0.3vw;
    position: relative;
    padding: 1vw var(--msize);
}

.scenText > h3::before{
    content: '';
    position: absolute;
    background: url(../images/box-arrow.png) top center no-repeat;
    background-size: 100%;
    width: 1.8vw;
    padding-bottom: 1.8vw;
    top: 0.5vw;
    left: 0.5vw;
}

.scenText > h3::after{
    content: '';
    position: absolute;
    background: url(../images/box-arrow.png) top center no-repeat;
    background-size: 100%;
    transform: rotate(90deg);
    width: 1.8vw;
    padding-bottom: 1.8vw;
    top: 0.5vw;
    right: 0.5vw;
}

.scenario figure{
    margin-bottom: -8vw;
}

.scenario figure > header{
    background: linear-gradient(90deg, rgba(48, 185, 222, 0) 0%, #30B9DE 40%, #30B9DE 60%, rgba(48, 185, 222, 0) 100%);
    width: 100%;
    padding: 1vw 0;
    margin-bottom: var(--lsize);
}

.scenario figure > ul{
    display: flex;
    position: relative;
    z-index: 2;
}

.scenario figure > ul >li:nth-child(even){
    margin-top: var(--lsize);
}

/*--data--*/
.data{
    padding-top: var(--boxtop);
    position: relative;
}

.data:before{
    content: '';
    background: url(../images/cubeBg.png) center no-repeat;
    background-size: contain;
    mix-blend-mode: screen;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 5vw;
    left: 50%;
    transform: translateX(-50%);
}

.cardbox{
    display: flex;
    justify-content: center;
    margin-top: var(--msize);
}

.cardbox > article:nth-child(odd){
    margin-top: var(--lsize);
}

.cardbox > article:nth-child(-n+2){
    margin-right: var(--lsize);
}

.cardbox > article > div{
    background: url(../images/cardBg.png) top center no-repeat;
    background-size: 100%;
    width: 27vw;
    height: 26.5vw;
    padding: 3.5vw 3.5vw 0;
}

.cardbox > article > div > h3{
border: 0.15vw solid #ffffff;
    border-radius: 3vw;
    margin-bottom: var(--msize)
}

.cardbox > article > div > ul{
    text-align: left;
    width: 21vw;
    margin: 0 auto;
    padding-left: 0.8vw;
}

.cardbox > article > div > ul >li{
    list-style: disc;
    margin-bottom: 0.6vw;
}

.cardbox > article > span {
    display: block;
    position: relative;
    bottom: 0.8vw;
}

.cardbox > article > span > svg{
    width: 1vw;
}

.cardbox > article > span > p{
    border-radius: 6vw;
    border: 0.15vw solid #42E8E0;
    position: relative;
    padding: 1vw 0;
    margin-top: -0.4vw;
}

.cardbox > article > span > p::before{
    content: '';
    position: absolute;
    background: url(../images/box-arrow.png) top center no-repeat;
    background-size: 100%;
    transform: rotate(135deg);
    width: 1.8vw;
    padding-bottom: 1.8vw;
    top: 1.7vw;
    right: 1vw;
}

.cardbox > article > span > p::after{
    content: '';
    position: absolute;
    background: url(../images/box-arrow.png) top center no-repeat;
    background-size: 100%;
    transform: rotate(310deg);
    width: 1.8vw;
    padding-bottom: 1.8vw;
    top: 1.7vw;
    left: 1vw;
}

/*--solve--*/
.solve{
    padding-top: var(--boxtop);
    position: relative;
}

.solve::before{
    content: '';
    display: block;
    background: url(../images/top-bg.png) top center no-repeat;
    background-size: 100%;
    mix-blend-mode: screen;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 5vw;
}

.imgtext{
    margin-top: var(--lsize);
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: var(--msize);
}

.imgtext picture{
    width: 30vw;
}

.imgtext figcaption ul li{
    display: flex;
    align-items: center;
    margin: 1vw var(--msize);
}

.imgtext figcaption ul li img{
    margin-right: var(--ssize);
    width: 1.5vw;
}

/*--serve--*/
.serve{
    padding-top: var(--boxtop);
    position: relative;
}

.serve:before{
    content: '';
    background: url(../images/cubeBg.png) center no-repeat;
    background-size: contain;
    mix-blend-mode: screen;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 5vw;
    left: 50%;
    transform: translateX(-50%);
}

.serve > .wall > .imgtext > figcaption > ul > li{
    list-style: disc;
}

/*--togther--*/
.together{
    padding-top: var(--boxtop);
    position: relative;
    padding-bottom: var(--ssize);
}

.together::before{
    content: '';
    display: block;
    background: url(../images/top-bg.png) top center no-repeat;
    background-size: 100%;
    mix-blend-mode: screen;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 5vw;
}

.together figure{
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin-top: var(--lsize);
    position: relative;
    z-index: 3;
}

.together figure > div{
    position: relative;
    margin-right: -5vw;
    margin-left: -5vw;
}

.together figure > div:first-child{
    margin-left: 0;
}

.together figure > div:last-child{
    margin-right: 0;
}

.together figure > div:nth-child(odd){
    margin-top: 8vw;
}

.together figure > div > picture{
    width: 15vw;
    display: block;
}

.together figure > div > svg{
    width: 0.5vw;
    position: relative;
    bottom: 1.5vw;
    left: 0vw;
}

.together figure > div:nth-child(even) > svg{
    bottom: 12.2vw;
    left: 4vw;
}

.together figure > div > figcaption{
    position: absolute;
    text-align: left;
    width: 15vw;
    bottom: 1.5vw;
    left: 9vw;
}

.together figure > div:nth-child(even) > figcaption{
    bottom: 13vw;
    left: 12vw;
}

.together figure > div > figcaption h4{
    color: #30B9DE;
    margin-bottom: 0.5vw;
}

.together::after {
    content: '';
    display: block;
    background: url(../images/topLineBg.png) top center no-repeat;
    background-size: 100%;
    mix-blend-mode: screen;
    transform: rotate(180deg);
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -2vw;
}

/*--factory--*/
.factory{
    padding-top: var(--boxtop);
    padding-bottom: var(--ssize);
    position: relative;
}

.factory p+img{
    margin: var(--lsize) auto var(--msize);
    position: relative;
    z-index: 3;
}

.factory:before{
    content: '';
    background: url(../images/cubeBg.png) center no-repeat;
    background-size: contain;
    mix-blend-mode: screen;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 5vw;
    left: 50%;
    transform: translateX(-50%);
}

.arrowimg-list{
    display: flex;
    justify-content: center;
    padding-right: 3vw;
    position: relative;
    z-index: 3;
}

.arrowimg-list li{
    background: #081043;
    border-radius: 0.5vw;
    padding: 1vw var(--msize);
    border: 0.1vw solid rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
}

.arrowimg-list li:nth-child(-n+3){
    margin-right: var(--msize);
}

.arrowimg-list li h4{
    margin-right: var(--ssize);
}

.arrowimg-list li h4+img{
    width: 1.2vw;
}

/*--video--*/
.video{
    padding-top: var(--boxtop);
    padding-bottom: var(--msize);
    position: relative;
}

.video::after {
    content: '';
    display: block;
    background: url(../images/top-bg.png) top center no-repeat;
    background-size: 100%;
    mix-blend-mode: screen;
    transform: rotate(180deg);
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -2vw;
}

.season_video{
    position: relative;
}

.season_video::before{
    content: '';
    display: block;
    position: relative;
    max-width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
    margin-bottom: -17vw
}

.season_video .player_season{
    position: absolute;
    top: 0;
    right: 50%;
    width: 73%;
    height: 73%;
    transform: translateX(50%);
}

/*--media--*/
.media{
    padding-top: var(--boxtop);
    position: relative;
}

.media:before{
    content: '';
    background: url(../images/cubeBg.png) center no-repeat;
    background-size: contain;
    mix-blend-mode: screen;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 5vw;
    left: 50%;
    transform: translateX(-50%);
}

.media header+p{
    margin-bottom: var(--msize);
}

.media a.me-survey-btn{
    width: 30vw;
    display: inline-block;
    position: relative;
    z-index: 3;
}

.me-title{
    background: linear-gradient(90deg, rgba(239, 240, 255, 0.00) 0%, #30B9DE 42.07%, rgba(48, 185, 222, 0.90) 58.8%, rgba(239, 240, 255, 0.00) 100%);
    padding: 0.3vw 0;
    width: 80%;
    margin: var(--msize) auto;
}

.media figure{
    display: flex;
    justify-content: center;
    padding-bottom: var(--msize);
    position: relative;
    z-index: 3;
}

.media figure a{
    width: 25vw;
}

/*--section_survey--*/
#survey{
    padding-top: var(--boxtop);
    position: relative;
    padding-bottom: var(--lsize);
}

#survey article{
    position: relative;
    z-index: 3;
}

#survey::before{
    content: '';
    display: block;
    background: url(../images/top-bg.png) top center no-repeat;
    background-size: 100%;
    mix-blend-mode: screen;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 5vw;
}

#survey::after {
    content: '';
    display: block;
    background: url(../images/topLineBg.png) top center no-repeat;
    background-size: 100%;
    mix-blend-mode: screen;
    transform: rotate(180deg);
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -2vw;
}

#survey .me-title{
    background: linear-gradient(90deg, rgba(239, 240, 255, 0.00) 0%, rgba(239, 240, 255, 0.90) 12%, rgba(239, 240, 255, 0.90) 88.46%, rgba(239, 240, 255, 0.00) 100%);
    width: 75vw;
    color: #29313B;
}

#survey .ps-text{
    margin: var(--ssize) 0 var(--msize);
}

.ps-text > a{
    text-decoration: underline;
}

#survey ul{
    display: flex;
    justify-content: center;
}

#survey ul > li:nth-child(-n+2){
    margin-right: var(--msize);
}

#survey ul > li > span{
    display: block;
    background: url(../images/survey-Bg.png) top center no-repeat;
    background-size: 100%;
    padding: 4.5vw 0 5vw;
    width: 22vw;
    position: relative;
    margin-bottom: 1.5vw;
    transition: 0.3s ease;
}

#survey ul > li > span:hover{
    -webkit-filter: brightness(110%); /* Safari */
    filter: brightness(110%);
    transition: 0.3s ease;
}

#survey ul > li > span > img{
    width: 11.5vw;
}

#survey ul > li > span > h6{
    position: absolute;
    background-color: var(--colorg);
    font-size: 1.44vw;
    border-radius: 100%;
    padding: 1.8vw 1.44vw;
    bottom: 3vw;
    right: 2.5vw;
}

#survey ul > li img{
    margin: 0 auto;
}

#survey ul > li > h3{
    color: #6F36AC;
    padding: 0.3vw var(--ssize);
    background: #ffffff;
    border-radius: 5vw;
}

#survey ul > li > h3,
#survey ul > li > h4{
    margin-bottom: 1vw;
}

#survey ul > li > h5,
#survey .ps-text{
    color: #D4D4D4;
}

#survey .ps-text a{
    display: inline-block;
}

.btn_survey{
    font-size: 2.4vw;
    color: #ffffff;
    background-color: #29313B;
    border: 0.2vw solid var(--colorg);
    text-align: center;
    display: flex;
    width: fit-content;
    padding: 1vw 5.4vw 1vw 6vw;
    box-shadow: 0 0px 0.6vw 0 rgba(0, 140, 255, 0.5);
    border-radius: 5vw;
    margin: var(--lsize) auto 0;
    position: relative;
    z-index: 3;
    transition: 0.3s ease;
}

.btn_survey:hover{
    background: linear-gradient(to left, #0169B0 0%, #6F36AC 100%);
    border: 0.2vw solid #ffffff;
    box-shadow: 0 0px 1vw 0 rgba(0, 140, 255, 0.5);
}

.btn_survey > img{
    width: 3vw;
}


/*--box_modal--*/
.lightbox {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: none;
    height: 100%;
    width: 100%;
    z-index: 1001;
    background: rgba(0, 0, 0, 0.9);
}

.lightbox.is-active {
    display: flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
}

.lightbox .box_modal {
    display: none;
}

/*--footer--*/
footer{
    display:block;
	background: #444;
	font-size: 3.65vw;
	line-height: 1.8;
	letter-spacing: 0.05em;
	color:#fff;
}

footer p{
	font-weight: 400;
}

footer a{
	color:#fff;
	display: inline-block;
}

footer a:hover {
	color: #aaa;
}

footer .footer_wrap{
	margin: auto;
	padding: 3.6em 1.6em;
	max-width: 1600px;
}

footer .container{
	padding: 3em 0;
}

footer .wrap_head{
	display: flex;
	display: -ms-flexbox;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content:space-between;
	flex-direction:column;
}

footer .contact_content p{
	line-height: 1.5;
	text-align: left;
}

footer .contact{
	display: flex;
	display: -ms-flexbox;
	align-items: center;
	flex-wrap: wrap;
	line-height: 1.8;
}

footer .btn_content{
	display: flex;
	display: -ms-flexbox;
	flex-wrap: wrap;
	justify-content:flex-start;
}

footer .btn {
	margin-right: 5%;
	margin-top: 4%;
	width: 15%;
}

footer .btn img{
	width: 100%;
	height: auto;
}

footer .contact::before{
	display: none;
	content:"";
	margin-right: 1rem;
	padding-bottom: 3.897637em;
	width: 3.5rem;
	height: 0;
	background: url(../images/icon_phone.png) no-repeat left center;
	background-size: contain;
}

footer p.copyright{
	margin: 30px 0 0 0;
	font-size: 0.75em;
	line-height: 1.8;
	font-weight: normal;
	text-align: justify;
}

.lightbox .box_modal.is-active {
    padding-bottom: 2vw;
    display: flex;
    width: 80vw;
    padding-bottom: 0;
    padding: 2vw 3vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: transparent;
    margin: auto;
    justify-content: center;
    align-items: center;
    border-radius: 1vw;
}

.lightbox .box_modal .btn_close {
    position: absolute;
    top: 2.5vw;
    right: 10vw;
    z-index: 1002;
    width: 4vw;
    min-width: 35px;
    height: 4vw;
    min-height: 35px;
    box-sizing: border-box;
    color: #fff;
}

.lightbox .box_modal .btn_close::before,
.lightbox .box_modal .btn_close::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    display: block;
    content: "";
    width: 55%;
    height: 55%;
    margin: auto;
    z-index: 9;
    border-top: 2px solid #fff;
    transform-origin: center;
    pointer-events: none;
}

.lightbox .box_modal .btn_close::before {
    transform: rotate(45deg) translate(0, 45%);

}

.lightbox .box_modal .btn_close::after {
    transform: rotate(-45deg) translate(0, 45%);
}

.lightbox .box_modal .content_inner h3 {
    color: #0672CB;
    font-size: 2.16vw;
    margin: 0 auto 2vw;
}

.lightbox .box_modal .content_inner li {
    font-size: 1.2vw;
    line-height: 1.4;
    text-align: left;
    color: #fff;
    list-style: initial;
    margin-bottom: 1vw;
}

.box_modal.is-active {
    display: flex;
}

.box_modal .btn_close {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1002;
    width: 2em;
    min-width: 35px;
    height: 2em;
    min-height: 35px;
    box-sizing: border-box;
    color: transparent;
}

/*--footer--*/
footer{
    background: #151251;
    font-size: 2rem;
}

.container{
    width: 83.333%;
    margin: auto;
    box-sizing: border-box;
}

.container{
    padding-left: 0;
    padding-right: 0;
}

body > div.lightbox.is-active > div > div > div.content_inner{
    position: relative;
    width: 62vw;
}

.lightbox .box_modal .btn_close {
    top: 1vw;
    right: 1.5vw;
}

/*--RWD--*/
@media screen and (min-width: 1921px) {
    h2 {
        font-size: 4.12rem;
    }

    h3 {
        font-size: 2.25rem;
    }

    h4 {
        font-size: 2rem;
    }

    p {
        font-size: 1.3rem;
    }

    h5{
        font-size: 1.08rem;
    }

    /*--root: margin + color--*/
    :root {
        --ssize: 1.04rem; /* 20px */
        --msize: 2.08rem; /* 40px */
        --lsize: 3.12rem; /* 60px */
        --xlsize: 4.16rem; /* 80px */
        --boxtop: 12rem;
    }

    .side_menu.is-active {
        width: 11rem;
    }

    .tagmap figure {
        max-width: 25rem;
    }

    .tagmap figure:nth-child(2) {
        margin-left: -3rem;
        margin-top: 9rem;
    }

    .tagmap figure:nth-child(3) {
        margin-right: -3rem;
        margin-top: 9rem;
    }

    .tagmap {
        margin-top: -8rem;
    }

    .tagmap figure figcaption {
        top: 1.5rem;
    }

    .h1img {
        width: 5rem;
    }

    #entry,#data,#product,#service,#survey{
        scroll-margin-top: -11rem;
    }

    .tagmap figure a.btn {
        position: relative;
        bottom: 9rem;
    }

    .t-tag {
        left: 70rem;
    }

    .alertbox {
        width: 30rem;
        height: 39rem;
        padding: 4rem 0 0;
    }

    nav ul > li {
        width: 7rem;
        height: 6.5rem;
        font-size: 1.56rem;
        letter-spacing: 0.12rem;
        padding: 1.7rem 0;
    }

    nav::before {
        height: 19rem;
        top: 3rem;
        right: 3.3rem;
    }

    .cardbox > article > div {
        width: 27rem;
        height: 26.5rem;
        padding: 3.5rem 3.5rem 0;
    }

    .cardbox > article > div > ul {
        width: 21rem;
        padding-left: 0.8rem;
    }

    .cardbox > article > div > ul >li {
        list-style: disc;
        margin-bottom: 0.6rem;
    }

    .scenario::after {
        background: url(../images/lightBg.png) top center no-repeat;
        background-size: 80%;
        bottom: -17vw;
    }


    .scenario::after,
    .aiposition::before,
    .aiposition::after,
    .solve::before,
    .serve:before,
    .together::before,
    .factory:before,
    .video::after,
    #survey::before,
    .scenario::before{
        max-width: 1920px;
        left: 80rem;
        transform: translateX(-50%);
    }

    .aiposition::after {
        bottom: -13rem;
        padding-bottom: 51rem;
    }

    .season_video::before {
        margin-bottom: -17rem;
    }

    footer .container {
        padding: 3em 0;
        max-width: 1920px;
    }


    .together::after,
    #survey::after {
        display: none;
    }

    .btnlinkweb {
        width: 25rem;
    }

    .together figure > div > picture {
        width: 15rem;
    }

    .together figure > div > svg {
        width: 0.5rem;
        bottom: 1.5rem;
        left: 0;
    }

    .together figure > div > figcaption {
        width: 15rem;
        bottom: 1.5rem;
        left: 9rem;
    }

    .together figure > div > figcaption h4 {
        margin-bottom: 0.5rem;
    }

    .together figure > div {
        margin-right: -5rem;
        margin-left: -5rem;
    }

    .together figure > div:nth-child(even) > figcaption {
        bottom: 13rem;
        left: 12rem;
    }

    .together figure > div:nth-child(even) > svg {
        bottom: 12.2rem;
        left: 4rem;
    }

    .media a.me-survey-btn {
        width: 30rem;
    }

    .media figure a {
        width: 25rem;
    }

    #survey ul > li > span {
        padding: 4.5rem 0;
        width: 22rem;
        margin-bottom: 1.5rem;
    }

    #survey ul > li > span > h6 {
        font-size: 1.44rem;
        padding: 1.8rem 1.44rem;
        bottom: 3rem;
        right: 2.5rem;
    }

    #survey ul > li > span > img {
        width: 11.5rem;
    }

    .btn_survey {
        font-size: 2.4rem;
        border: 0.2rem solid var(--colorg);
        padding: 1rem 5.4rem 1rem 6rem;
        box-shadow: 0 0px 0.6rem 0 rgba(0, 140, 255, 0.5);
        border-radius: 5rem;
    }

    .btn_survey > img {
        width: 3rem;
    }

    .lightbox .box_modal .content_inner h3 {
        font-size: 2.16rem;
        margin: 0 auto 2rem;
    }

    .lightbox .box_modal .content_inner li {
        font-size: 1.2rem;
        margin-bottom: 1rem;
    }


}

@media screen and (max-width:767px) {
/*--font--*/
h2{
    font-size: 5vw;
    letter-spacing: 0;
}

h3{
    font-size: 4vw;
    line-height: 1.7;
}

h4{
    font-size: 3vw;
    line-height: 1.7;
    font-weight: bolder;
}

p{
    font-size: 3vw;
    line-height: 1.7;
    font-weight: bold;
}

/*--root: margin + color--*/
    .mo {
        display: block !important;
    }

    .pc {
        display: none !important;
    }

    :root {
        --ssize: 0vw; /* 20px */
        --msize: 5vw; /* 40px */
        --lsize: 10vw; /* 60px */
        --xlsize: 15vw; /* 80px */
        --boxtop: 20vw;
    }

    header.h1 {
        background-size: 100%;
        padding: 2vw 0 5vw;
    }

    .aiposition::before {
        background: url(../images/topLineBg.png) top center no-repeat;
        background-size: 200%;
        top: -10vw;
    }

    .aiposition::after {
        background: url(../images/circleLight.png) top center no-repeat;
        background-size: 250%;
        padding-bottom: 77vw;
        bottom: 10vw;
    }

    .tagmap {
        flex-wrap: wrap;
        margin-top: 5vw;
    }

    .tagmap figure {
        max-width: 43vw;
    }

    .aiposition h4.mo{
        border-radius: 3vw;
        border: 0.15vw solid #FFF;
        box-shadow: 0 0 0.9vw 0 rgba(255, 255, 255, 0.8);
        width: fit-content;
        padding: 0.9vw 4.8vw;
        margin: 0 auto var(--msize);
    }

    .aiposition h4.mo {
        border-radius: 5vw;
        padding: 1vw 8.8vw;
    }

    .tagmap figure figcaption {
        top: 2.8vw;
    }

    .tagmap figure a.btn {
        bottom: 15vw;
    }

    .aiposition h4.mo+img {
        max-width: 8vw;
        margin-top: -2vw;
    }

    .tagmap figure:nth-child(2),
    .tagmap figure:nth-child(3){
        margin-right: 0;
        margin-top: 0;
    }

    .tagmap figure:nth-child(3),
    .tagmap figure:nth-child(4){
        margin-top: -10vw;
    }

    .title {
        margin-bottom: 3vw;
    }

    .scenario::before {
        background: url(../images/top-bg.png) top center no-repeat;
        background-size: 250%;
        top: 5vw;
    }

    .t-tag {
        width: 35vw;
        left: 47.2vw;
    }

    .scenText {
        flex-direction: column;
    }

    .scenText > h3::before {
        width: 5vw;
        padding-bottom: 5vw;
        top: 2vw;
        left: 2vw;
    }

    .scenText > h3::after {
        width: 5vw;
        padding-bottom: 5vw;
        top: 2vw;
        right: 2vw;
    }

    .scenText > h3 {
        border-radius: 1.3vw;
        padding: 2vw var(--msize);
    }

    .scenText > h3:nth-child(-n+2){
        margin-bottom: 3vw;
    }

    .scenText {
        margin: var(--msize) 0 var(--msize);
    }

    .scenario figure > ul {
        flex-wrap: wrap;
        justify-content: center;
    }

    .scenario figure > ul > li{
        width: 28vw;
    }

    .scenario figure > ul > li:nth-child(n+4){
        margin-top: -40vw !important;
        width: 41vw;
        position: relative;
    }

    .scenario figure > ul > li:nth-child(5){
        left: -7vw;
    }

    .scenario figure > ul >li:nth-child(even) {
        margin-top: 0;
    }

    nav {
        transform: translateY(-20%);
    }

    nav ul > li {
        width: 16vw;
        height: 15.5vw;
        font-size: 4vw;
        padding: 3.8vw 0;
    }

    nav::before {
        height: 45vw;
        right: 8vw;
    }

    .scenario::after {
        background: url(../images/lightBg.png) top center no-repeat;
        background-size: 180%;
        bottom: -95vw;
    }

    .scenario figure {
        margin-bottom: 0;
    }

    .btnlinkweb {
        width: 60vw;
    }

    .alertbox {
        width: 60vw;
        height: 75vw;
        padding: 9vw 0 3.5vw;
    }

    .alertbox > img {
        width: 10vw;
        margin-bottom: 2vw;
    }

    .alertbox h3 {
        font-size: inherit !important;
    }

    .alertbox .btn_alert {
        border-radius: 5vw;
        padding: 1vw var(--lsize) !important;
        margin-top: var(--msize);
    }

    .data:before,
    .serve:before,
    .media:before,
    .factory:before{
        background: url(../images/cubeBg.png) center no-repeat;
        background-size: 280%;
    }

    .cardbox {
        flex-direction: column;
        align-items: center;
    }

    .cardbox > article{
        margin-bottom: 5vw;
    }

    .cardbox > article:nth-child(-n+2) {
        margin-right: 0;
    }

    .cardbox > article:nth-child(odd) {
        margin-top: 0;
    }

    .cardbox > article > div {
        background: url(../images/cardBg_mo.png) top center no-repeat;
        background-size: 100%;
        width: 85vw;
        height: 56.5vw;
        padding: 10vw 8vw 0;
    }

    .cardbox > article > div > h3 {
        border-radius: 5vw;
        padding: 1vw 0 0.8vw;
    }

    .cardbox > article > div > ul {
        max-width: 61vw;
        width: fit-content;
    }

    .cardbox > article > span {
        bottom: 2.8vw;
    }

    .cardbox > article > span > svg {
        width: 3vw;
    }

    .cardbox > article > span > p {
        border-radius: 6vw;
        padding: 2.5vw 0;
        margin-top: -1.8vw;
    }

    .cardbox > article > span > p::before {
        width: 5vw;
        padding-bottom: 5vw;
        top: 2.5vw;
        right: 3vw;
    }

    .cardbox > article > span > p::after {
        width: 5vw;
        padding-bottom: 5vw;
        top: 2.5vw;
        left: 3vw;
    }

    .imgtext {
        flex-direction: column;
        margin-top: var(--msize);
    }

    .imgtext picture {
        width: 65vw;
        margin-bottom: 5vw;
    }

    .imgtext figcaption ul li {
        margin: 3vw var(--msize);
    }

    .imgtext figcaption ul li img {
        margin-right: 2vw;
        width: 4vw;
        transform: rotate(90deg);
    }

    .solve::before {
        background: url(../images/top-bg.png) top center no-repeat;
        background-size: 250%;
        top: 5vw;
    }

    .together::before {
        background: url(../images/top-bg.png) top center no-repeat;
        background-size: 250%;
        top: -5vw;
    }

    .together figure {
        flex-wrap: wrap;
        align-items: flex-start;
    }

    .together figure > div:nth-child(odd) {
        margin-top: 0;
    }

    .together figure > div > picture {
        width: 40vw;
    }

    .together figure > div > figcaption,
    .together figure > div:nth-child(even) > figcaption {
        position: relative;
        text-align: center;
        width: 40vw;
        bottom: 0;
        left: 0;
    }

    .together figure > div > figcaption > h5{
        font-size: 2.8vw;
        line-height: 1.7;
    }

    .together figure > div {
        margin-right: 0;
        margin-left: 0;
        margin-bottom: 5vw;
    }

    .together::after {
        background: url(../images/topLineBg.png) top center no-repeat;
        background-size: 250%;
        bottom: -9vw;
    }

    .arrowimg-list {
        justify-content: center;
        padding-right: 5vw;
        flex-wrap: wrap;
        margin-top: 5vw;
    }

    .arrowimg-list li:nth-child(-n+3) {
        margin-right: 0;
    }

    .arrowimg-list li{
        width: 40vw;
        justify-content: center;
        margin-bottom: 3vw;
        border-radius: 2vw;
    }

    .arrowimg-list li > img{
        width: 3vw;
        margin-left: 2vw;
    }

    .arrowimg-list li:nth-child(odd){
        margin-right: 3vw;
    }

    .video::after {
        background: url(../images/top-bg.png) top center no-repeat;
        background-size: 250%;
    }

    .season_video .player_season {
        top: 0;
        right: 0;
        width: 100%;
        height: 100%;
        transform: translateX(0%);
    }

    .season_video{
        margin-bottom: 15vw;
    }

    .media .me-survey-btn,
    .media figure a{
        width: 60vw !important;
    }

    .media figure {
        flex-direction: column;
        align-items: center;
    }

    #survey::before {
        background: url(../images/top-bg.png) top center no-repeat;
        background-size: 250%;
        top: 0vw;
    }

    #survey h5{
        font-size: 2.8vw;
    }

    #survey .ps-text {
        margin: 3vw 0;
    }

    #survey ul {
        flex-wrap: wrap;
    }

    #survey ul > li:first-child{
        width: 80vw;
        margin-bottom: 5vw;
    }

    #survey ul > li:first-child > h3{
        width: 40vw;
        margin: 0 auto 3vw;
    }

    #survey ul > li > span {
        padding: 7vw 0;
        width: 40vw;
        margin: 0 auto 5vw;
    }

    #survey ul > li img {
        width: 23vw !important;
    }

    #survey ul > li > h3, #survey ul > li > h4 {
        margin-bottom: 3vw;
    }

    #survey ul > li > span > h6 {
        font-size: 2.8vw;
        padding: 3.3vw 2.8vw;
        bottom: 4vw;
        right: 5.5vw;
    }

    .btn_survey {
        font-size: 5vw;
        padding: 2vw 10vw 2vw 11vw;
        border-radius: 10vw;
    }

    .btn_survey img{
        width: 5vw;
        margin-left: 2vw;
    }

    #survey::after {
        background: url(../images/topLineBg.png) top center no-repeat;
        background-size: 250%;
    }

	footer{
		font-size: 1.4vw;
	}
	footer .footer_wrap{
		padding: 2.5em 4.5em;
	}
	/* footer .contact::before{
		display: block;
	} */
	footer .wrap_head{
		flex-direction:row;
		align-items: center;
	}
	footer .btn_content{
        justify-content: flex-start;
        margin-top: 5vw;
	}

	footer .btn {
		margin-left: 5%;
		margin-right: 0;
		margin-top: 0;
		width: 16.5%;
		max-width: 100px;
	}

    footer .btn:first-child {
		margin-left: 0%;
    }

    footer p.copyright {
        margin: 5vw 0 0 0;
        font-size: 2.9vw;
        line-height: 1.7;
    }

    .lightbox .box_modal .content_inner h3 {
        font-size: 5vw;
    }

    .lightbox .box_modal .content_inner li {
        font-size: 2.8vw;
        line-height: 1.7;
        margin-bottom: 3vw;
    }

    .side_menu.is-active {
        width: 17vw;
    }

    .side_menu {
        bottom: 1%;
    }

    body > div.lightbox.is-active > div > div > div.content_inner {
        position: relative;
        width: 90vw;
    }
}

@media screen and (min-width:768px){

	footer{
		font-size: 1.4vw;
	}
	footer .footer_wrap{
		padding: 2.5em 4.5em;
	}
	footer .contact::before{
		display: block;
	}
	footer .wrap_head{
		flex-direction:row;
		align-items: center;
	}
	footer .btn_content{
		justify-content:flex-end;
	}

	footer .btn {
		margin-left: 5%;
		margin-right: 0;
		margin-top: 0;
		width: 16.5%;
		max-width: 100px;
	}
}

/*@media screen and (min-width:991px){
	footer{
		font-size: 1.2vw;
	}
}

@media screen and (min-width:1200px){
	footer{
		font-size: 1.15vw;
	}
	.box_modal{
		width: 80%;
		height: max-content;
	}
}

@media screen and (min-width:1720px){

	footer .container {
		width: 79%;
	}

	.box_modal .btn_close::before,.box_modal .btn_close::after{
		border-width: 3px;
	}
} */
