@charset 'UTF-8';

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900&display=swap&subset=japanese');

@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:300,400,500,700,900&display=swap&subset=japanese');

@import url('https://use.typekit.net/kos5ugo.css');

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
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,
dialog,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
time,
mark,
audio,
video
{
    margin: 0;
    padding: 0;

    vertical-align: baseline;

    border: 0;
    outline: 0;
}

header,
footer,
article,
section,
aside,
hgroup,
nav,
menu,
figure,
figcaption,
time
{
    display: block;
}

li
{
    list-style: none;
}

ol li
{
    list-style: decimal;
}

img
{
    font-size: 0;
    line-height: 0;

    vertical-align: top;

    border: 0;
}

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

caption,
th
{
    text-align: left;
}

hr
{
    display: block;

    height: 1px;
    margin: 1em 0;
    padding: 0;

    border: 0;
    border-top: 1px solid #ccc;
}

input,
select
{
    vertical-align: middle;
}

input,
textarea
{
    margin: 0;
    padding: 0;
}

input,
button,
select,
textarea
{
    font: inherit;

    border: none;
    border-radius: 0;
    outline: none;
    background: transparent;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

textarea
{
    resize: vertical;
}

input[type='checkbox'],
input[type='radio']
{
    display: none;
}

input[type='submit'],
input[type='button'],
label,
button,
select
{
    cursor: pointer;
}

select::-ms-expand
{
    display: none;
}

/*----------------------------------------
	Fonts
----------------------------------------*/

/*----------------------------------------
	Common
----------------------------------------*/

html
{
    height: 100%;
}

body
{
    font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;

    overflow-x: hidden;

    height: 100%;

    color: #333;
    background-color: #141f30;

    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
       -moz-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
            text-size-adjust: 100%;
}

body.is_fixed
{
    overflow: hidden;
}

a
{
    -webkit-transition: all .6s ease;
            transition: all .6s ease;
    text-decoration: none;

    color: #333;
}

img
{
    vertical-align: bottom;

    -webkit-backface-visibility: hidden;
}

.c-floating-bnr
{
    position: fixed;
    right: 30px;
    bottom: 30px;

    width: 236px;

    background-color: #141f30;
}

.c-floating-bnr .bnr:hover
{
    opacity: .6;
}

.c-floating-bnr .bnr img
{
    width: 100%;
    height: auto;
}

.c-floating-bnr .close
{
    position: absolute;
    top: -20px;
    right: -20px;

    -webkit-transition: all .6s ease;
            transition: all .6s ease;
}

.c-floating-bnr .close:hover
{
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg);
}

.c-floating-bnr .close img
{
    width: 40px;
    height: 40px;
}

.c-loading
{
    position: fixed;
    z-index: 101;
    top: 0;
    left: 0;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 100%;
    height: 100%;

    background-color: #1a2844;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
}

.c-loading__inner
{
    width: 450px;
}

.c-loading__inner video
{
    width: 100%;
    height: auto;
}

.c-modal-btn
{
    position: fixed;
    z-index: 100;
    top: 30px;
    right: 30px;
}

.c-modal-btn a
{
    position: relative;

    display: block;

    width: 80px;
    height: 80px;

    -webkit-transition: all .6s ease;
            transition: all .6s ease;

    border-radius: 50%;
    background: #141f30;
}

.c-modal-btn a:hover
{
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
}

.c-modal-btn a span
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    width: 35px;
    height: 1px;

    -webkit-transition: all .6s ease;
            transition: all .6s ease;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    -webkit-transform-origin: 50% 50%;
        -ms-transform-origin: 50% 50%;
            transform-origin: 50% 50%;

    background: #fff;
}

.c-modal-btn a span:nth-of-type(1)
{
    margin-top: -4px;
}

.c-modal-btn a span:nth-of-type(2)
{
    margin-top: 4px;
}

.c-modal-btn a.is_active
{
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg);
}

.c-modal-btn a.is_active span
{
    margin: 0 !important;
}

.c-modal-btn a.is_active span:nth-of-type(1)
{
    -webkit-transform: translate(-50%, -50%) rotate(15deg);
        -ms-transform: translate(-50%, -50%) rotate(15deg);
            transform: translate(-50%, -50%) rotate(15deg);
}

.c-modal-btn a.is_active span:nth-of-type(2)
{
    -webkit-transform: translate(-50%, -50%) rotate(-15deg);
        -ms-transform: translate(-50%, -50%) rotate(-15deg);
            transform: translate(-50%, -50%) rotate(-15deg);
}

.c-modal-menu
{
    position: fixed;
    position: fixed;
    z-index: 90;
    top: 0;
    left: 0;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 100%;
    height: 100%;

    -webkit-transition: all .6s ease;
            transition: all .6s ease;
    pointer-events: none;

    opacity: 0;
    background: #141f30;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}

.c-modal-menu.is_active
{
    pointer-events: all;

    opacity: 1;
}

.c-modal-menu__inner
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 1160px;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
}

.c-modal-menu__inner .left-box h3
{
    margin-bottom: 270px;
}

.c-modal-menu__inner .left-box h3 img
{
    width: 200px;
    height: auto;
}

.c-modal-menu__inner .left-box h4
{
    font-family: brandon-grotesque, sans-serif;
    font-size: 24px;
    line-height: 1;

    margin-bottom: 10px;

    letter-spacing: .1em;
    text-transform: uppercase;

    color: #fff;
}

.c-modal-menu__inner .left-box p
{
    font-family: brandon-grotesque, sans-serif;
    font-size: 13px;
    font-weight: bold;
    line-height: 2;

    margin-bottom: 10px;

    letter-spacing: .2em;
    text-transform: uppercase;

    color: #fff;
}

.c-modal-menu__inner .right-box
{
    margin-right: 100px;
}

.c-modal-menu__inner .right-box .gnavi ul li
{
    margin-bottom: 50px;
}

.c-modal-menu__inner .right-box .gnavi ul li:last-child
{
    margin-bottom: 0;
}

.c-modal-menu__inner .right-box .gnavi ul li a
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    color: #fff;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}

.c-modal-menu__inner .right-box .gnavi ul li a:hover
{
    opacity: .4;
}

.c-modal-menu__inner .right-box .gnavi ul li a span.en
{
    font-family: brandon-grotesque, sans-serif;
    font-size: 28px;
    font-weight: bold;
    line-height: 1;

    position: relative;

    margin-right: 90px;

    letter-spacing: .1em;
    text-transform: uppercase;
}

.c-modal-menu__inner .right-box .gnavi ul li a span.en:after
{
    position: absolute;
    top: 15px;
    right: -70px;

    width: 50px;
    height: 1px;

    content: '';

    background-color: #fff;
}

.c-modal-menu__inner .right-box .gnavi ul li a span.ja
{
    font-size: 14px;
    font-weight: bold;
    line-height: 1;

    letter-spacing: .2em;
}

.c-purchase
{
    position: relative;

    width: 100%;
    height: 550px;
}

.c-purchase__bg img
{
    width: 100%;
    height: 550px;

    -o-object-fit: cover;
       object-fit: cover;
}

