@charset 'UTF-8';
/* CSS Document */
.spD
{
    display: inline;
}
@media screen and (min-width: 980px)
{
    .spD
    {
        display: none;
    }
}

.pcD
{
    display: none;
}
@media screen and (min-width: 980px)
{
    .pcD
    {
        display: inline;
    }
}

.taC
{
    text-align: center;
}

.fwB
{
    font-weight: bold;
}

.btn
{
    margin-bottom: 12px;
}
.btn a
{
    position: relative;

    display: inline-block;

    box-sizing: border-box;
    width: 100%; 
    padding: 12px 30px 12px 12px;

    transition: all linear .3s;
    text-align: center;

    color: #fff;
    border-radius: 5px;
    background: #ea4b41;
    box-shadow: 0 3px 0 #c81005;
}
.btn a:hover
{
    color: #fff; 
    background: #c81005;
}
.btn a:after
{
    position: absolute;
    top: 50%;
    right: 10px;

    display: block;

    width: 0;
    height: 0;

    content: '';
    transform: translateY(-50%);

    border-width: 5px 0 5px 5px;
    border-style: solid;
    border-color: transparent transparent transparent #c81005;
}
.btn.btn-green a
{
    background: #176324;
    box-shadow: 0 3px 0 #0a4214;
}
.btn.btn-green a:after
{
    border-color: transparent transparent transparent #0a4214;
}
.btn.btn-green a:hover
{
    color: #fff; 
    background: #0a4214;
}
.btn.btn-l
{
    margin: 40px 0 20px;
}
.btn.btn-l a
{
    position: relative;
    z-index: 0; 

    display: block;

    max-width: 500px;
    margin: 0 auto;
    padding: 15px 30px 15px 12px;

    color: #fff;
    background: #003a82;
    box-shadow: none;
}
.btn.btn-l a::after
{
    display: none;
}
.btn.btn-l a::before
{
    position: absolute;
    z-index: -1;
    bottom: -5px;
    left: 50%;

    display: block;

    width: 30px;
    height: 30px;

    content: '';
    transition: all ease .3s; 
    transform: translateX(-50%);

    background: url('../img/ico-btn-arrow.svg') no-repeat center center;
    background-size: contain;
}
.btn.btn-l a:hover::before
{
    bottom: -20px;
}
@media screen and (min-width: 980px)
{
    .btn a
    {
        width: auto; 
        padding: 6px 30px 6px 12px;
    }
    .btn.btn-l
    {
        margin-top: 90px;
    }
}

/* CSS Document */
html
{
    font-family: 'Open Sans', sans-serif;
    font-size: 62.5%;
    line-height: 1.8;

    color: #333;
    background: #fff; 

    -webkit-font-kerning: normal;
            font-kerning: normal;
}

