/**--------------------------------------------------------
 * module
 -------------------------------------------------------*/

.pc {
    display: block;
}

.sp {
    display: none;
}

.pointer {
    cursor: pointer;
}

.hidden {
    display: none;
}

.icon-window-outer {
    position: relative;
}

a.icon-window-outer {
    display: block;
}

/* flex_container */

.flex {
    display: flex;
    flex-wrap: nowrap;
}

.flex.wrap {
    flex-wrap: wrap;
}

.flex.between {
    justify-content: space-between;
}

.flex.around {
    justify-content: space-around;
}

.flex.center {
    justify-content: center;
}

.flex.ai-center {
    align-items: center;
}

.flex.ai-start {
    align-items: flex-start;
}

.flex.ai-end {
    align-items: flex-end;
}

br.b120 {
    display: none;
}

br.nb120 {
    display: block;
}

br.b98 {
    display: none;
}

br.nb98 {
    display: block;
}

br.b76 {
    display: none;
}

br.nb76 {
    display: block;
}

br.b64 {
    display: none;
}

br.nb64 {
    display: block;
}

br.b48 {
    display: none;
}

br.nb48 {
    display: block;
}

@media screen and ( max-width: 1199px) {
    br.b120 {
        display: block;
    }
    br.nb120 {
        display: none;
    }
}

@media screen and ( max-width: 979px) {
    br.b98 {
        display: block;
    }
    br.nb98 {
        display: none;
    }
}

@media screen and ( max-width: 767px) {
    /* PC or SP Class */
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
    br.b76 {
        display: block;
    }
    br.nb76 {
        display: none;
    }
}

@media screen and ( max-width: 639px) {
    br.b64 {
        display: block;
    }
    br.nb64 {
        display: none;
    }
}

@media screen and ( max-width: 599px) {
    br.b60 {
        display: block;
    }
    br.nb60 {
        display: none;
    }
}

@media screen and ( max-width: 480px) {
    br.b48 {
        display: block;
    }
    br.nb48 {
        display: none;
    }
}

/**--------------------------------------------------------
 * slick-reset
 -------------------------------------------------------*/

.cs-outer .slick-next::before {
    content: none;
}

.cs-outer .slick-prev::before {
    content: none;
}

/**--------------------------------------------------------
 * style
 -------------------------------------------------------*/

* {
    -webkit-appearance: none;
    -moz-box-sizing: border-box;
}

body {
    width: 100%;
    overflow-y: visible;
    overflow-x: hidden;
    margin: 0 auto;
    line-height: 1em;
    font-size: 1em;
    color: #9b9b9b;
    -webkit-text-size-adjust: 100%;
}

.s5-container {
    max-width: 100%;
    padding: 0;
}

.cs-container {
    border-top: 1px solid #3f3f3f;
}

.cs-container.bg-black {
    background: #000;
}

.cs-inner {
    max-width: 1200px;
    margin: 0 auto;
}

/* contents-header logo */

.rx-tcc-logo {
    margin: 0 auto;
    padding: 30px;
    max-width: 1200px;
}

.rx-tcc-logo.rx-tcc-logo-absolute {
    position: absolute;
    z-index: 10;
    -webkit-transform: translate3d( 0, 0, 10px);
    transform: translate3d( 0, 0, 10px);
    left: 0;
    right: 0;
}

.rx-tcc-logo img {
    vertical-align: top;
    max-width: 350px;
}

.rx-tcc-logo.flex-item {
    margin: 0;
    padding: 0;
}

/* contents-footer */

#includeFooter {
    border-top: 1px solid #3f3f3f;
}

#includeFooter.bg-black {
    background: #000;
}

#includeFooter.bg-white {
    background: #fff;
}

#includeFooter.bg-white img {
    outline: 1px solid #ccc;
    outline-offset: -1px;
}

.banner-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px;
}

.banner-container a {
    display: block;
	position: relative;
}

.banner-container a.pc {
    display: block;
}

.banner-container a.sp {
    display: none;
}

.banner-container .banner-item.harf {
    flex: 0 1 48.363636%;
}

.banner-container .banner-item.harf:nth-of-type(even) {
    margin-left: 2.909090%;
}

.banner-container .banner-item.full {
    flex: 0 0 100%;
}

.banner-container .banner-item:nth-of-type(n+3) {
    margin-top: 2.909090%;
}

