/* -------------------------------------------------------------------

    Reset Style

-------------------------------------------------------------------- */
/*  Universal Reset
--------------------------------------- */
html,
body,
div,
main,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
svg,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video,
picture
{
    zoom: 1; 

    margin: 0;
    padding: 0;

    border: 0;
    background: transparent;
}

/*  HTML5 Display Definitions
--------------------------------------- */
main,
section,
nav,
article,
aside,
hgroup,
menu,
summary,
svg,
header,
footer,
figure,
figcaption,
details,
picture
{
    display: block;
}

audio:not([controls])
{
    display: none;
}

[hidden]
{
    display: none;
}

/*  Typography
--------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6
{
    font-size: 100%;
    font-weight: normal; 
    line-height: 1.5;
}

em
{
    font-weight: bold; 
    font-style: normal;
}

strong,
b
{
    font-weight: bold;
}

sup
{
    font-size: fz(9); 
    line-height: 0;

    position: relative;
    top: -4px;

    vertical-align: middle;
}

sub
{
    font-size: fz(9); 
    line-height: 0;

    position: relative;
    top: 0;

    vertical-align: middle;
}

pre
{
    font-family: monospace, sans-serif;

    white-space: pre-wrap;
    word-wrap: break-word;
}

/*  Horizontal Rule
--------------------------------------- */
hr
{
    display: none;
}

/*  Embedded Content
--------------------------------------- */
img
{
    vertical-align: top; 

    border: 0;
}

svg:not(:root)
{
    overflow: hidden;
}

/*  List Content
--------------------------------------- */
ul,
ol
{
    list-style: none;
}

/*  Tables
--------------------------------------- */
table
{
    width: 100%; 

    border-collapse: collapse;

    border: 0 none;
}

table th,
table td
{
    font-size: 1em;
    font-weight: normal; 

    text-align: left;
    vertical-align: top;

    border: 0 none;
}

/*  Forms
--------------------------------------- */
input::-moz-focus-inner,
button::-moz-focus-inner
{
    padding: 0; 

    border: 0;
}

fieldset
{
    border: 0 none;
}

legend
{
    display: none;
}

label
{
    cursor: pointer;
}

fieldset,
input
{
    vertical-align: middle;

    border-radius: 0;
    border-radius: 0; 
    outline: none;
}

input[type='text'],
input[type='image']
{
    -webkit-appearance: none;
}

input[type='checkbox'],
input[type='radio']
{
    box-sizing: border-box; 
    padding: 0;
}

textarea
{
    resize: none;
    vertical-align: top;

    border-radius: 0;
    outline: 0;

    -webkit-appearance: none;
}

select
{
    line-height: normal;

    outline: none;
}

/* -------------------------------------------------------------------

    WebFont Style

-------------------------------------------------------------------- */
@font-face
{
    font-family: 'Roboto Condensed';
    font-style: normal;

    src: url('/assets/fonts/RobotoCondensed-Light.eot') format('eot'), url('/assets/fonts/RobotoCondensed-Light.woff') format('woff');
    font-display: swap;
}

/* window-size + 17px */
/*  Clearfix
--------------------------------------- */
.clearfix:after
{
    display: table;
    clear: both; 

    content: '';
}