.c-purchase__inner
{
    position: absolute;
    top: 50%;
    left: 50%;

    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    text-align: center;
}

.c-purchase__inner h3
{
    margin-bottom: 30px;
}

.c-purchase__inner h3 img
{
    width: 200px;
    height: auto;
}

.c-purchase__inner h4
{
    font-family: brandon-grotesque, sans-serif;
    font-size: 22px;
    line-height: 1.6;

    margin-bottom: 30px;

    letter-spacing: .2em;

    color: #fff;
}

.c-purchase__inner a img
{
    width: 400px;
    height: auto;

    -webkit-transition: -webkit-transform .3s ease;
            transition: -webkit-transform .3s ease;
            transition:         transform .3s ease;
            transition:         transform .3s ease, -webkit-transform .3s ease;
}

.c-purchase__inner a img:hover
{
    -webkit-transform: scale(1.03);
        -ms-transform: scale(1.03);
            transform: scale(1.03);
}

.c-separator
{
    width: 100%;
    height: 50px;
}

.c-separator picture
{
    line-height: 0;

    display: block;
}

.c-separator picture img
{
    width: 100%;
    height: 50px;

    -o-object-fit: cover;
       object-fit: cover;
}

.p-footer-container
{
    padding: 120px 0;

    background-color: #fff;
}

.p-footer-container__inner
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 1200px;
    margin: 0 auto;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
}

.p-footer-container__inner .left-side h3
{
    font-family: brandon-grotesque, sans-serif;
    font-size: 60px;
    line-height: 1.2;

    margin-bottom: 50px;

    letter-spacing: .15em;
    text-transform: uppercase;

    color: #141f30;
}

.p-footer-container__inner .left-side .sns ul li
{
    line-height: 1;

    margin-bottom: 10px;
}

.p-footer-container__inner .left-side .sns ul li:nth-child(3)
{
    margin-bottom: 25px;
}

.p-footer-container__inner .left-side .sns ul li a
{
    font-family: brandon-grotesque, sans-serif;
    font-size: 10px;
    font-weight: bold;
    line-height: 1;

    letter-spacing: .2em;
    text-transform: uppercase;

    color: #141f30;
}

.p-footer-container__inner .left-side .sns ul li a:hover
{
    opacity: .4;
}

.p-footer-container__inner .right-side
{
    text-align: right;
}

.p-footer-container__inner .right-side .fnavi
{
    width: 620px;
    margin-bottom: 70px;
}

.p-footer-container__inner .right-side .fnavi ul
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
            justify-content: flex-end;
}

.p-footer-container__inner .right-side .fnavi ul li
{
    line-height: 1;

    margin-left: 20px;
}

.p-footer-container__inner .right-side .fnavi ul li:first-child
{
    margin-left: 0;
}

.p-footer-container__inner .right-side .fnavi ul li:last-child
{
    margin-top: 20px;
}

.p-footer-container__inner .right-side .fnavi ul li a
{
    font-family: brandon-grotesque, sans-serif;
    font-size: 12px;
    font-weight: bold;
    line-height: 1;

    letter-spacing: .2em;
    text-transform: uppercase;

    color: #141f30;
}

.p-footer-container__inner .right-side .fnavi ul li a:hover
{
    opacity: .4;
}

.p-footer-container__inner .right-side .amazon
{
    display: block;

    margin-top: 25px;
}

.p-footer-container__inner .right-side p
{
    font-family: brandon-grotesque, sans-serif;
    font-size: 10px;
    font-weight: bold;
    line-height: 2;

    margin-bottom: 40px;

    letter-spacing: .2em;
    text-transform: uppercase;

    color: #141f30;
}

.p-footer-container__inner .right-side h4 img
{
    width: 200px;
    height: auto;
}

.p-index-aboutus
{
    padding: 200px 0 160px;

    background-color: #fff;
}

.p-index-aboutus__inner
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 1000px;
    margin: 0 auto 100px;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
}

.p-index-aboutus__inner .heading
{
    width: 390px;
}

.p-index-aboutus__inner .heading h3
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    margin-bottom: 120px;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.p-index-aboutus__inner .heading h3 .en
{
    font-family: brandon-grotesque, sans-serif;
    font-size: 36px;
    line-height: 1.2;

    margin-right: 10px;

    letter-spacing: .2em;
    text-transform: uppercase;

    color: #141f30;
}

.p-index-aboutus__inner .heading h3 .ja
{
    font-size: 18px;
    line-height: 2;

    letter-spacing: .15em;

    color: #141f30;
}

.p-index-aboutus__inner .heading figure img
{
    width: 100%;
    height: auto;
}

.p-index-aboutus__inner .desc h4
{
    margin-bottom: 70px;
}

.p-index-aboutus__inner .desc h4 img
{
    width: 400px;
    height: auto;
}

.p-index-aboutus__inner .desc h5
{
    font-size: 22px;
    font-weight: bold;
    line-height: 2.2;

    margin-bottom: 20px;

    color: #141f30;
}

.p-index-aboutus__inner .desc p
{
    font-size: 16px;
    font-weight: bold;
    line-height: 2.4;

    margin-bottom: 40px;

    color: #141f30;
}

.p-index-aboutus__inner .desc p:last-of-type
{
    margin-bottom: 0;
}

.p-index-aboutus .link
{
    text-align: center;
}

.p-index-aboutus .link a
{
    font-family: brandon-grotesque, sans-serif;
    font-size: 28px;
    font-weight: bold;
    line-height: 1;

    position: relative;

    letter-spacing: .2em;
    text-transform: uppercase;
    pointer-events: none;

    color: #141f30;
}

.p-index-aboutus .link a:after
{
    position: absolute;
    bottom: -10px;
    left: 0;

    width: 100%;
    height: 3px;

    content: '';

    background-color: #141f30;
}

.p-index-concept
{
    padding: 130px 0 80px;

    background-color: #141f30;
}

.p-index-concept__inner
{
    position: relative;

    width: 1000px;
    margin: 0 auto;
}

.p-index-concept__inner .heading
{
    margin-bottom: 200px;
}

.p-index-concept__inner .heading h3
{
    font-size: 18px;
    font-weight: bold;
    line-height: 1;

    margin-bottom: 50px;

    letter-spacing: .2em;

    color: #fff;
}

.p-index-concept__inner .heading h3 .en
{
    font-family: brandon-grotesque, sans-serif;
    font-size: 36px;

    margin-right: 15px;
}

.p-index-concept__inner .heading h4
{
    font-family: brandon-grotesque, sans-serif;
    font-size: 60px;
    font-weight: bold;
    line-height: 1.2;

    letter-spacing: .15em;

    color: #fff;
}

.p-index-concept__inner .paragraph
{
    position: absolute;
    z-index: 1;
    top: 90px;
    right: 0;

    width: 340px;
}

.p-index-concept__inner .paragraph p
{
    font-size: 18px;
    font-weight: bold;
    line-height: 2;

    letter-spacing: .15em;
    text-transform: uppercase;

    color: #fff;
}