@supports (-ms-ime-align:auto) {
    /* edge */
    .banner-container .banner-item:nth-of-type(n+3) {
        margin-top: 30px;
    }
}

.banner-container .banner-item img {
    width: 100%;
    height: auto;
}

.contents-footer {
    border-top: 1px solid #3f3f3f;
}

.contents-footer p {
    margin: 0;
    padding: 40px 30px;
    line-height: 1.6em;
    text-align: center;
    font-size: 10px;
}

#includeFooter.bg-white .contents-footer {
    background: #000;
}

a, a:visited {
    outline: none;
    text-decoration: underline;
    color: #000;
}

a:hover, a:active {
    text-decoration: none;
    color: #000;
}

.s5-breadcrumbs a {
    text-decoration: none;
    color: inherit;
}

.s5-breadcrumbs a:hover {
    text-decoration: none;
    color: #bcbccc;
}

.fade, .fade0 {
    opacity: 1;
    transition: opacity 0.25s;
}

.fade:hover {
    opacity: 0.5;
    transition: opacity 0.5s;
}

.fade0:hover {
    opacity: 0;
    transition: opacity 0.5s;
}

@media screen and ( max-width: 979px) {
    .rx-tcc-logo {
        flex: 0 0 35%;
    }
    .rx-tcc-logo img {
        width: 100%;
        max-width: 351px;
    }
    .site-header-inner h1 {
        flex: 0 0 45%;
    }
    .site-header-inner h1 img {
        width: 100%;
    }
}

@media screen and ( max-width: 767px) {
    .rx-tcc-logo {
        padding: 25px 20px 20px;
        text-align: center;
    }
    .rx-tcc-logo img {
        max-width: 351px;
        width: 100%;
    }
    .banner-container a.pc {
        display: none;
    }
    .banner-container a.sp {
        display: block;
    }
    .banner-container {
        padding: 20px 0;
    }
    .banner-container .banner-item.harf {
        flex: 0 0 100%;
    }
    .banner-container .banner-item.harf:nth-of-type(even) {
        margin-left: 0;
    }
    .banner-container .banner-item:nth-of-type(n+2) {
        margin-top: 2.909090%;
    }
    .contents-footer p {
        margin: 0;
        padding: 30px 20px;
        line-height: 1.6em;
        text-align: center;
        font-size: 10px;
    }
    @supports (-ms-ime-align:auto) {
        /* edge */
        .banner-container .banner-item:nth-of-type(n+2) {
            margin-top: 30px;
        }
    }
}

@media screen and ( max-width: 639px) {
    @supports (-ms-ime-align: auto) {
        /* edge */
        .banner-container .banner-item:nth-of-type(n+2) {
            margin-top: 20px;
        }
    }
    .fade, .fade0 {
        opacity: 1;
        transition: opacity 0s;
    }
    .fade:hover {
        opacity: 1;
        transition: opacity 0s;
    }
    .fade0:hover {
        opacity: 1;
        transition: opacity 0s;
    }
}

/* camera-nav-wrapper */

#cameraNavWrapper {
    padding: 30px;
    border-top: 1px solid #3f3f3f;
    border-bottom: 1px solid #3f3f3f;
}

#cameraNavWrapper ul {
    list-style: none;
    padding: 0;
}

#cameraNavWrapper .flex-item {
    flex: 0 1 auto;
}

#cameraNavWrapper .flex-item img {
    max-width: 100%;
    width: 100%;
}

#cameraNavWrapper #series-DSC-RX100 {
    margin: 0 30px 0 0;
}

#cameraNavWrapper #series-DSC-RX10 {
    margin: 0 42px 0 0;
}

@media screen and ( max-width: 767px) {
    #cameraNavWrapper {
        padding: 30px 20px;
        max-width: 1200px;
    }
    #cameraNavWrapper .flex {
        flex-wrap: wrap;
    }
    #cameraNavWrapper .flex-item {
        flex: 0 1 34%;
    }
    #cameraNavWrapper li {
        margin: 0;
        padding: 0 20px;
    }
    #cameraNavWrapper #series-DSC-RX100 {
        margin: 0;
    }
    #cameraNavWrapper #series-DSC-RX10 {
        margin: 0;
    }
    #cameraNavWrapper li img {
        max-width: 100%;
    }
}

@media screen and ( max-width: 379px) {
    .rx-tcc-logo {
        text-align: left !important;
    }
    #cameraNavWrapper .flex-item {
        flex: 0 1 33%;
    }
}