/* -------------------------------------------------------------------

    Base Style

-------------------------------------------------------------------- */
/*  Base
--------------------------------------- */
body
{
    font-family: 'TsukuGoPro-M' !important;
    font-size: 16px;
    line-height: 1.75;

    color: #000;

        -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-print-color-adjust: exact;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body._preload *
{
    -webkit-transition: none;
    transition: none;
}
body._preload *:before,
body._preload *:after
{
    -webkit-transition: none;
    transition: none;
}

h1,
h2,
h3,
h4,
h5,
h6
{
    font-family: 'TsukuGoPro-M'; 
    line-height: 1.75;
}

h4,
h5,
h6
{
    font-weight: bold !important; 
    line-height: 1.75;
}

strong
{
    color: #ed1414;
}

table
{
    font-size: 100%; 
    line-height: 1.5 !important;
}

a:active,
a:link,
a:visited
{
    color: inherit;
}

footer
{
    margin-bottom: 3.75vw;
}
@media screen and (max-width: 768px)
{
    footer
    {
        margin-bottom: 16.8vw;
    }
}

.p-premium
{
    position: relative;

    background: #ebebeb;
}

.p-premium-head
{
    line-height: 1; 

    text-align: center;
}
.p-premium-head img
{
    width: auto;
    height: 2.38021vw;
}
@media screen and (max-width: 768px)
{
    .p-premium-head img
    {
        height: 6.96533vw;
    }
}
.p-premium-head span
{
    font-family: 'FOT-TsukuMin Pro', serif;
    font-size: 1.04167vw;

    display: block;

    margin-top: 2.70833vw; 

    letter-spacing: 0;
}
@media screen and (max-width: 768px)
{
    .p-premium-head span
    {
        font-size: 3.46667vw;

        margin-top: 7.46667vw;
    }
}

.p-premium-header
{
    position: absolute;
    z-index: 20;
    top: 0;
    left: 0;

    display: -webkit-box;

    display: -webkit-flex;

    display: flex;

    box-sizing: border-box;
    width: 100%;
    padding: 1.82292vw 1.5625vw 0; 

    -webkit-box-pack: justify; 

    -webkit-justify-content: space-between; 

            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
            align-items: center;
}
@media screen and (max-width: 768px)
{
    .p-premium-header
    {
        padding: 5.33333vw 5.33333vw 0;
    }
}
@media screen and (max-width: 768px)
{
    .p-premium-header img
    {
        width: 100%;
    }
}

@media screen and (max-width: 768px)
{
    .p-premium-header__logo01
    {
        width: 43.46667vw;
    }
}

@media screen and (max-width: 768px)
{
    .p-premium-header__logo02
    {
        width: 33.86667vw;
    }
}

.p-premium-menu
{
    position: fixed;
    z-index: 30;
    bottom: 0;
    left: 0;

    display: -webkit-box;

    display: -webkit-flex;

    display: flex;

    width: 100%;

    color: #fff; 
    background: #0d0d0d;
}

.p-premium-menu__item
{
    position: relative;

    width: 100%;

    text-align: center;
}
.p-premium-menu__item:not(:nth-child(1)):before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 1px;
    height: 48%; 
    margin: auto;

    content: '';

    background: #ac8d0b;
}
.p-premium-menu__item a
{
    display: block;
    overflow: hidden;

    -webkit-transition: opacity .3s ease-in;

    transition: opacity .3s ease-in;
}
@media screen and (min-width: 769px)
{
    .p-premium-menu__item a
    {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;

        height: 3.75vw; 

        -webkit-box-align: center; 

        -webkit-align-items: center; 

                align-items: center;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
                justify-content: center;
    }
}
@media screen and (max-width: 768px)
{
    .p-premium-menu__item a
    {
        height: 16.8vw;
    }
}
@media screen and (min-width: 769px)
{
    .p-premium-menu__item a:hover
    {
        opacity: .7;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
    }
}

@media screen and (min-width: 769px)
{
    .p-premium-menu__item-icon
    {
        width: 1.5625vw; 
        margin-top: .52083vw;
        margin-right: 1.25vw;
    }
}

@media screen and (max-width: 768px)
{
    .p-premium-menu__item-icon
    {
        width: 6.66667vw; 
        margin-top: 2.66667vw;
    }
}

.p-premium-menu__item-hdg
{
    font-family: 'FOT-TsukuMin Pro', serif;
}
@media screen and (min-width: 769px)
{
    .p-premium-menu__item-hdg
    {
        font-size: .83333vw; 

        margin-top: .36458vw;
    }
}
@media screen and (max-width: 768px)
{
    .p-premium-menu__item-hdg
    {
        font-size: 2.66667vw; 

        margin-top: .53333vw;
    }
}

.p-premium-kv
{
    position: relative;
    z-index: 10;
}
.p-premium-kv img
{
    width: 100%;
}
.p-premium-kv .c-atention-scroll
{
    right: 42px; 
    left: auto;
}
@media screen and (max-width: 768px)
{
    .p-premium-kv .c-atention-scroll
    {
        right: 2.93333vw;
    }
}
.p-premium-kv .c-atention-scroll_txt
{
    font-family: 'FOT-TsukuMin Pro', serif;
}