.p-index-concept__inner .paragraph p.en
{
    font-family: brandon-grotesque, sans-serif;
    font-size: 14px;
    line-height: 2;

    margin-bottom: 40px;

    letter-spacing: .2em;
    text-transform: uppercase;
}

.p-index-concept__carousel
{
    overflow: hidden;

    width: 100%;
}

.p-index-concept__carousel__wrap
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
}

.p-index-concept__carousel__wrap .item img
{
    width: 480px;
    height: auto;
}

.p-index-faq
{
    padding: 160px 0 220px;

    background: #141f30;
}

.p-index-faq__inner
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 1100px;
    margin: 0 auto;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
}

.p-index-faq__inner h3
{
    font-family: brandon-grotesque, sans-serif;
    font-size: 50px;

    letter-spacing: .2em;
    text-transform: uppercase;

    color: #fff;
}

.p-index-faq__inner h3 span
{
    font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
    font-size: 18px;

    display: block;

    letter-spacing: .2em;
}

.p-index-faq__inner .list
{
    width: 800px;
}

.p-index-faq__inner .list li
{
    margin-bottom: 10px;
    padding: 30px;

    cursor: pointer;
    -webkit-transition: -webkit-transform .3s ease;
            transition: -webkit-transform .3s ease;
            transition:         transform .3s ease;
            transition:         transform .3s ease, -webkit-transform .3s ease;

    border-radius: 6px;
    background: #1d3450;
}

.p-index-faq__inner .list li:hover
{
    -webkit-transform: scale(1.03);
        -ms-transform: scale(1.03);
            transform: scale(1.03);
}

