* {
    margin: 0;
    padding: 0;
    border:  0;
    outline: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;

    font-family: sans-serif;
    font-size: 100%;
    font-style: inherit;
    font-weight: inherit;

    text-decoration: none;
    vertical-align: baseline;

}

html {
    width: 100%;
    height:100%;
}

body {
    width: 100%;
    height:100%;
    background-color: transparent;
}

body.redirect-page {
    min-width: initial;
    min-height: initial;
}

#header {
    width: 100%;
    height: 70px;
    background-color: black;
    position: fixed;
    z-index: 1;
    display: flex;
    align-items: center;
}

body.redirect-page #header {
    border-bottom: none;
    z-index: 1;
}

#header a {
    margin-left: 38px;
    height: 22px;
}
#header-logo-img {
    width: 100px;
    height: auto;
    margin: 2px;
}

.scroll-area {
    height: 100%;
    overflow: hidden;
    bottom: 0;
}

#main {
    width: 100%;
    height: calc(100% - 160px);
    margin-top: 70px;
}

#main-container {
    width: 100%;
    height:100%;
    background-image: url("../images/c3portal_toppage_image.png");
    background-position: center center;
    background-size: cover;
}

#main-container-alpha {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    background-color: rgba(0, 0, 0, 0.5);
}

#main-container-place-holder {
    width: 100%;
    position: relative;
    padding-top: calc((100vh - 428px) * 0.15);
}
#main-container-place-holder #title-container {
    text-align: center;
    position: relative;
    height: 100px;
}
#main-container-place-holder #title {
    width: 240px;
    height: 100px;
}

#description-container {
    width: 100%;
    text-align: center;
    color: white;
    padding-top: calc((100vh - 428px) * 0.15);
    font-size: 1.2em;
}

#sign-in {
    padding-top: calc((100vh - 728px) * 0.30);
}
#ci-sign-in, #ci-sign-idp {
    padding-top: calc((100vh - 528px) * 0.05);
    margin-top: 2px;
}
#sign-in, #ci-sign-in, #ci-sign-idp {
    text-align: center;
}
#sign-in a, #ci-sign-in a, #ci-sign-idp a {
    background-color: #823cff;
    padding: 6px 15px 7px 15px;
    width: 240px;
    height: 36px;
    text-align:center;
    text-decoration: none;
    display: inline-block;
    border-radius: 4px;
    font-family: Verdana,sans-serif;
    color: #ffffff;
    outline : none;
    border: 2px solid #823cff;
}
#sign-in a:hover,
#ci-sign-in a:hover,
#ci-sign-idp a:hover {
    background-color: #823cff;
    border-color: #823cff;
}

#ci-sign-idp-setting {
    color: #ffffff;
    font-size: 12px;
    margin-top: 4px;
    line-height: 12px;
    text-align: center;
}

.ci-sign-idp-setting-label {
    text-align: center;
    display: inline-block;
    width: auto;
    height: 21px;
    white-space: nowrap;
}

.idp-chk {
    box-sizing: border-box;
    align-items: center;
    display: inline-block;
    width: 18px;
    height: 18px;
    position: relative;
    top: 5px;
    cursor: pointer;
    user-select: none;
}

.idp-chk > input[type=checkbox] {
    margin: 0;
    width: 0;
    opacity: 0;
}

.idp-chk > .ci-sign-idp-chkt-dummyinput {
    width: 18px;
    height: 18px;
    color: #ffffff;
    display: inline-block;
    margin-top: -11px;
    position: relative;
    top: 10px;
    right: 5px;
}

.idp-chk > input[type=checkbox]:not(:checked) + .ci-sign-idp-chkt-dummyinput {
    background: transparent;
    border: 2px solid #999999;
    content: '';
}

.idp-chk:hover > input[type=checkbox]:not(:checked) + .ci-sign-idp-chkt-dummyinput {
    background: #464646;
    border: 2px solid #999999;
    content: '';
}

.idp-chk:active > input[type=checkbox]:not(:checked) + .ci-sign-idp-chkt-dummyinput {
    background: #222222;
    border: 2px solid #999999;
    content: '';
}