.p-premium-kv__slide
{
    line-height: 0;

    position: relative;

    overflow: hidden;

    max-height: 100vh;
}
.p-premium-kv__slide .p-premium-kv__slide_box
{
    position: relative;

    max-height: 100vh;
}
.p-premium-kv__slide .p-premium-kv__slide_box figure
{
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: flex !important;
    overflow: hidden;
    overflow: hidden;

    width: 100%;
    max-height: 100vh;

    -webkit-box-pack: center;

    -webkit-justify-content: center;

            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
            align-items: center;
}
.p-premium-kv__slide .p-premium-kv__slide_box figure img
{
    display: inline;
}
.p-premium-kv__slide .slick-dots
{
    position: absolute;
    left: 0;

    width: 100%;
    padding: 0;

    text-align: center;
}
@media screen and (min-width: 769px)
{
    .p-premium-kv__slide .slick-dots
    {
        bottom: 40px;

        height: 6px;
    }
}
@media screen and (max-width: 768px)
{
    .p-premium-kv__slide .slick-dots
    {
        bottom: 30px;

        height: 6px;
    }
}
.p-premium-kv__slide .slick-dots > li
{
    display: inline-block;

    opacity: .3;

    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
    border-radius: 6px;
    background-color: #fff;
}
@media screen and (min-width: 769px)
{
    .p-premium-kv__slide .slick-dots > li
    {
        width: 6px;
        height: 6px;
    }
    .p-premium-kv__slide .slick-dots > li:not(:last-of-type)
    {
        margin-right: 15px;
    }
}
@media screen and (max-width: 768px)
{
    .p-premium-kv__slide .slick-dots > li
    {
        width: 4px;
        height: 4px;
    }
    .p-premium-kv__slide .slick-dots > li:not(:last-of-type)
    {
        margin-right: 12px;
    }
}
.p-premium-kv__slide .slick-dots button
{
    display: none; 

    padding: 0;

    border: none;
}
.p-premium-kv__slide .slick-dots .slick-active
{
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.p-premium-person
{
    position: relative;

    overflow: hidden;

    width: 100%;
    height: 63.80208vw;
}
@media screen and (max-width: 768px)
{
    .p-premium-person
    {
        height: 142.4vw;
    }
}
.p-premium-person .p-premium-head
{
    margin-top: 10.57292vw;
}
@media screen and (max-width: 768px)
{
    .p-premium-person .p-premium-head
    {
        margin-top: 24.26667vw;
    }
}
.p-premium-person-slider
{
    position: absolute;
    top: 50%;
    left: 50%;

    height: auto;

    -webkit-transform: translateX(-50%) translateY(-50%);

        -ms-transform: translateX(-50%) translateY(-50%);

            transform: translateX(-50%) translateY(-50%);

    opacity: .2;

    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";

    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');

    -webkit-filter: blur(10px);

            filter: blur(10px);
}
@media screen and (min-width: 769px)
{
    .p-premium-person-slider
    {
        width: 100%;
    }
}
@media screen and (max-width: 768px)
{
    .p-premium-person-slider
    {
        width: 196.26667vw;
    }
}
.p-premium-person-slider .swiper-slide img
{
    display: block;

    width: 100%;
    margin: 0 auto;
}
.p-premium-person-thumbs
{
    overflow: visible; 

    width: 100%;
    margin-top: 5.20833vw;
    padding: 0;
}
@media screen and (max-width: 768px)
{
    .p-premium-person-thumbs
    {
        margin-top: 11.2vw;
    }
}
.p-premium-person-thumbs .swiper-slide
{
    overflow: hidden;

    width: 40.26042vw; 

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-premium-person-thumbs .swiper-slide
    {
        width: 89.33333vw;
    }
}
.p-premium-person-thumbs .swiper-slide img
{
    width: auto;
}

.p-premium-works
{
    padding-top: 10.52083vw;
}
@media screen and (max-width: 768px)
{
    .p-premium-works
    {
        padding-top: 24vw;
    }
}

.p-premium-works__list
{
    margin-top: 5.20833vw;
}
@media screen and (max-width: 768px)
{
    .p-premium-works__list
    {
        margin-top: 10.66667vw;
    }
}

@media screen and (min-width: 769px)
{
    .p-premium-works__list
    {
        display: grid;

        grid-template-rows: 25vw 25vw;
        grid-template-columns: 50vw 1fr;
    }
    .p-premium-works__list-item01
    {
        grid-row: 1 / 3;
    }
    .p-premium-works__list-item04
    {
        grid-column: 1 / 3;
    }
    .p-premium-works__list-item05
    {
        grid-row: 4 / 6;
    }
    .p-premium-works__list-item08
    {
        grid-column: 1 / 3;
    }
}

.p-premium-works__list-item
{
    position: relative;

    display: block;
}
.p-premium-works__list-item img
{
    min-height: 100%; 

    -webkit-transition: -webkit-filter .3s ease-in; 

    transition: -webkit-filter .3s ease-in; 

    transition: filter .3s ease-in; 

    transition: filter .3s ease-in, -webkit-filter .3s ease-in;
}
@media screen and (min-width: 769px)
{
    .p-premium-works__list-item:hover img
    {
        filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0" /><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="0.6" /><feFuncG type="linear" slope="0.6" /><feFuncB type="linear" slope="0.6" /></feComponentTransfer></filter></svg>#filter');
        -webkit-filter: grayscale(1) brightness(.6);
                filter: grayscale(1) brightness(.6);
    }
    .p-premium-works__list-item:hover .p-premium-works__list-item-more
    {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    }
}

.p-premium-works__list-item-more
{
    font-family: 'FOT-TsukuMin Pro', serif;
    line-height: 1;

    position: absolute;

    letter-spacing: .05em;
    pointer-events: none; 

    color: #fff;
}
@media screen and (min-width: 769px)
{
    .p-premium-works__list-item-more
    {
        font-size: 1.09375vw; 

        top: 50%;
        left: 50%;

        box-sizing: border-box;
        width: 20.78125vw;
        padding: 1.875vw .9375vw;

        -webkit-transition: opacity .3s ease-in;

        transition: opacity .3s ease-in;
        -webkit-transform: translateX(-50%) translateY(-50%);
            -ms-transform: translateX(-50%) translateY(-50%);
                transform: translateX(-50%) translateY(-50%);
        text-align: center;

        opacity: 0;

        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        border: 1px #fff solid;
    }
}
@media screen and (max-width: 768px)
{
    .p-premium-works__list-item-more
    {
        font-size: 2.66667vw;

        right: 16.26667vw;
        bottom: 4vw;

        text-shadow: 0 0 3px rgba(0, 0, 0, .15);
    }
}
.p-premium-works__list-item-more:after
{
    position: absolute;
    right: .83333vw;
    bottom: 0;

    width: 1.97917vw;
    height: 100%;

    content: '';
    -webkit-transition: all .3s ease;
    transition: all .3s ease; 

    background-image: url(/lp/premium/assets/img/btn_arrow_white.svg); 
    background-image: url(/lp/premium/assets/img/btn_arrow_white.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% auto;
}
@media screen and (max-width: 768px)
{
    .p-premium-works__list-item-more:after
    {
        right: -12.8vw; 

        width: 11.2vw;

        background-image: url(/lp/premium/assets/img/btn_arrow_white_sp.svg);
    }
}

@media screen and (min-width: 769px)
{
    .p-premium-navi
    {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
    }
}

.p-premium-navi__item
{
    position: relative;

    display: block;
    overflow: hidden; 

    width: 100%;
    height: 16.82292vw;

    -webkit-transition: opacity .3s ease-in;

    transition: opacity .3s ease-in;

    background: #fff;
}
@media screen and (min-width: 769px)
{
    .p-premium-navi__item
    {
        text-align: center;
    }
    .p-premium-navi__item:hover
    {
        opacity: .5;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    }
}
@media screen and (max-width: 768px)
{
    .p-premium-navi__item
    {
        height: 35.73333vw;
    }
}
.p-premium-navi__item:after
{
    position: absolute;
    right: .98958vw;
    bottom: 0;

    width: 3.54167vw;
    height: 100%;

    content: '';
    -webkit-transition: all .3s ease;
    transition: all .3s ease; 

    background-image: url(/lp/premium/assets/img/btn_arrow_gold.svg); 
    background-image: url(/lp/premium/assets/img/btn_arrow_gold.svg);
    background-repeat: no-repeat;
    background-position: center bottom 1.04167vw;
    background-size: 100% auto;
}
@media screen and (max-width: 768px)
{
    .p-premium-navi__item:after
    {
        right: 3.2vw; 

        width: 10.4vw;

        background-image: url(/lp/premium/assets/img/btn_arrow_gold_sp.svg);
        background-position: center bottom 2.93333vw;
    }
}
@media screen and (min-width: 769px)
{
    .p-premium-navi__item:not(:nth-child(1))
    {
        margin-left: 3px;
    }
}
@media screen and (max-width: 768px)
{
    .p-premium-navi__item:not(:nth-child(1))
    {
        margin-top: 2px;
    }
}

@media screen and (min-width: 769px)
{
    .p-premium-navi__item-icon
    {
        width: 4.6875vw; 
        margin-top: 3.48958vw;
    }
}

@media screen and (max-width: 768px)
{
    .p-premium-navi__item-icon
    {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 5.33333vw;

        width: 14.4vw;
        margin: auto;
    }
}

.p-premium-navi__item-hdg
{
    font-family: 'FOT-TsukuMin Pro', serif;
}
@media screen and (min-width: 769px)
{
    .p-premium-navi__item-hdg
    {
        font-size: 1.25vw; 

        margin-top: .36458vw;
    }
}
@media screen and (max-width: 768px)
{
    .p-premium-navi__item-hdg
    {
        font-size: 4.8vw; 

        margin-top: 10.66667vw;
        margin-left: 23.73333vw;
    }
}

.p-premium-navi__item-text
{
    font-family: 'FOT-TsukuMin Pro', serif;
}
@media screen and (min-width: 769px)
{
    .p-premium-navi__item-text
    {
        font-size: .72917vw; 

        margin-top: .78125vw;
    }
}
@media screen and (max-width: 768px)
{
    .p-premium-navi__item-text
    {
        font-size: 3.2vw; 

        margin-left: 23.73333vw;
    }
}

.p-premium-cta
{
    padding: 8.85417vw 0; 

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-premium-cta
    {
        padding: 23.46667vw 0 32vw;
    }
}
.p-premium-cta p
{
    font-family: 'FOT-TsukuMin Pro', serif;
    font-size: 1.25vw;
    line-height: 3.25;
}
@media screen and (max-width: 768px)
{
    .p-premium-cta p
    {
        font-size: 4vw;
        line-height: 2.66667;
    }
}

.p-premium-cta__link
{
    line-height: 1;

    box-sizing: border-box;
    width: 35.83333vw; 
    margin: auto;
    margin-top: 3.80208vw;

    border: 1px #000 solid;
}
@media screen and (max-width: 768px)
{
    .p-premium-cta__link
    {
        width: 89.33333vw; 
        margin-top: 12.53333vw;
    }
}
.p-premium-cta__link a
{
    position: relative;

    display: block;

    padding-top: 2.08333vw;
    padding-right: 8.22917vw; 
    padding-bottom: 2.08333vw;
    padding-left: 8.4375vw;
}
@media screen and (max-width: 768px)
{
    .p-premium-cta__link a
    {
        padding-top: 6.13333vw;
        padding-right: 15.46667vw; 
        padding-bottom: 6.13333vw;
        padding-left: 12vw;
    }
}
.p-premium-cta__link a:after
{
    position: absolute;
    right: 1.35417vw;
    bottom: 0;

    width: 3.4375vw;
    height: 100%;

    content: '';
    -webkit-transition: all .3s ease;
    transition: all .3s ease; 

    background-image: url(/lp/premium/assets/img/btn_arrow_black.svg); 
    background-image: url(/lp/premium/assets/img/btn_arrow_black.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% auto;
}
@media screen and (max-width: 768px)
{
    .p-premium-cta__link a:after
    {
        right: 3.73333vw; 

        width: 7.46667vw;

        background-image: url(/lp/premium/assets/img/btn_arrow_black_sp.svg);
    }
}
@media screen and (min-width: 769px)
{
    .p-premium-cta__link a:hover:after
    {
        right: .83333vw;
    }
}
@media screen and (min-width: 769px) and (max-width: 768px)
{
    .p-premium-cta__link a:hover:after
    {
        right: 1.06667vw;
    }
}
.p-premium-cta__link a img
{
    display: block;

    width: 17.70833vw;
}
@media screen and (max-width: 768px)
{
    .p-premium-cta__link a img
    {
        width: 57.6vw;
    }
}