.p-index-faq__inner .list li dl dt
{
    font-size: 20px;
    font-weight: bold;
    line-height: 1;

    position: relative;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    letter-spacing: .2em;

    color: #fff;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}

.p-index-faq__inner .list li dl dt .num
{
    font-family: brandon-grotesque, sans-serif;
    font-size: 28px;

    margin-right: 40px;
}

.p-index-faq__inner .list li dl dt:before,
.p-index-faq__inner .list li dl dt:after
{
    position: absolute;

    content: '';

    background-color: #fff;
}

.p-index-faq__inner .list li dl dt:before
{
    right: 0;

    width: 18px;
    height: 4px;
}

.p-index-faq__inner .list li dl dt:after
{
    right: 7px;

    width: 4px;
    height: 18px;
}

.p-index-faq__inner .list li dl dt.is_active:after
{
    display: none;
}

.p-index-faq__inner .list li dl dd
{
    font-size: 16px;
    line-height: 1.6;

    display: none;

    width: calc(100% - 80px);
    margin: 20px 0 0 80px;
    padding: 20px 0 0;

    letter-spacing: .02em;

    color: #fff;
    border-top: 1px solid #fff;
}

.p-index-features
{
    line-height: 0;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    padding-bottom: 10px;

    background-color: #141f30;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.p-index-features__slides
{
    position: relative;

    width: 50%;

    background-color: #fff;
}

.p-index-features__slides .slick-slide
{
    width: 50vw;
}

.p-index-features__slides .slick-slide img
{
    width: 100%;
    height: 52.778vw;

    -o-object-fit: cover;
       object-fit: cover;
}

.p-index-features__slides .slick-dots
{
    position: absolute;
    bottom: 2.778vw;
    left: 4.861vw;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.p-index-features__slides .slick-dots li span
{
    font-size: .833vw;
    line-height: 1;

    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 2.431vw;
    height: 2.431vw;

    cursor: pointer;
    -webkit-transition: all .3s ease;
            transition: all .3s ease;

    color: #c4c4c4;
    border: 1px solid transparent;
    border-radius: 50%;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}

.p-index-features__slides .slick-dots li span:before
{
    content: '0';
}

.p-index-features__slides .slick-dots li.slick-active span
{
    border-color: #c4c4c4;
}

.p-index-features__slides .slick-arrow
{
    line-height: 0;

    position: absolute;
    z-index: 1;
    bottom: 3.403vw;

    cursor: pointer;
}

.p-index-features__slides .slick-arrow.prev-arrow
{
    left: 3.472vw;
}

.p-index-features__slides .slick-arrow.next-arrow
{
    right: 19.444vw;
}

.p-index-features__expl
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 50%;
    height: 52.778vw;

    background-color: #141f30;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}

.p-index-features__expl .inner
{
    width: 540px;
}

.p-index-features__expl .inner h3
{
    font-size: 24px;
    font-weight: bold;
    line-height: 1.8;

    margin-bottom: 40px;

    letter-spacing: .2em;

    color: #fff;
}

.p-index-features__expl .inner p
{
    font-size: 16px;
    font-weight: bold;
    line-height: 2;

    margin-bottom: 20px;

    letter-spacing: .2em;

    color: #fff;
}

.p-index-features__expl .inner p:last-of-type
{
    margin-bottom: 50px;
}

.p-index-features__expl .inner a img
{
    width: 400px;
    height: auto;

    -webkit-transition: -webkit-transform .3s ease;
            transition: -webkit-transform .3s ease;
            transition:         transform .3s ease;
            transition:         transform .3s ease, -webkit-transform .3s ease;
}

.p-index-features__expl .inner a img:hover
{
    -webkit-transform: scale(1.03);
        -ms-transform: scale(1.03);
            transform: scale(1.03);
}

.p-index-howtouse
{
    padding: 160px 0;

    background: #fcfcfc;
}

.p-index-howtouse__inner
{
    width: 1200px;
    margin: 0 auto;
}

.p-index-howtouse__inner h3
{
    font-family: brandon-grotesque, sans-serif;
    font-size: 50px;

    margin-bottom: 80px;

    text-align: center;
    letter-spacing: .2em;
    text-transform: uppercase;

    color: #141f30;
}

.p-index-howtouse__inner h3 span
{
    font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
    font-size: 18px;

    display: block;

    letter-spacing: .2em;
}

.p-index-howtouse__inner .work-flow
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    margin-bottom: 80px;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.p-index-howtouse__inner .work-flow li
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 300px;
    height: 540px;
    padding: 20px 0 0;

    text-align: center;

    border-right: 1px solid #141f30;
}

.p-index-howtouse__inner .work-flow li h4
{
    font-size: 18px;
    line-height: 1.6;

    height: 115px;
    margin-bottom: 60px;

    letter-spacing: .05em;

    color: #141f30;
}

.p-index-howtouse__inner .work-flow li h4 .num
{
    font-family: brandon-grotesque, sans-serif;

    display: block;

    margin-bottom: 30px;
}

.p-index-howtouse__inner .work-flow li figure
{
    margin-bottom: 60px;
}

.p-index-howtouse__inner .work-flow li figure img
{
    width: auto;
    height: 135px;
}

.p-index-howtouse__inner .work-flow li p
{
    font-size: 14px;
    font-weight: bold;
    line-height: 1.6;

    letter-spacing: .05em;

    color: #141f30;
}

.p-index-howtouse__inner .movie
{
    overflow: hidden;

    width: 800px;
    margin: 0 auto;

    border-radius: 10px;
}

.p-index-main-visual
{
    position: relative;

    height: 100%;

    background-color: #fff;
}

.p-index-main-visual__inner
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    height: 100vh;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

.p-index-main-visual__inner .detail
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    width: 50%;

    background-color: #141f30;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}

.p-index-main-visual__inner .detail .wrap
{
    width: 500px;
}

.p-index-main-visual__inner .detail .wrap h2
{
    margin-bottom: 40px;
}

.p-index-main-visual__inner .detail .wrap h2 img
{
    width: 200px;
    height: auto;
}

.p-index-main-visual__inner .detail .wrap h3
{
    font-size: 20px;
    line-height: 1.8;

    margin-bottom: 30px;

    letter-spacing: .2em;

    color: #fff;
}

.p-index-main-visual__inner .detail .wrap .en
{
    font-size: 10px;
    line-height: 2;

    letter-spacing: .2em;
    text-transform: uppercase;

    color: #fff;
}

.p-index-main-visual__inner .pattern
{
    width: 50%;
}

.p-index-main-visual__inner .pattern img
{
    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.p-index-main-visual .floating-product
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 450px;

    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    text-align: center;

    background-color: #f7f9fa;
}

.p-index-main-visual .floating-product figure img
{
    width: 100%;
    height: auto;
}

.p-index-main-visual .floating-product .heading
{
    position: absolute;
    top: 70px;

    width: 100%;
}

.p-index-main-visual .floating-product .heading h4
{
    font-family: brandon-grotesque, sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1;

    margin-bottom: 20px;

    text-align: center;
    letter-spacing: .1em;
}

.p-index-main-visual .floating-product .heading .type
{
    font-family: brandon-grotesque, sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;

    margin-bottom: 30px;

    letter-spacing: .15em;
    text-transform: uppercase;
}

.p-index-main-visual .floating-product .heading .type span
{
    display: inline-block;

    padding-bottom: 5px;

    border-bottom: 1px solid #141f30;
}

.p-index-main-visual .floating-product a
{
    position: absolute;
    bottom: 50px;
    left: 50%;

    display: block;

    margin: 0 auto;

    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
}

.p-index-main-visual .floating-product a:hover
{
    -webkit-transform: translateX(-50%) scale(1.1);
        -ms-transform: translateX(-50%) scale(1.1);
            transform: translateX(-50%) scale(1.1);
}

.p-index-main-visual .floating-product a svg
{
    width: 60px;
    height: 60px;
}

.p-index-movie
{
    position: relative;

    background-color: #141f30;
}

.p-index-movie__wrap
{
    position: relative;

    overflow: hidden;

    width: 100%;
    padding-top: 56.25%;
}

.p-index-movie__wrap iframe
{
    position: absolute;
    top: 0;
    right: 0;

    width: 100% !important;
    height: 100% !important;

    pointer-events: none;

    opacity: .6;
}

.p-index-movie__wrap .play-btn
{
    position: absolute;
    top: 50%;
    left: 50%;

    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

.p-index-movie__wrap .play-btn img
{
    width: 120px;
    height: 120px;

    -webkit-transition: -webkit-transform .6s ease;
            transition: -webkit-transform .6s ease;
            transition:         transform .6s ease;
            transition:         transform .6s ease, -webkit-transform .6s ease;
}

.p-index-movie__wrap .play-btn:hover img
{
    -webkit-transform: scale(1.15);
        -ms-transform: scale(1.15);
            transform: scale(1.15);
}

.p-index-products
{
    padding: 130px 0 200px;

    background: #f7f9fa;
}

.p-index-products__inner
{
    width: 820px;
    margin: 0 auto;
}

.p-index-products__inner h3
{
    font-family: brandon-grotesque, sans-serif;
    font-size: 50px;

    margin-bottom: 60px;

    text-align: center;
    letter-spacing: .2em;
    text-transform: uppercase;

    color: #141f30;
}

.p-index-products__inner h3 span
{
    font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
    font-size: 18px;

    display: block;

    letter-spacing: .2em;
}

.p-index-products__inner h4
{
    font-size: 28px;
    line-height: 1.6;

    margin-bottom: 100px;

    text-align: center;
    letter-spacing: .2em;

    color: #141f30;
}

.p-index-products__inner .info
{
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}

.p-index-products__inner .info .eyecatch
{
    width: 350px;

    text-align: center;
}

.p-index-products__inner .info .eyecatch figure
{
    display: block;

    margin-bottom: 25px;
}

.p-index-products__inner .info .eyecatch figure img
{
    width: 200px;
    height: auto;
}

.p-index-products__inner .info .eyecatch p
{
    font-size: 13px;
    font-weight: bold;
    line-height: 2;

    letter-spacing: .1em;

    color: #141f30;
}

.p-index-products__inner .info .eyecatch p strong
{
    font-size: 16px;
}

.p-index-products__inner .info .desc
{
    width: 400px;
}

.p-index-products__inner .info .desc h5
{
    margin-bottom: 20px;
}

.p-index-products__inner .info .desc h5 img
{
    width: 270px;
    height: auto;
}

.p-index-products__inner .info .desc p
{
    font-size: 13px;
    font-weight: bold;
    line-height: 2;

    margin-bottom: 60px;

    letter-spacing: .1em;

    color: #141f30;
}

.p-index-products__inner .info .desc p.meta
{
    font-family: 'Noto Sans JP', '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
    font-size: 14px;

    margin-bottom: 30px;
}

.p-index-products__inner .info .desc a img
{
    width: 400px;
    height: auto;

    -webkit-transition: -webkit-transform .3s ease;
            transition: -webkit-transform .3s ease;
            transition:         transform .3s ease;
            transition:         transform .3s ease, -webkit-transform .3s ease;
}

.p-index-products__inner .info .desc a img:hover
{
    -webkit-transform: scale(1.03);
        -ms-transform: scale(1.03);
            transform: scale(1.03);
}

.p-modal
{
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;

    display: none;

    width: 100%;
    height: 100%;

    background-color: rgba(0, 0, 0, .9);
}

.p-modal__container
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 80vw;
    height: auto;

    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

.p-modal__container__movie
{
    position: relative;

    overflow: hidden;

    height: 0;
    padding-bottom: 56.25%;
}

.p-modal__container__movie iframe
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}

.p-modal__close
{
    position: absolute;
    z-index: 100;
    top: 40px;
    right: 50px;

    width: 60px;
    height: 60px;

    cursor: pointer;
    -webkit-transition: -webkit-transform .6s ease;
            transition: -webkit-transform .6s ease;
            transition:         transform .6s ease;
            transition:         transform .6s ease, -webkit-transform .6s ease;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
}

.p-modal__close:before
{
    position: absolute;
    top: 30px;

    display: block;

    width: 60px;
    height: 1px;

    content: '';

    background-color: #fff;
}

.p-modal__close:after
{
    position: absolute;
    left: 30px;

    display: block;

    width: 1px;
    height: 60px;

    content: '';

    background-color: #fff;
}

.p-modal__close:hover
{
    -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
            transform: rotate(135deg);
}

.u-display-sp
{
    display: none;
}

.u-display-pc
{
    display: block;
}

@media (max-width: 767px)
{
    .inertial-scroll
    {
        height: 100%;
    }

    .c-floating-bnr
    {
        display: none;
    }

    .c-loading
    {
        background-color: #19243a;
    }

    .c-loading__inner
    {
        width: 70%;
    }

    .c-modal-btn
    {
        top: 2.667vw;
        right: 2.667vw;
    }

    .c-modal-btn a
    {
        width: 16vw;
        height: 16vw;
    }

    .c-modal-btn a span
    {
        width: 9.333vw;
    }

    .c-modal-btn a span:nth-of-type(1)
    {
        margin-top: -1.067vw;
    }

    .c-modal-btn a span:nth-of-type(2)
    {
        margin-top: 1.067vw;
    }

    .c-modal-menu__inner .left-box
    {
        display: none;
    }

    .c-modal-menu__inner .right-box
    {
        margin: 0;
        padding: 0 8vw;
    }

    .c-modal-menu__inner .right-box .gnavi ul li
    {
        margin-bottom: 10.667vw;
    }

    .c-modal-menu__inner .right-box .gnavi ul li a span.en
    {
        font-size: 5.867vw;

        margin-right: 60px;
    }

    .c-modal-menu__inner .right-box .gnavi ul li a span.en:after
    {
        top: 2.667vw;
        right: -13.333vw;

        width: 10.667vw;
    }

    .c-modal-menu__inner .right-box .gnavi ul li a span.ja
    {
        font-size: 3.467vw;
    }

    .c-purchase
    {
        height: 80vw;
    }

    .c-purchase__bg img
    {
        height: 80vw;
    }

    .c-purchase__inner h3
    {
        margin-bottom: 2.667vw;
    }

    .c-purchase__inner h3 img
    {
        width: 40vw;
    }

    .c-purchase__inner h4
    {
        font-size: 5.333vw;

        margin-bottom: 5.333vw;
    }

    .c-purchase__inner a img
    {
        width: 84.267vw;
    }

    .c-separator
    {
        height: 5.333vw;
    }

    .c-separator picture img
    {
        height: 5.333vw;
    }

    .p-footer-container
    {
        padding: 16vw 0;
    }

    .p-footer-container__inner
    {
        display: block;

        width: auto;
        padding: 0 8vw;
    }

    .p-footer-container__inner .left-side h3
    {
        font-size: 10.667vw;

        margin-bottom: 8vw;
    }

    .p-footer-container__inner .left-side .sns ul li
    {
        margin-bottom: 2.667vw;
    }

    .p-footer-container__inner .left-side .sns ul li a
    {
        font-size: 3.467vw;
    }

    .p-footer-container__inner .right-side
    {
        text-align: left;
    }

    .p-footer-container__inner .right-side .fnavi
    {
        width: auto;
        margin-bottom: 10.667vw;
    }

    .p-footer-container__inner .right-side .fnavi ul
    {
        display: block;
    }

    .p-footer-container__inner .right-side .fnavi ul li
    {
        display: none;
    }

    .p-footer-container__inner .right-side .fnavi ul li:last-child
    {
        display: block;

        margin-left: 0;
    }

    .p-footer-container__inner .right-side .fnavi ul li a
    {
        font-size: 3.467vw;
    }

    .p-footer-container__inner .right-side .amazon
    {
        margin-top: 6.667vw;
    }

    .p-footer-container__inner .right-side p
    {
        font-size: 2.667vw;

        margin-bottom: 10.667vw;
    }

    .p-footer-container__inner .right-side h4 img
    {
        width: 40vw;
    }

    .p-index-aboutus
    {
        padding: 21.333vw 0;
    }

    .p-index-aboutus__inner
    {
        width: auto;
        margin: 0;
        padding: 0 8vw;
    }

    .p-index-aboutus__inner .heading
    {
        width: 100%;
    }

    .p-index-aboutus__inner .heading h3
    {
        margin-bottom: 8vw;

        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
                justify-content: space-between;
    }

    .p-index-aboutus__inner .heading h3 .en
    {
        font-size: 9.6vw;

        margin-right: 0;
    }

    .p-index-aboutus__inner .heading h3 .ja
    {
        font-size: 3.467vw;
    }

    .p-index-aboutus__inner .heading figure
    {
        margin-bottom: 10.667vw;
    }

    .p-index-aboutus__inner .desc
    {
        margin-bottom: 16vw;
    }

    .p-index-aboutus__inner .desc h4
    {
        margin-bottom: 10.667vw;
    }

    .p-index-aboutus__inner .desc h4 img
    {
        width: 100%;
    }

    .p-index-aboutus__inner .desc h5
    {
        font-size: 5.333vw;
        line-height: 1.8;

        margin-bottom: 10.667vw;
    }

    .p-index-aboutus__inner .desc p
    {
        font-size: 3.733vw;
        line-height: 1.8;

        margin-bottom: 5.333vw;
    }

    .p-index-aboutus .link a
    {
        font-size: 6.133vw;
        line-height: 1.4;
    }

    .p-index-aboutus .link a:after
    {
        bottom: -2.667vw;

        height: .8vw;
    }

    .p-index-concept
    {
        padding: 16vw 0 13.333vw;
    }

    .p-index-concept__inner
    {
        width: auto;
        padding: 0 8vw;
    }

    .p-index-concept__inner .heading
    {
        margin-bottom: 85.333vw;
    }

    .p-index-concept__inner .heading h3
    {
        font-size: 3.2vw;

        margin-bottom: 2.667vw;
    }

    .p-index-concept__inner .heading h3 .en
    {
        font-size: 6.4vw;

        margin-right: 2.667vw;
    }

    .p-index-concept__inner .heading h4
    {
        font-size: 11.733vw;
    }

    .p-index-concept__inner .paragraph
    {
        top: 40vw;

        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 100%;
        padding: 0 8vw;
    }

    .p-index-concept__inner .paragraph p
    {
        font-size: 4.267vw;
        line-height: 1.8;
    }

    .p-index-concept__inner .paragraph p.en
    {
        font-size: 3.2vw;
        line-height: 1.8;

        margin-bottom: 13.333vw;

        letter-spacing: .15em;
    }

    .p-index-concept__carousel__wrap .item img
    {
        width: 61.333vw;
    }

    .p-index-faq
    {
        padding: 16vw 0 26.667vw;
    }

    .p-index-faq__inner
    {
        display: block;

        width: auto;
        padding: 0 8vw;
    }

    .p-index-faq__inner h3
    {
        font-size: 9.6vw;

        margin-bottom: 10.667vw;

        text-align: center;
    }

    .p-index-faq__inner h3 span
    {
        font-size: 3.467vw;
    }

    .p-index-faq__inner .list
    {
        width: 100%;
    }

    .p-index-faq__inner .list li
    {
        margin-bottom: 2.667vw;
        padding: 5.333vw;

        border-radius: 1.6vw;
    }

    .p-index-faq__inner .list li dl dt
    {
        font-size: 4.267vw;

        display: block;

        letter-spacing: 0;
    }

    .p-index-faq__inner .list li dl dt .num
    {
        font-size: 5.333vw;

        display: block;

        margin: 0 0 2.667vw;
    }

    .p-index-faq__inner .list li dl dt:before
    {
        top: 1.6vw;

        width: 4vw;
        height: .8vw;
    }

    .p-index-faq__inner .list li dl dt:after
    {
        top: 0;
        right: 1.6vw;

        width: .8vw;
        height: 4vw;
    }

    .p-index-faq__inner .list li dl dd
    {
        font-size: 3.467vw;

        width: 100%;
        margin: 2.667vw 0 0;
        padding: 2.667vw 0 0;
    }

    .p-index-features
    {
        display: block;
    }

    .p-index-features__slides
    {
        width: 100vw;
        height: 106.667vw;
    }

    .p-index-features__slides .slick-slide
    {
        width: 100vw;
        height: 106.667vw;
    }

    .p-index-features__slides .slick-slide img
    {
        width: 100vw;
        height: 106.667vw;
    }

    .p-index-features__slides .slick-dots
    {
        bottom: 4vw;
        left: 0;

        width: 100%;

        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
                justify-content: center;
    }

    .p-index-features__slides .slick-dots li span
    {
        font-size: 3.2vw;

        width: 8vw;
        height: 8vw;
    }

    .p-index-features__slides .slick-arrow
    {
        top: 48vw;
        bottom: auto;
    }

    .p-index-features__slides .slick-arrow.prev-arrow
    {
        left: 5.333vw;
    }

    .p-index-features__slides .slick-arrow.next-arrow
    {
        right: 5.333vw;
    }

    .p-index-features__expl
    {
        display: block;

        width: auto;
        height: auto;
        padding: 10.667vw 8vw 16vw;
    }

    .p-index-features__expl .inner
    {
        width: 100%;
    }

    .p-index-features__expl .inner h3
    {
        font-size: 6.4vw;
        line-height: 1.4;

        margin-bottom: 5.333vw;

        letter-spacing: .15em;
    }

    .p-index-features__expl .inner p
    {
        font-size: 14px;
        line-height: 1.6;

        letter-spacing: .15em;
    }

    .p-index-features__expl .inner p:last-of-type
    {
        margin-bottom: 10.667vw;
    }

    .p-index-features__expl .inner a img
    {
        width: 100%;
    }

    .p-index-howtouse
    {
        padding: 21.333vw 0;
    }

    .p-index-howtouse__inner
    {
        width: auto;
        padding: 0 8vw;
    }

    .p-index-howtouse__inner h3
    {
        font-size: 9.6vw;
        line-height: 1.2;

        margin-bottom: 8vw;

        letter-spacing: .1em;
    }

    .p-index-howtouse__inner h3 span
    {
        font-size: 3.467vw;

        margin-top: 1.333vw;
    }

    .p-index-howtouse__inner .work-flow
    {
        display: block;

        margin-bottom: 10.667vw;
    }

    .p-index-howtouse__inner .work-flow li
    {
        width: 100%;
        height: auto;
        padding: 8vw 0;

        border-right: none;
        border-bottom: 1px solid #eaeaea;
    }

    .p-index-howtouse__inner .work-flow li h4
    {
        font-size: 4.8vw;

        height: auto;
        margin-bottom: 5.333vw;
    }

    .p-index-howtouse__inner .work-flow li h4 .num
    {
        margin-bottom: 2.667vw;
    }

    .p-index-howtouse__inner .work-flow li figure
    {
        margin-bottom: 4vw;
    }

    .p-index-howtouse__inner .work-flow li figure img
    {
        height: 30.667vw;
    }

    .p-index-howtouse__inner .work-flow li p
    {
        font-size: 3.733vw;
    }

    .p-index-howtouse__inner .movie
    {
        width: 100%;

        border-radius: 1.333vw;
    }

    .p-index-main-visual__inner
    {
        display: block;

        height: 100%;
    }

    .p-index-main-visual__inner .detail
    {
        display: block;

        width: 100%;
        height: 50%;
    }

    .p-index-main-visual__inner .detail .wrap
    {
        width: auto;
        padding: 9.333vw 8vw 0;
    }

    .p-index-main-visual__inner .detail .wrap h2
    {
        margin-bottom: 6.667vw;
    }

    .p-index-main-visual__inner .detail .wrap h2 img
    {
        width: 40vw;
    }

    .p-index-main-visual__inner .detail .wrap h3
    {
        font-size: 4.267vw;
        line-height: 1.6;

        margin-bottom: 5.333vw;
    }

    .p-index-main-visual__inner .detail .wrap .en
    {
        font-size: 2.667vw;
        line-height: 1.6;

        display: none;
    }

    .p-index-main-visual__inner .pattern
    {
        width: 100%;
        height: 50%;
    }

    .p-index-main-visual .floating-product
    {
        top: 106.667vw;

        width: 84vw;
    }

    .p-index-main-visual .floating-product .heading
    {
        top: 10.667vw;
    }

    .p-index-main-visual .floating-product .heading h4
    {
        font-size: 4.8vw;

        margin-bottom: 2.667vw;
    }

    .p-index-main-visual .floating-product .heading .type
    {
        font-size: 3.467vw;
    }

    .p-index-main-visual .floating-product .heading .type span
    {
        padding-bottom: 1.333vw;
    }

    .p-index-main-visual .floating-product a
    {
        bottom: 5.333vw;
    }

    .p-index-main-visual .floating-product a svg
    {
        width: 16vw;
        height: 16vw;
    }

    .p-index-movie__wrap
    {
        height: 106.667vw;
        padding-top: 0;
    }

    .p-index-movie__wrap iframe
    {
        top: 50%;
        left: 50%;

        width: 186.667vw !important;
        height: 106.667vw !important;

        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
    }

    .p-index-movie__wrap .play-btn img
    {
        width: 16vw;
        height: 16vw;
    }

    .p-index-products
    {
        padding: 21.333vw 0 32vw;
    }

    .p-index-products__inner
    {
        width: auto;
        padding: 0 8vw;
    }

    .p-index-products__inner h3
    {
        font-size: 9.6vw;

        margin-bottom: 10.667vw;

        text-align: center;
    }

    .p-index-products__inner h3 span
    {
        font-size: 3.467vw;
    }

    .p-index-products__inner h4
    {
        font-size: 5.867vw;
        line-height: 1.6;

        margin-bottom: 16vw;

        letter-spacing: .1em;
    }

    .p-index-products__inner .info .eyecatch
    {
        width: 100%;
        margin-bottom: 16vw;
    }

    .p-index-products__inner .info .eyecatch figure
    {
        margin-bottom: 10.667vw;
    }

    .p-index-products__inner .info .eyecatch figure img
    {
        width: 32vw;
    }

    .p-index-products__inner .info .eyecatch p
    {
        font-size: 3.467vw;
        line-height: 1.8;
    }

    .p-index-products__inner .info .eyecatch p strong
    {
        font-size: 4.8vw;
        line-height: 1.4;
    }

    .p-index-products__inner .info .desc
    {
        width: 100%;
    }

    .p-index-products__inner .info .desc h5
    {
        margin-bottom: 5.333vw;
    }

    .p-index-products__inner .info .desc h5 img
    {
        width: 72vw;
    }

    .p-index-products__inner .info .desc p
    {
        font-size: 3.467vw;
        line-height: 1.8;

        margin-bottom: 8vw;
    }

    .p-index-products__inner .info .desc p.meta
    {
        font-size: 3.2vw;

        margin-bottom: 5.333vw;
    }

    .p-index-products__inner .info .desc a img
    {
        width: 100%;
    }

    .p-modal__container
    {
        width: 100vw;
    }

    .p-modal__close
    {
        top: 5.333vw;
        right: 2.667vw;

        width: 16vw;
        height: 16vw;
    }

    .p-modal__close:before
    {
        top: 8vw;

        width: 16vw;
    }

    .p-modal__close:after
    {
        left: 8vw;

        height: 16vw;
    }

    .u-display-sp
    {
        display: block;
    }

    .u-display-pc
    {
        display: none;
    }
}

@media (min-width: 768px) and (max-width: 1439px)
{
    .c-floating-bnr
    {
        right: 2.083vw;
        bottom: 2.083vw;

        width: 16.389vw;
    }

    .c-floating-bnr .close
    {
        top: -1.389vw;
        right: -1.389vw;
    }

    .c-floating-bnr .close img
    {
        width: 2.778vw;
        height: 2.778vw;
    }

    .c-loading__inner
    {
        width: 31.25vw;
    }

    .c-modal-btn
    {
        top: 2.083vw;
        right: 2.083vw;
    }

    .c-modal-btn a
    {
        width: 5.556vw;
        height: 5.556vw;
    }

    .c-modal-btn a span
    {
        width: 2.431vw;
    }

    .c-modal-btn a span:nth-of-type(1)
    {
        margin-top: -.278vw;
    }

    .c-modal-btn a span:nth-of-type(2)
    {
        margin-top: .278vw;
    }

    .c-modal-menu__inner
    {
        width: 80.556vw;
    }

    .c-modal-menu__inner .left-box h3
    {
        margin-bottom: 18.75vw;
    }

    .c-modal-menu__inner .left-box h3 img
    {
        width: 13.889vw;
    }

    .c-modal-menu__inner .left-box h4
    {
        font-size: 1.667vw;

        margin-bottom: .694vw;
    }

    .c-modal-menu__inner .left-box p
    {
        font-size: .903vw;

        margin-bottom: .694vw;
    }

    .c-modal-menu__inner .right-box
    {
        margin-right: 6.944vw;
    }

    .c-modal-menu__inner .right-box .gnavi ul li
    {
        margin-bottom: 3.472vw;
    }

    .c-modal-menu__inner .right-box .gnavi ul li a span.en
    {
        font-size: 1.944vw;

        margin-right: 6.25vw;
    }

    .c-modal-menu__inner .right-box .gnavi ul li a span.en:after
    {
        top: 1.042vw;
        right: -4.861vw;

        width: 3.472vw;
        height: 1px;
    }

    .c-modal-menu__inner .right-box .gnavi ul li a span.ja
    {
        font-size: .972vw;
    }

    .c-purchase
    {
        height: 38.194vw;
    }

    .c-purchase__bg img
    {
        height: 38.194vw;
    }

    .c-purchase__inner h3
    {
        margin-bottom: 2.083vw;
    }

    .c-purchase__inner h3 img
    {
        width: 13.889vw;
    }

    .c-purchase__inner h4
    {
        font-size: 1.528vw;

        margin-bottom: 2.083vw;
    }

    .c-purchase__inner a img
    {
        width: 27.778vw;
    }

    .c-separator
    {
        height: 3.472vw;
    }

    .c-separator picture img
    {
        height: 3.472vw;
    }

    .p-footer-container
    {
        padding: 8.333vw 0;
    }

    .p-footer-container__inner
    {
        width: 83.333vw;
    }

    .p-footer-container__inner .left-side h3
    {
        font-size: 4.167vw;

        margin-bottom: 3.472vw;
    }

    .p-footer-container__inner .left-side .sns ul li
    {
        margin-bottom: .694vw;
    }

    .p-footer-container__inner .left-side .sns ul li:nth-child(3)
    {
        margin-bottom: 1.736vw;
    }

    .p-footer-container__inner .left-side .sns ul li a
    {
        font-size: .694vw;
    }

    .p-footer-container__inner .right-side .fnavi
    {
        width: 43.056vw;
        margin-bottom: 4.861vw;
    }

    .p-footer-container__inner .right-side .fnavi ul li
    {
        margin-left: 1.389vw;
    }

    .p-footer-container__inner .right-side .fnavi ul li:last-child
    {
        margin-top: 1.389vw;
    }

    .p-footer-container__inner .right-side .fnavi ul li a
    {
        font-size: .833vw;
    }

    .p-footer-container__inner .right-side .amazon
    {
        margin-top: 1.736vw;
    }

    .p-footer-container__inner .right-side p
    {
        font-size: .694vw;

        margin-bottom: 2.778vw;
    }

    .p-footer-container__inner .right-side h4 img
    {
        width: 13.889vw;
    }

    .p-index-aboutus
    {
        padding: 13.889vw 0 11.111vw;
    }

    .p-index-aboutus__inner
    {
        width: 69.444vw;
        margin: 0 auto 100px;
    }

    .p-index-aboutus__inner .heading
    {
        width: 27.083vw;
    }

    .p-index-aboutus__inner .heading h3
    {
        margin-bottom: 8.333vw;
    }

    .p-index-aboutus__inner .heading h3 .en
    {
        font-size: 2.5vw;

        margin-right: .694vw;
    }

    .p-index-aboutus__inner .heading h3 .ja
    {
        font-size: 1.25vw;
    }

    .p-index-aboutus__inner .desc h4
    {
        margin-bottom: 4.861vw;
    }

    .p-index-aboutus__inner .desc h4 img
    {
        width: 27.778vw;
    }

    .p-index-aboutus__inner .desc h5
    {
        font-size: 1.528vw;

        margin-bottom: 1.389vw;
    }

    .p-index-aboutus__inner .desc p
    {
        font-size: 1.111vw;

        margin-bottom: 2.778vw;
    }

    .p-index-aboutus .link a
    {
        font-size: 1.944vw;
    }

    .p-index-aboutus .link a:after
    {
        bottom: -.694vw;

        height: .208vw;
    }

    .p-index-concept
    {
        padding: 9.028vw 0 5.556vw;
    }

    .p-index-concept__inner
    {
        width: 69.444vw;
    }

    .p-index-concept__inner .heading
    {
        margin-bottom: 13.889vw;
    }

    .p-index-concept__inner .heading h3
    {
        font-size: 1.25vw;

        margin-bottom: 3.472vw;
    }

    .p-index-concept__inner .heading h3 .en
    {
        font-size: 2.5vw;

        margin-right: 1.042vw;
    }

    .p-index-concept__inner .heading h4
    {
        font-size: 4.167vw;
    }

    .p-index-concept__inner .paragraph
    {
        top: 6.25vw;

        width: 23.611vw;
    }

    .p-index-concept__inner .paragraph p
    {
        font-size: 1.25vw;
    }

    .p-index-concept__inner .paragraph p.en
    {
        font-size: .972vw;

        margin-bottom: 2.778vw;
    }

    .p-index-concept__carousel__wrap .item img
    {
        width: 33.333vw;
    }

    .p-index-faq
    {
        padding: 11.111vw 0 15.278vw;
    }

    .p-index-faq__inner
    {
        width: 76.389vw;
    }

    .p-index-faq__inner h3
    {
        font-size: 3.472vw;
    }

    .p-index-faq__inner h3 span
    {
        font-size: 1.25vw;
    }

    .p-index-faq__inner .list
    {
        width: 55.556vw;
    }

    .p-index-faq__inner .list li
    {
        margin-bottom: .694vw;
        padding: 2.083vw;

        border-radius: .417vw;
    }

    .p-index-faq__inner .list li dl dt
    {
        font-size: 1.389vw;
    }

    .p-index-faq__inner .list li dl dt .num
    {
        font-size: 1.944vw;

        margin-right: 2.778vw;
    }

    .p-index-faq__inner .list li dl dt:before
    {
        width: 1.25vw;
        height: .278vw;
    }

    .p-index-faq__inner .list li dl dt:after
    {
        right: .486vw;

        width: .278vw;
        height: 1.25vw;
    }

    .p-index-faq__inner .list li dl dd
    {
        font-size: 1.111vw;

        width: calc(100% - 5.556vw);
        margin: 1.389vw 0 0 5.556vw;
        padding: 1.389vw 0 0;
    }

    .p-index-features__expl .inner
    {
        width: 37.5vw;
    }

    .p-index-features__expl .inner h3
    {
        font-size: 1.667vw;

        margin-bottom: 2.778vw;
    }

    .p-index-features__expl .inner p
    {
        font-size: 1.111vw;

        margin-bottom: 1.389vw;
    }

    .p-index-features__expl .inner p:last-of-type
    {
        margin-bottom: 3.472vw;
    }

    .p-index-features__expl .inner a img
    {
        width: 27.778vw;
    }

    .p-index-howtouse
    {
        padding: 11.111vw 0;
    }

    .p-index-howtouse__inner
    {
        width: 83.333vw;
    }

    .p-index-howtouse__inner h3
    {
        font-size: 3.472vw;

        margin-bottom: 5.556vw;
    }

    .p-index-howtouse__inner h3 span
    {
        font-size: 1.25vw;
    }

    .p-index-howtouse__inner .work-flow
    {
        margin-bottom: 5.556vw;
    }

    .p-index-howtouse__inner .work-flow li
    {
        width: 20.833vw;
        height: 37.5vw;
        padding: 1.389vw 0 0;
    }

    .p-index-howtouse__inner .work-flow li h4
    {
        font-size: 1.25vw;

        height: 7.986vw;
        margin-bottom: 4.167vw;
    }

    .p-index-howtouse__inner .work-flow li h4 .num
    {
        margin-bottom: 2.083vw;
    }

    .p-index-howtouse__inner .work-flow li figure
    {
        margin-bottom: 4.167vw;
    }

    .p-index-howtouse__inner .work-flow li figure img
    {
        height: 9.375vw;
    }

    .p-index-howtouse__inner .work-flow li p
    {
        font-size: .972vw;
    }

    .p-index-howtouse__inner .movie
    {
        width: 55.556vw;

        border-radius: .694vw;
    }

    .p-index-main-visual__inner .detail .wrap
    {
        width: 34.722vw;
    }

    .p-index-main-visual__inner .detail .wrap h2
    {
        margin-bottom: 2.778vw;
    }

    .p-index-main-visual__inner .detail .wrap h2 img
    {
        width: 13.889vw;
    }

    .p-index-main-visual__inner .detail .wrap h3
    {
        font-size: 1.389vw;

        margin-bottom: 2.083vw;
    }

    .p-index-main-visual__inner .detail .wrap .en
    {
        font-size: .694vw;
    }

    .p-index-main-visual .floating-product
    {
        width: 31.25vw;
    }

    .p-index-main-visual .floating-product .heading
    {
        top: 4.861vw;
    }

    .p-index-main-visual .floating-product .heading h4
    {
        font-size: 1.25vw;

        margin-bottom: 1.389vw;
    }

    .p-index-main-visual .floating-product .heading .type
    {
        font-size: .903vw;

        margin-bottom: 2.083vw;
    }

    .p-index-main-visual .floating-product .heading .type span
    {
        padding-bottom: .347vw;
    }

    .p-index-main-visual .floating-product a
    {
        bottom: 3.472vw;
    }

    .p-index-main-visual .floating-product a svg
    {
        width: 4.167vw;
        height: 4.167vw;
    }

    .p-index-movie__wrap .play-btn img
    {
        width: 8.333vw;
        height: 8.333vw;
    }

    .p-index-products
    {
        padding: 9.028vw 0 13.889vw;
    }

    .p-index-products__inner
    {
        width: 56.944vw;
    }

    .p-index-products__inner h3
    {
        font-size: 3.472vw;

        margin-bottom: 4.167vw;
    }

    .p-index-products__inner h3 span
    {
        font-size: 1.25vw;
    }

    .p-index-products__inner h4
    {
        font-size: 1.944vw;

        margin-bottom: 6.944vw;
    }

    .p-index-products__inner .info .eyecatch
    {
        width: 24.306vw;
    }

    .p-index-products__inner .info .eyecatch figure
    {
        margin-bottom: 1.736vw;
    }

    .p-index-products__inner .info .eyecatch figure img
    {
        width: 13.889vw;
    }

    .p-index-products__inner .info .eyecatch p
    {
        font-size: .903vw;
    }

    .p-index-products__inner .info .eyecatch p strong
    {
        font-size: 1.111vw;
    }

    .p-index-products__inner .info .desc
    {
        width: 27.778vw;
    }

    .p-index-products__inner .info .desc h5
    {
        margin-bottom: 1.389vw;
    }

    .p-index-products__inner .info .desc h5 img
    {
        width: 18.75vw;
    }

    .p-index-products__inner .info .desc p
    {
        font-size: .903vw;

        margin-bottom: 4.167vw;
    }

    .p-index-products__inner .info .desc p.meta
    {
        font-size: .972vw;

        margin-bottom: 2.083vw;
    }

    .p-index-products__inner .info .desc a img
    {
        width: 27.778vw;
    }

    .p-modal__close
    {
        top: 2.778vw;
        right: 3.472vw;

        width: 4.167vw;
        height: 4.167vw;
    }

    .p-modal__close:before
    {
        top: 2.083vw;

        width: 4.167vw;
    }

    .p-modal__close:after
    {
        left: 2.083vw;

        height: 4.167vw;
    }
}