body
{
    font-size: 1.4em;
    line-height: 1.8; 

    margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary
{
    display: block;
}

blockquote,
dd,
div,
dl,
dt,
h1,
h2,
h3,
h4,
h5,
h6,
li,
ol,
p,
pre,
span,
td,
th,
ul
{
    margin: 0;
    padding: 0;

    transition: font-size .1s linear;
}

h1,
h2,
h3,
h4,
h5,
h6
{
    font-size: 1rem;
    font-weight: normal;
}

a
{
    transition: color .1s linear; 
    text-decoration: none;

    color: #ea4b41;
}

a:active,
a:hover
{
    color: #c81005;
    outline: 0;
}

b,
strong
{
    font-weight: bold;
}

h1,
h2,
h3,
p,
div,
table
{
    margin: 0;
}

ul,
li
{
    list-style: none;
}

small
{
    font-size: 80%;
}

sub,
sup
{
    font-size: 75%;
    line-height: 0;

    position: relative;

    vertical-align: baseline;
}

sup
{
    top: -.5em;
}

sub
{
    bottom: -.25em;
}

img
{
    vertical-align: bottom; 

    border: 0;
}

pre
{
    overflow: auto;
}

table
{
    border-spacing: 0; 
    border-collapse: collapse;
}

figure
{
    margin: 0;
    padding: 0;
}

input,
textarea
{
    padding: 0;
}

input[type='submit']
{
    border: none; 
    border-radius: 0;

    -webkit-appearance: none;
}

input[type='text'],
input[type='password'],
input[type='email'],
input[type='tel'],
textarea
{
    border: 1px solid #d2d2d2;
    border-radius: 0; 

    -webkit-appearance: none;
}
input[type='text']:focus,
input[type='password']:focus,
input[type='email']:focus,
input[type='tel']:focus,
textarea:focus
{
    border-color: #ea4b41;
    outline: none;
}

address
{
    font-size: 1rem;
    font-style: normal;
}

i
{
    font-style: normal;
}

.inner
{
    position: relative; 

    padding: 0 10px;
}
@media screen and (min-width: 980px)
{
    .inner
    {
        width: 960px;
        margin: 0 auto;
        padding: 0;
    }
}

::-moz-selection
{
    background: rgba(0, 129, 204, .3);
}

::selection
{
    background: rgba(0, 129, 204, .3);
}

::-moz-selection
{
    background: rgba(0, 129, 204, .3);
}

header
{
    border-top: 10px solid #003a82;
    background: #fff;
    box-shadow: 0 3px 2px rgba(0, 0, 0, .15);
}
header .logoEverio
{
    line-height: 1; 

    padding: 1px 0 2px;

    text-align: right;

    background: #003a82;
}
header .logo
{
    width: 100px;
    height: auto;
    margin: 0 auto; 
    padding: 12px 0;

    transition: all ease-out .1s;
}
header .logo a
{
    line-height: 1;

    display: block;
}
header .logo a img
{
    width: 100%;
    height: auto;
}
header h1,
header h1 + p
{
    text-shadow: 0 1px 5px rgba(0, 0, 0, .5);
}
@media screen and (min-width: 980px)
{
    header
    {
        position: fixed;
        z-index: 10000;
        top: 0;
        left: 0;

        width: 100%;

        transition: all ease-out .2s;
    }
    header .inner
    {
        padding: 0;
    }
    header .logo
    {
        width: 113px; 
        margin: 0;
        padding: 12px 0;
    }
    .fixed header
    {
        top: -8px;
    }
    .fixed header .logo
    {
        width: 50px;
    }
}
header nav
{
    position: fixed;
    z-index: 2000;
    top: 0;
    left: -280px;
    left: -80vw;

    overflow-y: auto;

    width: 280px;
    width: 80vw;
    height: 100%;

    transition: left .5s cubic-bezier(.23, 1, .32, 1); 

    background: #003a82;

    -webkit-overflow-scrolling: touch;
}
.open header nav
{
    left: 0;
}
header nav .inner
{
    padding: 0;
}
header nav ul
{
    overflow-y: auto;

    width: 100%;
    height: 100%;
}
header nav ul li a
{
    font-family: 'Noto Sans', sans-serif; 

    display: block;

    padding: 10px;

    color: #fff;
    border-bottom: 1px solid #001e48;
}
header nav ul li a:hover
{
    color: #001e48;
}
header nav ul li img
{
    width: 70px;
    height: auto;
}
@media screen and (min-width: 980px)
{
    header nav
    {
        position: absolute;
        right: 0; 
        left: 0;

        width: auto;
        height: auto;

        background: none;
    }
    .fixed header nav ul
    {
        width: 900px;
    }
    .fixed header nav ul li a
    {
        font-size: .9rem;
        line-height: 1.2rem; 

        height: 43px;
    }
    header nav ul
    {
        display: table; 

        width: 780px;
        height: auto;
        margin: 0 0 0 auto;
    }
    header nav ul li
    {
        display: table-cell;

        padding: 0 20px;
    }
    header nav ul li a
    {
        font-size: 1.2rem;
        line-height: 1.8rem;

        display: table-cell;

        height: 68px;
        padding: 0;

        text-align: center;
        vertical-align: middle; 

        color: inherit;
        border: none;
    }
    header nav ul li a:hover
    {
        color: #ea4b41;
    }
}

footer
{
    padding-top: 30px;
}
footer #pagetop
{
    padding-bottom: 50px;

    text-align: center; 

    background: url(../img/bg_pagetop.svg) no-repeat center bottom;
    background-size: 300px auto;
}
footer #pagetop a
{
    font-family: 'Sriracha', cursive;
    font-size: 2rem;
    line-height: 2.4rem;

    display: block;

    height: 40px;
    margin-bottom: 20px;
    padding: 18px 0;

    transition: all linear .3s;

    color: #333; 
    background: url(../img/ico_arrow_top.svg) no-repeat center center;
    background-size: contain;
}
@media screen and (min-width: 980px)
{
    footer #pagetop a
    {
        font-size: 2.4rem;
        line-height: 3rem;
    }
}
footer #pagetop a:hover
{
    color: #003a82;
}
footer .copy
{
    color: #fff; 
    background: #003a82;
}
footer .copy address
{
    font-size: .9rem;
    line-height: 1.2rem;

    padding: 12px 0;

    text-align: center;
}
@media screen and (min-width: 980px)
{
    footer .copy
    {
        padding: 42px 0;
    }
    footer .copy address
    {
        font-size: 1.4rem;
        line-height: 2.4rem; 

        padding-bottom: 0;
    }
}

#pagetopFix
{
    position: fixed;
    right: 10px;
    bottom: 10px;

    display: none;

    width: 40px;
    height: 40px;

    text-align: center;
    vertical-align: middle;
}
#pagetopFix a
{
    display: block;

    width: 40px;
    height: 40px;

    border-radius: 50%; 
    background: rgba(0, 58, 130, .8);
}
#pagetopFix img
{
    width: auto;
    height: 60%;
    padding-top: 20%;
}
@media screen and (min-width: 980px)
{
    #pagetopFix
    {
        width: 60px;
        height: 60px;
    }
    #pagetopFix a
    {
        width: 60px;
        height: 60px;
    }
}

#panel-btn
{
    position: fixed;
    z-index: 1000;
    top: 25px;
    right: 5px;

    width: 40px;
    height: 40px;

    transition: top linear .3s;
    text-align: center; 

    border-radius: 50%;
    background: #003a82;
}
@media screen and (min-width: 980px)
{
    #panel-btn
    {
        display: none;
    }
}
.fixed #panel-btn
{
    top: 10px;
}
#panel-btn.close #panel-btn-icon
{
    background: transparent;
}
#panel-btn.close #panel-btn-icon:before,
#panel-btn.close #panel-btn-icon:after
{
    margin-top: 0;
}
#panel-btn.close #panel-btn-icon:before
{
    -webkit-transform: rotate(-45deg); 
            transform: rotate(-45deg);
}
#panel-btn.close #panel-btn-icon:after
{
    -webkit-transform: rotate(-135deg); 
            transform: rotate(-135deg);
}
#panel-btn #panel-btn-icon
{
    position: absolute;
    top: 40%;
    left: 50%;

    display: block;

    width: 14px;
    height: 2px;
    margin: -1px 0 0 -7px;

    transition: .2s; 

    background: #fff;
}
#panel-btn #panel-btn-icon:before,
#panel-btn #panel-btn-icon:after
{
    position: absolute;
    top: 50%;
    left: 0;

    display: block;

    width: 14px;
    height: 2px;

    content: '';
    transition: .3s; 

    background: #fff;
}
#panel-btn #panel-btn-icon:before
{
    margin-top: -6px;
}
#panel-btn #panel-btn-icon:after
{
    margin-top: 4px;
}
#panel-btn #txt
{
    font-size: 1rem;
    line-height: 1;

    display: inline-block; 

    padding-top: 28px;

    -webkit-transform: scale(.8);

    color: #fff;
}

.section
{
    padding: 30px 0;
}
.section h2.ttl
{
    font-family: 'Sriracha', cursive;
    font-size: 2.4rem;
    line-height: 3.0rem;

    margin-bottom: 20px; 
    padding-bottom: 12px;

    text-align: center;

    color: #333;
    background: url(../img/bg_ttl_btm.svg) no-repeat center bottom;
    background-size: 250px auto !important;
}
@media screen and (min-width: 980px)
{
    .section h2.ttl
    {
        font-size: 3.6rem;
        line-height: 4.8rem;
    }
}
.section h2.ttl:before
{
    display: block;

    height: 40px;
    margin-bottom: 4px; 

    content: '';

    background: url(../img/bg_ttl_top.svg) no-repeat center top;
    background-size: contain;
}
.section h3.subTtl
{
    font-family: 'Noto Sans', sans-serif;
    font-size: 2rem;
    line-height: 2.4rem;

    position: relative; 

    margin-bottom: 12px;
}
@media screen and (min-width: 980px)
{
    .section h3.subTtl
    {
        font-size: 2.4rem;
        line-height: 3rem;
    }
}
@media screen and (min-width: 980px)
{
    .section h3.subTtl
    {
        margin-bottom: 24px;
    }
    .section h3.subTtl:before
    {
        position: absolute;
        z-index: 1; 
        top: 50%;

        display: block;

        width: 100%;
        height: 1px;

        content: '';

        border-top: solid 3px #e8e8e8;
    }
    .section h3.subTtl span
    {
        position: relative;
        z-index: 10; 

        padding: 0 10px;

        background: #fff;
    }
}
.section .bg
{
    margin-bottom: 30px; 
    padding: 90px 0;
}
.section .infoList .info
{
    margin-bottom: 18px;
    padding-bottom: 18px;

    border-bottom: 1px solid #cdcdcd;
}
.section .infoList .info:last-child
{
    margin-bottom: 0; 
    padding-bottom: 0;

    border-bottom: none;
}
.section .infoList .info h3.ttl
{
    font-size: 1.6rem;
    font-weight: bold;

    margin-bottom: 10px; 

    text-align: center;
}
.section .infoList .info h3.ttl span
{
    font-size: .8em; 
    font-weight: normal;
}
.section .infoList .info h3.ttl .badge
{
    font-size: .6em; 

    margin: 0 0 0 10px;
    padding: 2px 10px;

    color: #fff;
    border-radius: 5px;
    background: #003a82;
}
.section .infoList .info h3.ttl.flex
{
    display: -ms-flexbox;
    display: flex;

    -ms-flex-flow: column;
        flex-flow: column;
    -ms-flex-align: center;
    align-items: center;
}
.section .infoList .info h4
{
    font-size: 1.4rem;
    font-weight: bold;

    margin-top: 10px;
}
.section .infoList .info figure
{
    margin: 12px 0; 

    text-align: center;
}
.section .infoList .info figure img
{
    width: 60%;
    max-width: 100%;
    height: auto;
}
.section .infoList .info .logos
{
    margin-bottom: 6px;

    text-align: center;
}
.section .infoList .info .logos img
{
    max-width: 100%;
    height: auto;
}
.section .infoList .info .txt strong
{
    font-size: 1.1em;
    font-weight: bold;
    line-height: 1.2;

    display: block;

    margin-bottom: 5px; 
    padding-left: 5px;

    border-left: 3px solid currentColor;
}
.section .infoList .info .txt p + p
{
    margin-top: 1em;
}
.section .infoList .info .txt .btn + p
{
    margin-top: 30px;
}
.section .infoList .info .txt .yt
{
    text-align: right;
}
.section .infoList .info .txt .yt a
{
    font-size: .8em; 

    padding: 5px 30px 5px 15px;

    color: #fff;
    border-radius: 5px;
    background: url(../img/ico_movie.svg) no-repeat right 10px center #cc181e;
    background-size: 15px auto;
}
.section .infoList .info .txt .caption.class10
{
    zoom: 1;
}
.section .infoList .info .txt .caption.class10:after
{
    display: block;
    clear: both; 

    content: '';
}
.section .infoList .info .txt .caption.class10 img
{
    float: right; 

    width: 57px;
    height: 50px;
    padding-bottom: 5px;
    padding-left: 10px;
}
.section .infoList .info .btn
{
    margin-top: 12px;
}
.section .infoList .info .btns
{
    display: -ms-flexbox;
    display: flex;

    -ms-flex-pack: justify;
    justify-content: space-between;
}
.section .infoList .info .btns li
{
    width: 44%;
    margin: 0;
}
.section .infoList .info .btns li a
{
    display: block;
}
@media screen and (min-width: 980px)
{
    .section
    {
        padding: 42px 0;
    }
    .section .col
    {
        display: table;

        width: 100%;
    }
    .section .col > div
    {
        display: table-cell;

        vertical-align: top;
    }
    .section .bg
    {
        margin-bottom: 42px; 
        padding: 180px 0;
    }
    .section .infoList
    {
        zoom: 1;
    }
    .section .infoList:after
    {
        display: block;
        clear: both; 

        content: '';
    }
    .section .infoList .info
    {
        margin-bottom: 50px;
    }
    .section .infoList .info h3.ttl
    {
        font-size: 3.2rem;
        font-weight: normal; 

        margin-bottom: 25px;
    }
    .section .infoList .info h3.ttl.flex
    {
        -ms-flex-flow: row;
            flex-flow: row;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .section .infoList .info h3.ttl.flex .badge
    {
        font-size: 1.2rem;
    }
    .section .infoList .info figure img
    {
        width: 100%;
        height: auto;
    }
    .section .infoList .info .flex
    {
        display: -ms-flexbox;
        display: flex;
    }
    .section .infoList .info .flex .figure
    {
        width: 550px;
    }
    .section .infoList .info .flex .figure figure
    {
        margin: 0;
    }
    .section .infoList .info .flex .figure figure img
    {
        vertical-align: top;
    }
    .section .infoList .info .flex .txt
    {
        padding-left: 30px; 

        -ms-flex: 1;
            flex: 1;
    }
    .section .infoList .info .flex .txt strong
    {
        font-size: 1.25em;
    }
    .section .infoList .caption
    {
        font-size: .9rem;
        line-height: 1.2rem;

        margin-top: 12px;
    }
}

#visual
{
    position: relative;

    padding-bottom: 0;

    background: #003a82;
}
#visual .slider .slick-slide
{
    margin-bottom: 0;

    transition: all ease-out .5s; 

    opacity: .4;
}
#visual .slider .slick-slide img
{
    width: 100%;
    height: auto;
}
#visual .slider .slick-slide.slick-current
{
    opacity: 1;
}
#visual .arch
{
    position: absolute;
    bottom: -1px;

    overflow: hidden;

    width: 100%;
}
#visual .arch img
{
    width: 103%;
    height: auto; 
    margin-left: -1.5%;
}
@media screen and (min-width: 980px)
{
    #visual
    {
        padding-top: 85px;
    }
    #visual .slick-slide
    {
        width: 960px !important;
    }
}

#quad
{
    color: #fff; 
    background: #003a82;
}
#quad h2
{
    font-family: 'Noto Sans', sans-serif;
    font-size: 2rem;
    line-height: 2.4rem;

    margin-bottom: 24px; 

    text-align: center;
}
@media screen and (min-width: 980px)
{
    #quad h2
    {
        font-size: 2.4rem;
        line-height: 3rem;
    }
}
#quad .col
{
    zoom: 1;
}
#quad .col:after
{
    display: block;
    clear: both; 

    content: '';
}
#quad .col .proof
{
    float: left;

    box-sizing: border-box;
    width: 50%;
    margin: 0 0 36px 0; 
    padding: 0 5px;
}
#quad .col .proof:nth-child(2n+1)
{
    clear: both;
}
#quad .col .proof:last-child
{
    margin-bottom: 0;
}
#quad .col .proof p.yt a
{
    font-family: 'Noto Sans', sans-serif;
    font-size: 1.2rem;
    line-height: 1.8rem; 

    padding-right: 26px;

    text-decoration: underline;

    color: #fff;
    background: url(../img/ico_movie.svg) no-repeat right center;
}
#quad .col .proof p:first-child
{
    width: 100%;
    margin: 0 auto;
    padding: 12px 0;

    text-align: center;
}
#quad .col .proof figure
{
    width: 100%;
    margin: 0 0 12px; 

    text-align: center;
}
#quad .col .proof figure img
{
    width: 100%;
    height: auto;
}
#quad .col .proof figcaption h3
{
    font-family: 'Noto Sans', sans-serif;
    font-size: 1.4rem;
    line-height: 2.4rem;

    margin-bottom: 6px; 

    text-align: center;
}
#quad .col .proof figcaption p
{
    font-size: 1.2rem;
    line-height: 1.8rem;

    margin-bottom: 6px;
}
#quad .btn
{
    margin-top: 24px;

    text-align: right;
}
#quad .btn a
{
    color: #003a82;
    background: #fff;
    box-shadow: 0 3px 0 #001e48;
}
#quad .btn a:after
{
    border-color: transparent transparent transparent #001e48;
}
#quad .btn a:hover
{
    color: #fff; 
    background-color: #001e48;
}
@media screen and (min-width: 980px)
{
    #quad h2
    {
        margin-bottom: 42px;
    }
    #quad .col .proof
    {
        float: none;

        width: 190px;
        margin: 0;

        border: none;
    }
    #quad .col .proof p:first-child img
    {
        width: 60px; 
        height: 60px;
    }
}

#feature-4k
{
    padding: 30px 10px;

    background: #ededed;
}
#feature-4k h2.ttl
{
    margin-bottom: 24px;

    color: #003a82; 
    background: url('../img/bg_ttl_btm_seasoncolor.svg') no-repeat center bottom;
}
#feature-4k h2.ttl:before
{
    background-image: url('../img/bg_ttl_top_seasoncolor.svg');
}
@media screen and (min-width: 980px)
{
    #feature-4k
    {
        overflow: hidden;
    }
}

#lineUp
{
    padding-top: 20px;
    padding-bottom: 0;

    border-bottom: 1px solid #000;
}
#lineUp h2.ttl
{
    background: none;
}
#lineUp h2.ttl::before
{
    display: none;
}
#lineUp > .btn
{
    margin-bottom: 20px; 

    text-align: center;
}
#lineUp > .btn a
{
    display: inline-block;

    width: auto;
    padding: 6px 30px 6px 12px; 

    color: #fff;
    background: #003a82;
    box-shadow: 0 3px 0 #001e48;
}
#lineUp > .btn a::after
{
    border-color: transparent transparent transparent #fff;
}
#lineUp > .btn a:hover
{
    background: #001e48;
}
#lineUp .type-4k
{
    background: #000;
}
#lineUp .type-4k h3.ttl
{
    color: #fff;
    background: url('../img/line-lineup-white.svg') no-repeat center bottom;
}
#lineUp .type-4k .btn a
{
    color: #003a82;
    background: #fff;
    box-shadow: 0 3px 0 #001e48;
}
#lineUp .type-4k .btn a::after
{
    transition: all ease .3s; 

    border-color: transparent transparent transparent #003a82;
}
#lineUp .type-4k .btn a:hover
{
    color: #fff; 
    background: #003a82;
}
#lineUp .type-4k .btn a:hover::after
{
    border-color: transparent transparent transparent #fff;
}
#lineUp .type-hd h3.ttl
{
    color: #003a82;
    background: url('../img/line-lineup-sesasoncolor.svg') no-repeat center bottom;
}
#lineUp .type-hd .models figure
{
    padding: 0 30px; 

    outline: none;
}
#lineUp .type-hd .models figure img
{
    margin: 0 auto;
}
#lineUp .type-hd .models .slick-next
{
    right: -10px; 

    background: url('../img/ico-arrow-r-black.svg') no-repeat center center;
    background-size: 10px;
}
#lineUp .type-hd .models .slick-prev
{
    left: -10px; 

    background: url('../img/ico-arrow-l-black.svg') no-repeat center center;
    background-size: 10px;
}
#lineUp .type-hd .btn a
{
    color: #fff;
    background: #003a82;
    box-shadow: 0 3px 0 #001e48;
}
#lineUp .type-hd .btn a::after
{
    border-color: transparent transparent transparent #fff;
}
#lineUp .type-hd .btn a:hover
{
    background: #001e48;
}
#lineUp .type-4k,
#lineUp .type-hd
{
    padding: 20px;
}
#lineUp .type-4k h3.ttl,
#lineUp .type-hd h3.ttl
{
    font-family: 'Sriracha', cursive;
    font-size: 2.4rem;

    margin-bottom: 20px; 

    text-align: center;
}
#lineUp .type-4k figure,
#lineUp .type-hd figure
{
    text-align: center;
}
#lineUp .type-4k img,
#lineUp .type-hd img
{
    max-width: 100%;
}
#lineUp .type-4k .btn,
#lineUp .type-hd .btn
{
    width: 70%;
    max-width: 300px; 
    margin: 20px auto 0;
}
#lineUp .type-4k .btn a,
#lineUp .type-hd .btn a
{
    padding: 6px 30px 6px 12px;
}
@media screen and (min-width: 980px)
{
    #lineUp
    {
        position: relative;
    }
    #lineUp > .btn
    {
        position: absolute;
        top: 25px;
        left: 50%;

        width: 960px;

        transform: translateX(-50%);
        text-align: right;
    }
    #lineUp .separate
    {
        display: -ms-flexbox;
        display: flex;

        border-top: 1px solid #000;
    }
    #lineUp .separate > div
    {
        width: 50%;
        padding: 0;
    }
    #lineUp .separate > div > div
    {
        box-sizing: border-box; 
        width: 480px;
        padding: 40px;
    }
    #lineUp .separate > div > div h3.ttl
    {
        font-size: 3.0rem;
    }
    #lineUp .separate > div > div .btn
    {
        max-width: 250px;
    }
    #lineUp .separate > div > div .btn a
    {
        display: block;
    }
    #lineUp .separate .type-4k
    {
        display: -ms-flexbox;
        display: flex;

        -ms-flex-pack: end;
        justify-content: flex-end;
    }
    #lineUp .separate .type-4k .in
    {
        background: #0e0e0e;
    }
    #lineUp .type-hd .models figure
    {
        padding: 0;
    }
    #lineUp .type-hd .models .slick-next
    {
        right: -30px;

        background-size: auto;
    }
    #lineUp .type-hd .models .slick-prev
    {
        left: -30px;

        background-size: auto;
    }
}

#highQuality h2.ttl
{
    margin-bottom: 24px;

    color: #003a82; 
    background: url('../img/bg_ttl_btm_seasoncolor.svg') no-repeat center bottom;
}
#highQuality h2.ttl:before
{
    background-image: url('../img/bg_ttl_top_seasoncolor.svg');
}

#moreFun
{
    background: url('../img/bg_gradient_yellow.png') repeat-x left top;
}
#moreFun h2.ttl
{
    margin-bottom: 24px;

    color: #003a82; 
    background: url('../img/bg_ttl_btm_seasoncolor.svg') no-repeat center bottom;
}
#moreFun h2.ttl:before
{
    background-image: url('../img/bg_ttl_top_seasoncolor.svg');
}

#enhanced
{
    background: #f0f1f2;
}
#enhanced h2.ttl
{
    margin-bottom: 24px;

    background: url('../img/bg_ttl_btm_black.svg') no-repeat center bottom;
}
#enhanced h2.ttl:before
{
    background-image: url('../img/bg_ttl_top_black.svg');
}
#enhanced .wifi
{
    margin-bottom: 30px; 
    padding: 30px 0;
}
#enhanced .wifi h3.subTtl
{
    text-align: center;
}
#enhanced .wifi h3.subTtl:before
{
    top: 16%;

    box-sizing: border-box; 
    height: 15px;

    border-color: #ccc;
    border-right: 3px solid #ccc;
    border-left: 3px solid #ccc;
}
#enhanced .wifi h3.subTtl span
{
    background: #f0f1f2;
}
#enhanced .wifi h3.subTtl span.fzS
{
    font-size: 1.2rem;
    line-height: 1.8rem;

    display: inline-block;

    margin-bottom: 6px; 
    padding: 3px 6px;

    color: #fff;
    border-radius: 5px;
    background: #003a82;
}
#enhanced .wifi h3.subTtl .icon
{
    display: inline-block;
}
#enhanced .wifi .infoList
{
    border-bottom: 3px solid #ccc;
}
#enhanced .wifi h4
{
    font-family: 'Noto Sans', sans-serif;
    font-size: 1.4rem;
    line-height: 2.4rem; 

    margin-top: 12px;
}
#enhanced .wifi h4 span
{
    font-size: .9rem;
    line-height: 1.2rem;
}
#enhanced .wifi ul + h4
{
    margin-top: 24px;
}
@media screen and (min-width: 980px)
{
    #enhanced .wifi
    {
        padding: 42px 0 54px;
    }
    #enhanced .wifi .infoList .info ul
    {
        width: 100%; 
        padding: 0;
    }
    #enhanced .wifi .infoList .info ul li
    {
        display: inline-block;

        margin: 6px 0; 
        padding: 0 10px 0 0;
    }
    #enhanced .wifi ul + h4
    {
        margin-top: 12px;
    }
}

#feature-hd h2.ttl,
#feature-common h2.ttl,
#functions-wifi h2.ttl
{
    margin-bottom: 24px;

    color: #003a82; 
    background: url('../img/bg_ttl_btm_seasoncolor.svg') no-repeat center bottom;
}
#feature-hd h2.ttl:before,
#feature-common h2.ttl:before,
#functions-wifi h2.ttl:before
{
    background-image: url('../img/bg_ttl_top_seasoncolor.svg');
}

#functions-wifi
{
    background: #f9f9f9;
}
#functions-wifi h3.subTtl
{
    text-align: center;
}
#functions-wifi h3.subTtl::before
{
    display: none;
}
#functions-wifi h3.subTtl span
{
    font-size: .8em;

    padding: 0 5px; 

    color: #fff;
    background: #003a82;
}

#optionalAccessories
{
    padding: 60px 0; 

    border-top: 1px solid #e8e8e8;
}
#optionalAccessories h2.ttl
{
    margin-bottom: 24px;

    color: #003a82; 
    background: url('../img/bg_ttl_btm_seasoncolor.svg') no-repeat center bottom;
}
#optionalAccessories h2.ttl:before
{
    background-image: url('../img/bg_ttl_top_seasoncolor.svg');
}
#optionalAccessories .color
{
    display: -ms-flexbox;
    display: flex;

    margin-bottom: 30px;
}
#optionalAccessories .color:last-child
{
    margin-bottom: 0;
}
#optionalAccessories .color .img
{
    position: relative;

    width: 25%;
}
#optionalAccessories .color .img figure
{
    text-align: center;
}
#optionalAccessories .color .img figure img
{
    width: auto; 
    max-width: 100%;
    height: auto;
}
#optionalAccessories .color .caption
{
    line-height: 1.4; 

    padding-left: 20px;

    -ms-flex: 1;
        flex: 1;
}
#optionalAccessories .color .caption strong
{
    display: block;

    margin-bottom: 5px;
}
#optionalAccessories .color .caption strong span
{
    font-size: .8em; 
    font-weight: normal;
}
@media screen and (min-width: 980px)
{
    #optionalAccessories
    {
        padding: 120px 0;
    }
    #optionalAccessories h2.ttl
    {
        margin-bottom: 48px;
    }
    #optionalAccessories .col
    {
        display: -ms-flexbox;
        display: flex;
    }
    #optionalAccessories .color
    {
        display: block;
    }
    #optionalAccessories .color .img
    {
        width: 100%;
    }
    #optionalAccessories .color .caption
    {
        padding-left: 40px;
    }
    #optionalAccessories .color .caption strong
    {
        font-size: 1.8rem;
    }
}

#another
{
    background: #f9f9f9;
}
#another h3.subTtl span
{
    background: #f9f9f9;
}
#another .mobile
{
    margin-bottom: 42px;
    padding-bottom: 42px; 

    border-bottom: 2px solid #e8e8e8;
}
#another .mobile .img
{
    margin-bottom: 24px; 

    text-align: center;
}
#another .mobile .img figure img
{
    width: 20%;
    max-width: 100%;
    height: auto;
}
#another .mobile .txt p
{
    margin: 0 0 12px 0;
}
#another .mobile .txt ul
{
    margin: 0 0 24px 15px;
}
#another .mobile .txt ul li
{
    margin: 6px 0; 

    list-style: decimal;
}
#another .mobile .txt ul + figure
{
    margin: 0 0 0 10px;
}
@media screen and (min-width: 980px)
{
    #another .mobile
    {
        border-bottom: none;
    }
    #another .mobile .img
    {
        width: 330px;
    }
    #another .mobile .img figure img
    {
        width: 239px;
    }
    #another .mobile .txt p
    {
        margin-left: 10px;
    }
    #another .mobile .txt ul
    {
        margin-left: 25px;
    }
}
#another .quad
{
    margin-bottom: 42px;
    padding-bottom: 42px; 

    border-bottom: 2px solid #e8e8e8;
}
#another .quad .proof
{
    margin-bottom: 30px; 
    padding-bottom: 30px;

    border-bottom: 1px dashed #e8e8e8;
}
#another .quad .proof:last-child
{
    margin-bottom: 0; 
    padding-bottom: 0;

    border: none;
}
#another .quad .proof figure
{
    text-align: center;
}
#another .quad .proof figure img
{
    width: 60px;
    height: 60px;
}
#another .quad .proof figcaption
{
    padding: 12px 0 0 0;
}
#another .quad .proof figcaption h3
{
    font-family: 'Noto Sans', sans-serif;
    font-size: 1.4rem;
    line-height: 2.4rem;

    margin-bottom: 6px; 

    text-align: center;
}
@media screen and (min-width: 980px)
{
    #another .quad
    {
        border: none;
    }
    #another .quad .proof
    {
        box-sizing: border-box;
        width: 25%;
        margin-bottom: 0; 
        padding: 0 20px;

        border: none;
    }
}
#another .battery-life,
#another .precautions
{
    margin-bottom: 42px;
    padding-bottom: 42px; 

    border-bottom: 2px solid #e8e8e8;
}
#another .battery-life ul,
#another .precautions ul
{
    margin: 0 0 24px 0;
}
#another .battery-life ul li,
#another .precautions ul li
{
    margin: 12px 0; 
    padding-left: 20px;

    background: url(../img/ico_star.svg) no-repeat left 6px;
}
@media screen and (min-width: 980px)
{
    #another .battery-life,
    #another .precautions
    {
        border: none;
    }
}
#another .software
{
    margin-bottom: 42px;
}
#another .software .box
{
    margin-bottom: 50px;
}
#another .software h3
{
    margin-top: 30px;
}
#another .software h4
{
    font-family: 'Noto Sans', sans-serif;
    font-size: 1.4rem;
    line-height: 2.4rem;

    margin-bottom: 6px;
}
#another .software dl
{
    margin-bottom: 18px;
}
#another .software dl dt
{
    font-family: 'Noto Sans', sans-serif;

    margin-bottom: 6px;
}
#another .software ul
{
    margin-bottom: 18px;
}
#another .software .lead
{
    margin-top: -10px;
    margin-bottom: 1em;
}
@media screen and (min-width: 980px)
{
    #another .software
    {
        margin-bottom: 60px;
    }
    #another .software dl
    {
        zoom: 1;
    }
    #another .software dl:after
    {
        display: block;
        clear: both; 

        content: '';
    }
    #another .software dl dt
    {
        float: left;
        clear: both; 

        width: 160px;
    }
    #another .software dl dd
    {
        padding-left: 70px;
    }
    #another .software .lead
    {
        margin-top: -20px;
    }
}

.tables
{
    margin-top: 50px;
}
.tables h3.subTtl span
{
    padding-left: 0;
}
.tables ul
{
    margin-left: 1.5em;
}
.tables ul li
{
    list-style: disc;
}

.table h3
{
    font-size: 1.4rem;
    font-weight: bold;

    margin-top: 15px;
    margin-bottom: 5px;
}

.table .scroll
{
    overflow-x: auto;
}

.table table
{
    width: 100%;
    margin-bottom: 20px;

    border-top: 1px solid #ccc; 
    border-left: 1px solid #ccc;
}
.table table tbody th:nth-child(1)
{
    width: 16%;
}
.table table tbody td:nth-child(2)
{
    width: 8%;
}
.table table tbody td:nth-child(3)
{
    width: 19%;
}
.table table tbody td:nth-child(4)
{
    width: 19%;
}
.table table tbody td:nth-child(5)
{
    width: 19%;
}
.table table tbody td:nth-child(6)
{
    width: 19%;
}
.table table th,
.table table td
{
    padding: 5px;

    text-align: center;

    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}
.table table th.br-non,
.table table td.br-non
{
    border-right: none;
}
.table table th.bb-non,
.table table td.bb-non
{
    border-bottom: none;
}
.table table thead th
{
    background: #e8e8e8;
}

.table ul
{
    margin-top: -.5em;
}

/* Slider */
.slick-loading .slick-list
{
    background: #fff url('../img/ajax-loader.gif') center center no-repeat;
}

/* Arrows */
.slick-prev,
.slick-next
{
    position: absolute;
    z-index: 1000;
    top: 50%;

    display: block;
    overflow: hidden;

    width: 23px;
    height: 36px;
    margin-top: -18px;

    cursor: pointer;
    white-space: nowrap;
    text-indent: 100%;
    text-indent: -9999px;

    border: none;
}

.slick-prev
{
    left: 25px;

    background: url(../img/arrow_l.svg) no-repeat left center;
}

.slick-next
{
    right: 25px;

    background: url(../img/arrow_r.svg) no-repeat left center;
}

/* Dots */
.slick-dots
{
    position: absolute;
    bottom: -45px;

    display: block;

    width: 100%; 
    padding: 0;

    list-style: none;

    text-align: center;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer; 

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: .75; 
    color: black;
}

/* Slider */
.slick-slider
{
    position: relative;

    display: block;

    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
}
.slick-track:before,
.slick-track:after
{
    display: table; 

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none; 
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}

.slick-arrow.slick-hidden
{
    display: none;
}