.idp-chk > input[type=checkbox]:checked + .ci-sign-idp-chkt-dummyinput  {
    background:  no-repeat center / 230% url('../images/checkmark.svg') #823CFF;
    border: 1px solid #823CFF;
    content: '';
}

.idp-chk:hover > input[type=checkbox]:checked + .ci-sign-idp-chkt-dummyinput  {
    background:  no-repeat center / 230% url('../images/checkmark.svg') #7837eb;
    border: 1px solid #7837eb;
    content: '';
}

.idp-chk:active > input[type=checkbox]:checked + .ci-sign-idp-chkt-dummyinput  {
    background:  no-repeat center / 230% url('../images/checkmark.svg') #7235e0;
    border: 1px solid #7235e0;
    content: '';
}

.ci-sign-idp-setting-label > .label {
    display: inline-block;
    font-size: 14px;
    position: relative;
    top: 11px;
    left: 8px;
}

input[type=checkbox]:checked + .idp-chk::after {
    opacity: 1;
}

#main-about-container {
    text-align: center;
    padding-top: calc((100vh - 528px) * 0.15);
    margin-top: 2px;
}
#main-about-container a, #main-announcement a {
    color: white;
    text-decoration: underline;
}
#main-about-container a:hover, #main-announcement a:hover {
    color: white;
    text-decoration: underline;
}

#main-announcement {
    display: flex;
    justify-content: center;
    padding-top: calc((100vh - 428px) * 0.05);
}
div.new-icon {
    width: 42px;
    height: 19px;
    margin-left: 5px;
    font-size: 60%;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFFFFF;
    background-color: #DC3A00;
}

#footer {
    width: 100%;
    background-color: black;
    color: #b3b3b3;
    font-size: 0.7em;
    line-height: 200%;
    padding: 10px 15px 10px 40px;
    /*border-top: 1px solid #666;*/
    overflow: hidden;
}

#footer-links {
    /*display: flex;*/
    /*align-items: center;*/
}
#footer-links span {
    border-left: 1px solid #b3b3b3;
    margin: 0 9px 0 9px;
    height: 15px;
}

#footer a {
    color: #b3b3b3;
    text-decoration: none;
    white-space: nowrap;
}

#footer a:hover {
    color:#fff;
    text-decoration:underline;
}

#global-copyright-sony {
    white-space: normal;
    word-wrap: break-word;
    -ms-word-wrap: break-word;
}

#redirect-contents {
    width: 100%;
    height: 100%;
    color: #FFFFFF;
    background-color: #2A2A2A;
    padding-top: 70px;
    position: fixed;
    text-align: center;
}

#redirect-contents a {
    color: #22c6ff;
    text-decoration: underline;
}

#redirect-consideration {
    font-size: 120%;
    font-weight: bold;
    margin-top: 50px;
    margin-bottom: 50px;
}

a {
    border-radius: 4px;
}

select {
    background-color: black;
    color: #b3b3b3;
    border-radius: 4px;
    box-shadow: 0 0 0 1px #ffffff;
}

a:focus, select:focus {
    box-shadow: 0 0 0 2px #ff6400;
}

select:hover {
    cursor: pointer;
}

#footer-select-box {
    font-size: 14px;
    margin-bottom: 5px;
}

#footer-select-box select {
    width: 220px;
    margin-left: 9px;
}

#footer-language-apply-button {
    background-color: black;
    color: #b3b3b3;
    border-radius: 4px;
    box-shadow: 0 0 0 1px #ffffff;
    margin-left: 9px;
    padding: 1px 0.5em;
    font-size: 14px;
}

#footer-language-apply-button:focus {
    box-shadow: 0 0 0 2px #ff6400;
}

#footer-language-apply-button:hover {
    cursor: pointer;
}

#footer-language-apply-button:disabled {
    color: #6C6C6C;
    box-shadow: 0 0 0 1px #565656;
}

#footer-language-apply-button:hover:disabled {
    cursor: default;
}
