@charset 'UTF-8';
/* --------------------------------------------------------------------------------
*   common
-------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
*   text / font
-------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
*   media query
-------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
*
*   z-index
*
-------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
*
*   easing
*
-------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
*
*   texture
*
-------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
*
*   color
*
-------------------------------------------------------------------------------- */
/* HSL */
/* RGB */
/* HSL */
/* RGB */
/* HSL */
/* RGB */
/* HSL */
/* RGB */
/* Coolors Exported Palette - coolors.co/040091-6901f5-b735fb-fe249b-ff5a78 */
/* HSL */
/* RGB */
/* HSL */
/* RGB */
/* HSL */
/* RGB */
/* --------------------------------------------------------------------------------
*
*   mixin
*
-------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
*
*   animation
*
-------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
*
*   media query
*
-------------------------------------------------------------------------------- */
/*
*
*   max order 
*
*/
/*
*
*   min order 
*
*/
/*
*
*   how to   
*
*/
/* --------------------------------------------------------------------------------
*
*   portrait,landscape
*
-------------------------------------------------------------------------------- */
/*
  *
  *   how to
  *
  */
/* --------------------------------------------------------------------------------
*
*   common
*
-------------------------------------------------------------------------------- */
#modal .img,
#modal .text,
#wrapper.id_top .section01 .imgWrap .imgList .img
{
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

         -o-user-select: none;
}

/* --------------------------------------------------------------------------------
*
*   line-height
*
-------------------------------------------------------------------------------- */
div,
p,
h1,
h2,
h3,
h4
{
    line-height: 1;
}

/* --------------------------------------------------------------------------------
*
*   float
*
-------------------------------------------------------------------------------- */
.fl
{
    float: left;
}

.fr
{
    float: right;
}

.cl
{
    clear: both;
}

.fList > li,
.fList > dt,
.fList > dd,
.fList > .item
{
    float: left;
}

.fList > .item:last-child
{
    margin-right: 0 !important;
    padding-right: 0 !important;
}

.flex > li:last-child,
.flex > dt:last-child,
.flex > dd:last-child,
.flex > .item:last-child
{
    margin-right: 0 !important;
    padding-right: 0 !important;
}

.fBoth > li:first-child
{
    float: left;
}

.fBoth > li:last-child
{
    float: right;
}

.fBoth > dt,
.fBoth > .item:nth-child(1)
{
    float: left;
}

.fBoth > dd,
.fBoth > .item:nth-child(2)
{
    float: right;
}

/* --------------------------------------------------------------------------------
*
*   flex
*
-------------------------------------------------------------------------------- */
.flex
{
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
}

/* --------------------------------------------------------------------------------
*
*   Clearfix
*
-------------------------------------------------------------------------------- */
.cf,
.fList
{
    zoom: 1;
}

.cf:after,
.fList:after,
.fBoth:after
{
    line-height: 0;

    display: block;
    visibility: hidden;
    clear: both;

    height: 0;

    content: '.';
}

/* --------------------------------------------------------------------------------
*
*   TextAlign
*
-------------------------------------------------------------------------------- */
.al
{
    text-align: left;
}

.ar
{
    text-align: right;
}

.ac
{
    text-align: center;
}

.vb
{
    vertical-align: baseline;
}

/* --------------------------------------------------------------------------------
*
*   Nav
*
-------------------------------------------------------------------------------- */
.nav
{
    zoom: 1;
}

.nav:after
{
    line-height: 0;

    display: block;
    visibility: hidden;
    clear: both;

    height: 0;

    content: '.';
}

/* --------------------------------------------------------------------------------
*
*   font
*
-------------------------------------------------------------------------------- */
.captalize
{
    text-transform: capitalize;
}

.uppercase
{
    text-transform: uppercase;
}

.lowercase
{
    text-transform: lowercase;
}

/* --------------------------------------------------------------------------------
*
*   responsive
*
-------------------------------------------------------------------------------- */
img.fitted
{
    width: 100% !important;
    height: auto !important;
}

/* --------------------------------------------------------------------------------
*
*   overflow hidden
*
-------------------------------------------------------------------------------- */
.oh
{
    overflow: hidden;
}

/* --------------------------------------------------------------------------------
*
*   word breadk
*
-------------------------------------------------------------------------------- */
.wb
{
    word-break: break-all;
}

/* --------------------------------------------------------------------------------
*
*   font-weight
*
-------------------------------------------------------------------------------- */
.fwb
{
    font-weight: bold;
}

/* --------------------------------------------------------------------------------
*
*   center
*
-------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
*
*   row
*
-------------------------------------------------------------------------------- */
.row
{
    font-size: 0;

    text-align: center;
}

.row .item
{
    display: inline-block;
}

.row.row_col2 > .item
{
    width: 50%;
}

.row.row_col3 > .item
{
    width: 33.3333%;
}

.row.row_col4 > .item
{
    width: 25%;
}

.row .item:last-child
{
    margin-right: 0 !important;
    padding-right: 0 !important;
}

/* --------------------------------------------------------------------------------
*
*   opacity
*
-------------------------------------------------------------------------------- */
.is-unvisible
{
    opacity: 0 !important;
}

.is-visible
{
    opacity: 1 !important;
}

/* --------------------------------------------------------------------------------
*
*   display
*
-------------------------------------------------------------------------------- */
.is-block
{
    display: block !important;
}

.is-none
{
    display: none !important;
}

/* --------------------------------------------------------------------------------
*
*   overflow
*
-------------------------------------------------------------------------------- */
.is-scroll
{
    overflow: scroll !important;
}

.is-scroll-x
{
    overflow-x: scroll !important;
}

.is-scroll-y
{
    overflow-y: scroll !important;
}

.is-hidden
{
    overflow: hidden !important;
}

.is-hidden-x
{
    overflow-x: hidden !important;
}

.is-hidden-y
{
    overflow-y: hidden !important;
}

/* --------------------------------------------------------------------------------
*
*   position
*
-------------------------------------------------------------------------------- */
.is-fixed
{
    position: fixed !important;
}

.is-absolute
{
    position: absolute !important;
}

.is-relative
{
    position: relative !important;
}

.is-static
{
    position: static !important;
}

/* --------------------------------------------------------------------------------
*
*   // 画像保存禁止    
*
-------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
*
*   design(見本)
*
-------------------------------------------------------------------------------- */
.sample
{
    position: absolute;
    z-index: 99999;
    top: 0;
    left: 0;

    display: none;

    opacity: .3;
}

body
{
    margin: 0;
    padding: 0;

    border: none;
}

/* image */
img,
div,
p,
blockquote,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
li,
dl,
dt,
dd,
form,
fieldset,
textarea
{
    font-size: 100%;
    font-style: normal;

    margin: 0;
    padding: 0;

    list-style: none;

    text-decoration: none;

    border: 0;
}

a
{
    cursor: pointer;
}

table
{
    font-size: 100%;
}

hr.separator
{
    display: none;
}

input[type='text'],
button,
select,
textarea
{
    resize: none;

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

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

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

img
{
    vertical-align: bottom;
}

/* --------------------------------------------------------------------------------
*   parts
-------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
*
*   footer
*
-------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
*
*   header
*
-------------------------------------------------------------------------------- */
#header
{
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;

    width: 100%;
    height: 13.3rem;

    pointer-events: none;

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

#header .bg
{
    position: absolute;
    z-index: 1;
    top: calc(50% + 3px);
    left: 0;

    width: 40.5rem;
    height: 5.5rem;
    padding: 2rem 0 2rem;

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

    background: #fff;
}

@media only screen and (max-width: 750px)
{
    #header .bg
    {
        display: none;
    }
}

#header .menuBtn
{
    position: relative;
    z-index: 2;

    margin: 0 3rem;

    pointer-events: auto;
}

#header .menuBtn svg
{
    width: 2rem;
    height: 2rem;
    padding: 2rem;

    cursor: pointer;
}

#header .menuBtn svg g path
{
    stroke: #000;
    fill: none;
    stroke-width: 2.3px;
    stroke-linejoin: round;
    stroke-miterlimit: 10;
}

#header .menuBtn .svgWrap
{
    opacity: 0;
}

#header .box
{
    position: relative;
    z-index: 2;

    margin-top: .8rem;
}

#header .box .title
{
    margin-bottom: .9rem;
}

#header .box .title svg
{
    width: 13rem;
    height: .9rem;
}

#header .box .name_en
{
    margin-bottom: .9rem;
}

#header .box .name_en svg
{
    width: 25.4rem;
    height: 1.3rem;
}

#header .box .name_ja svg
{
    width: 6.2rem;
    height: 1.4rem;
}

#header .box .svgWrap
{
    display: inline-block;
}

#header .box .svgInner
{
    opacity: 0;
}

@media only screen and (max-width: 750px)
{
    #header
    {
        z-index: 10000;

        height: 11.3rem;

        background: white;
    }
    #header .menuBtn
    {
        margin: 0 1rem;
    }
    #header .box
    {
        margin-top: .3rem;
        padding-top: 1.7rem;
        padding-bottom: 1.9rem;
    }
    #header .box .name_en
    {
        margin-bottom: .8rem;
    }
}

/* --------------------------------------------------------------------------------
*
*   html,body
*
-------------------------------------------------------------------------------- */
html
{
    font-family: 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', Meiryo, 'メイリオ', Arial, sans-serif;
    font-size: 10px;
    font-weight: 400;

    overflow-x: hidden;

    letter-spacing: 0;

    opacity: 1;
    color: #fff;
    background-color: #fff;

    -webkit-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
            text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
    /*
  *
  *   media query   
  *
  */
}

@media only screen and (max-width: 750px)
{
    html
    {
        position: fixed;
        top: 0;
        left: 0;

        overflow: hidden;

        width: 100%;
        height: 100%;
    }
}

@media only screen and (max-width: 374px)
{
    html
    {
        font-size: 8px;
    }
}

body
{
    overflow-x: hidden;
    /*
  *
  *   media query   
  *
  */
}

/* --------------------------------------------------------------------------------
*
*   #wrapper #inner
*
-------------------------------------------------------------------------------- */
#wrapper
{
    font-size: 1.2rem;

    z-index: 2;
    /*
  *
  *   media query   
  *
  */
}

#wrapper.smooth
{
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

/* --------------------------------------------------------------------------------
*
*   .wrapper .inner
*
-------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
*
*   menu btn
*
-------------------------------------------------------------------------------- */
.icon-animation
{
    display: block;

    width: 10px;
    height: 10px;
    margin-top: 4px;
    margin-right: 14px;

    transition: margin-top .6s cubic-bezier(.215, .61, .355, 1) .3s, margin-right .6s cubic-bezier(.215, .61, .355, 1) .3s;
}

.icon-animation span
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    width: 11px;
    height: 1px;
    margin-left: -7px;

    background: #e4002b;
}

/* --------------------------------------------------------------------------------
*
*   type1
*
-------------------------------------------------------------------------------- */
.type-1 span
{
    transition: all .3s;
    -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
            transform: rotate(0deg);
}

.type-1 .top
{
    -webkit-transform: translateY(-17px);
        -ms-transform: translateY(-17px);
            transform: translateY(-17px);
}

.type-1 .bottom
{
    -webkit-transform: translateY(17px);
        -ms-transform: translateY(17px);
            transform: translateY(17px);
}

.type-1.is-open .middle
{
    background: rgba(255, 255, 255, 0);
}

.type-1.is-open .top
{
    -webkit-transform: rotate(-45deg) translateY(0px);
        -ms-transform: rotate(-45deg) translateY(0px);
            transform: rotate(-45deg) translateY(0px);
}

.type-1.is-open .bottom
{
    -webkit-transform: rotate(45deg) translateY(0px);
        -ms-transform: rotate(45deg) translateY(0px);
            transform: rotate(45deg) translateY(0px);
}

/* --------------------------------------------------------------------------------
*
*   type2
*
-------------------------------------------------------------------------------- */
.type-2 span
{
    transition: all .3s;
    -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
            transform: rotate(0deg);
}

.type-2 .top
{
    -webkit-transform: translateY(-17px);
        -ms-transform: translateY(-17px);
            transform: translateY(-17px);
}

.type-2 .bottom
{
    -webkit-transform: translateY(17px);
        -ms-transform: translateY(17px);
            transform: translateY(17px);
}

.type-2:hover .top
{
    -webkit-transform: translateY(-20px);
        -ms-transform: translateY(-20px);
            transform: translateY(-20px);
}

.type-2:hover .bottom
{
    -webkit-transform: translateY(20px);
        -ms-transform: translateY(20px);
            transform: translateY(20px);
}

.type-2.is-open .middle
{
    background: rgba(255, 255, 255, 0);
}

.type-2.is-open .top
{
    -webkit-transform: rotate(-45deg) translateY(0px);
        -ms-transform: rotate(-45deg) translateY(0px);
            transform: rotate(-45deg) translateY(0px);
}

.type-2.is-open .bottom
{
    -webkit-transform: rotate(45deg) translateY(0px);
        -ms-transform: rotate(45deg) translateY(0px);
            transform: rotate(45deg) translateY(0px);
}

/* --------------------------------------------------------------------------------
*
*   type3
*
-------------------------------------------------------------------------------- */
.type-3 span
{
    transition: all .3s;
}

.type-3 .middle
{
    -webkit-transform: translateX(0px);
        -ms-transform: translateX(0px);
            transform: translateX(0px);
}

.type-3 .top
{
    -webkit-transform: translateY(-17px);
        -ms-transform: translateY(-17px);
            transform: translateY(-17px);
}

.type-3 .bottom
{
    -webkit-transform: translateY(17px);
        -ms-transform: translateY(17px);
            transform: translateY(17px);
}

.type-3.is-open .middle
{
    -webkit-transform: translateX(100px);
        -ms-transform: translateX(100px);
            transform: translateX(100px);

    background: rgba(255, 255, 255, 0);
}

.type-3.is-open .top
{
    -webkit-transform: rotate(-45deg) translateY(0px);
        -ms-transform: rotate(-45deg) translateY(0px);
            transform: rotate(-45deg) translateY(0px);
}

.type-3.is-open .bottom
{
    -webkit-transform: rotate(45deg) translateY(0px);
        -ms-transform: rotate(45deg) translateY(0px);
            transform: rotate(45deg) translateY(0px);
}

/* --------------------------------------------------------------------------------
*
*   type4
*
-------------------------------------------------------------------------------- */
.type-4 span
{
    margin-top: -2px;

    -webkit-transform: translateY(0px) !important;
        -ms-transform: translateY(0px) !important;
            transform: translateY(0px) !important;

    background: #e4002b;
}

.type-4 .top
{
    margin-top: -6px;

    transition: margin-top .6s cubic-bezier(.215, .61, .355, 1) .3s, background .6s cubic-bezier(.215, .61, .355, 1) 0s, -webkit-transform .6s cubic-bezier(.215, .61, .355, 1) .3s;
    transition: transform .6s cubic-bezier(.215, .61, .355, 1) .3s, margin-top .6s cubic-bezier(.215, .61, .355, 1) .3s, background .6s cubic-bezier(.215, .61, .355, 1) 0s;
    transition: transform .6s cubic-bezier(.215, .61, .355, 1) .3s, margin-top .6s cubic-bezier(.215, .61, .355, 1) .3s, background .6s cubic-bezier(.215, .61, .355, 1) 0s, -webkit-transform .6s cubic-bezier(.215, .61, .355, 1) .3s;
}

.type-4 .middle
{
    transition: background .6s cubic-bezier(.215, .61, .355, 1) 0s, opacity .2s cubic-bezier(.215, .61, .355, 1) .3s;
}

.type-4 .bottom
{
    margin-top: 2px;

    transition: margin-top .6s cubic-bezier(.215, .61, .355, 1) .3s, background .6s cubic-bezier(.215, .61, .355, 1) 0s, -webkit-transform .6s cubic-bezier(.215, .61, .355, 1) .3s;
    transition: transform .6s cubic-bezier(.215, .61, .355, 1) .3s, margin-top .6s cubic-bezier(.215, .61, .355, 1) .3s, background .6s cubic-bezier(.215, .61, .355, 1) 0s;
    transition: transform .6s cubic-bezier(.215, .61, .355, 1) .3s, margin-top .6s cubic-bezier(.215, .61, .355, 1) .3s, background .6s cubic-bezier(.215, .61, .355, 1) 0s, -webkit-transform .6s cubic-bezier(.215, .61, .355, 1) .3s;
    -webkit-transform: rotate(0deg) !important;
        -ms-transform: rotate(0deg) !important;
            transform: rotate(0deg) !important;
}

.type-4.is-open .top
{
    margin-top: 0;

    -webkit-transform: rotate(-405deg) !important;
        -ms-transform: rotate(-405deg) !important;
            transform: rotate(-405deg) !important;

    background: #e4002b;
}

.type-4.is-open .middle
{
    opacity: 0;
}

.type-4.is-open .bottom
{
    margin-top: 0;

    -webkit-transform: rotate(405deg) !important;
        -ms-transform: rotate(405deg) !important;
            transform: rotate(405deg) !important;

    background: #e4002b;
}

.type-4.is-open
{
    margin-top: 0;
    margin-right: 12px;
}

/* --------------------------------------------------------------------------------
*
*   type5
*
-------------------------------------------------------------------------------- */
.type-5 .inner
{
    position: relative;

    width: 50px;
    height: 50px;
    margin: auto;
    padding: 75px 0;
}

.type-5 span
{
    transition: width .2s, right .2s, left .2s;
}

.type-5 .top
{
    right: 0;
    left: 0;

    -webkit-transform: translateY(-17px);
        -ms-transform: translateY(-17px);
            transform: translateY(-17px);
}

.type-5 .middle
{
    position: relative;

    -webkit-transform: translateY(0px);
        -ms-transform: translateY(0px);
            transform: translateY(0px);

    background: none;
}

.type-5 .middle:before,
.type-5 .middle:after
{
    position: absolute;
    left: -25px;

    display: block;

    width: 50px;
    height: 1px;

    content: '';
    transition: all .2s;
    -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
            transform: rotate(0deg);

    background: #000;
}

.type-5 .bottom
{
    right: 0;
    left: 0;

    -webkit-transform: translateY(17px);
        -ms-transform: translateY(17px);
            transform: translateY(17px);
}

.type-5.is-open .top
{
    left: 100%;

    width: 0;
}

.type-5.is-open .middle:before
{
    -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
            transform: rotate(135deg);
}

.type-5.is-open .middle:after
{
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
}

.type-5.is-open .bottom
{
    right: 100%;

    width: 0;
}

/* --------------------------------------------------------------------------------
*
*   type6
*
-------------------------------------------------------------------------------- */
.type-6 span
{
    position: relative;

    transition: .3s opacity;
}

.type-6 .top
{
    -webkit-animation: type6-top .5s;
            animation: type6-top .5s;

    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
}

.type-6 .middle
{
    transition: .5s opacity;
    -webkit-transform: translateY(-1px);
        -ms-transform: translateY(-1px);
            transform: translateY(-1px);

    opacity: 1;
}

.type-6 .bottom
{
    -webkit-animation: type6-bottom .5s;
            animation: type6-bottom .5s;

    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
}

.type-6.is-open .middle
{
    transition: .5s opacity;

    opacity: 0;
}

.type-6.is-open .top
{
    -webkit-animation: type6-top-close .5s;
            animation: type6-top-close .5s;

    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
}

.type-6.is-open .bottom
{
    -webkit-animation: type6-bottom-close .5s;
            animation: type6-bottom-close .5s;

    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
}

@-webkit-keyframes type6-top
{
    0%
    {
        -webkit-transform: translateY(0px) rotate(-45deg);
                transform: translateY(0px) rotate(-45deg);
    }
    50%
    {
        -webkit-transform: translateY(0px) rotate(0deg);
                transform: translateY(0px) rotate(0deg);
    }
    100%
    {
        -webkit-transform: translateY(-17px) rotate(0deg);
                transform: translateY(-17px) rotate(0deg);
    }
}

@keyframes type6-top
{
    0%
    {
        -webkit-transform: translateY(0px) rotate(-45deg);
                transform: translateY(0px) rotate(-45deg);
    }
    50%
    {
        -webkit-transform: translateY(0px) rotate(0deg);
                transform: translateY(0px) rotate(0deg);
    }
    100%
    {
        -webkit-transform: translateY(-17px) rotate(0deg);
                transform: translateY(-17px) rotate(0deg);
    }
}

@-webkit-keyframes type6-bottom
{
    0%
    {
        -webkit-transform: translateY(-1px) rotate(45deg);
                transform: translateY(-1px) rotate(45deg);
    }
    50%
    {
        -webkit-transform: translateY(0px) rotate(0deg);
                transform: translateY(0px) rotate(0deg);
    }
    100%
    {
        -webkit-transform: translateY(15px) rotate(0deg);
                transform: translateY(15px) rotate(0deg);
    }
}

@keyframes type6-bottom
{
    0%
    {
        -webkit-transform: translateY(-1px) rotate(45deg);
                transform: translateY(-1px) rotate(45deg);
    }
    50%
    {
        -webkit-transform: translateY(0px) rotate(0deg);
                transform: translateY(0px) rotate(0deg);
    }
    100%
    {
        -webkit-transform: translateY(15px) rotate(0deg);
                transform: translateY(15px) rotate(0deg);
    }
}

@-webkit-keyframes type6-top-close
{
    0%
    {
        -webkit-transform: translateY(-17px) rotate(0deg);
                transform: translateY(-17px) rotate(0deg);
    }
    50%
    {
        -webkit-transform: translateY(0px) rotate(0deg);
                transform: translateY(0px) rotate(0deg);
    }
    100%
    {
        -webkit-transform: translateY(0px) rotate(-45deg);
                transform: translateY(0px) rotate(-45deg);
    }
}

@keyframes type6-top-close
{
    0%
    {
        -webkit-transform: translateY(-17px) rotate(0deg);
                transform: translateY(-17px) rotate(0deg);
    }
    50%
    {
        -webkit-transform: translateY(0px) rotate(0deg);
                transform: translateY(0px) rotate(0deg);
    }
    100%
    {
        -webkit-transform: translateY(0px) rotate(-45deg);
                transform: translateY(0px) rotate(-45deg);
    }
}

@-webkit-keyframes type6-bottom-close
{
    0%
    {
        -webkit-transform: translateY(15px) rotate(0deg);
                transform: translateY(15px) rotate(0deg);
    }
    50%
    {
        -webkit-transform: translateY(0px) rotate(0deg);
                transform: translateY(0px) rotate(0deg);
    }
    100%
    {
        -webkit-transform: translateY(-1px) rotate(45deg);
                transform: translateY(-1px) rotate(45deg);
    }
}

@keyframes type6-bottom-close
{
    0%
    {
        -webkit-transform: translateY(15px) rotate(0deg);
                transform: translateY(15px) rotate(0deg);
    }
    50%
    {
        -webkit-transform: translateY(0px) rotate(0deg);
                transform: translateY(0px) rotate(0deg);
    }
    100%
    {
        -webkit-transform: translateY(-1px) rotate(45deg);
                transform: translateY(-1px) rotate(45deg);
    }
}

/* --------------------------------------------------------------------------------
*
*   type7
*
-------------------------------------------------------------------------------- */
.type-7 span
{
    transition: all .3s;
}

.type-7 .top
{
    -webkit-transform: translateY(-17px) scale(1);
        -ms-transform: translateY(-17px) scale(1);
            transform: translateY(-17px) scale(1);
}

.type-7 .middle
{
    position: relative;

    background: none;
}

.type-7 .middle:before,
.type-7 .middle:after
{
    position: absolute;

    display: block;

    width: 50px;
    height: 1px;

    content: '';
    transition: all .3s;
    -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
            transform: rotate(0deg);

    background: #000;
}

.type-7 .bottom
{
    -webkit-transform: translateY(17px) scale(1);
        -ms-transform: translateY(17px) scale(1);
            transform: translateY(17px) scale(1);
}

.type-7.is-open .top
{
    -webkit-transform: translateY(0px) scale(0);
        -ms-transform: translateY(0px) scale(0);
            transform: translateY(0px) scale(0);
}

.type-7.is-open .bottom
{
    -webkit-transform: translateY(0px) scale(0);
        -ms-transform: translateY(0px) scale(0);
            transform: translateY(0px) scale(0);
}

.type-7.is-open .middle:before
{
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
}

.type-7.is-open .middle:after
{
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
}

/* --------------------------------------------------------------------------------
*
*   type8
*
-------------------------------------------------------------------------------- */
.type-8 span
{
    position: relative;

    transition: all .3s;

    background: none;
}

.type-8 span:before,
.type-8 span:after
{
    position: absolute;

    display: block;

    width: 25px;
    height: 1px;

    content: '';
    transition: all .3s;

    background: #000;
}

.type-8 span:before
{
    -webkit-transform: translateX(0px);
        -ms-transform: translateX(0px);
            transform: translateX(0px);

    opacity: 1;
}

.type-8 span:after
{
    -webkit-transform: translateX(25px);
        -ms-transform: translateX(25px);
            transform: translateX(25px);

    opacity: 1;
}

.type-8 .top
{
    -webkit-transform: translateY(-17px);
        -ms-transform: translateY(-17px);
            transform: translateY(-17px);
}

.type-8 .middle
{
    -webkit-transform: translateY(0px);
        -ms-transform: translateY(0px);
            transform: translateY(0px);
}

.type-8 .bottom
{
    -webkit-transform: translateY(17px);
        -ms-transform: translateY(17px);
            transform: translateY(17px);
}

.type-8.is-open .middle:before
{
    -webkit-transform: translateX(-100px);
        -ms-transform: translateX(-100px);
            transform: translateX(-100px);

    opacity: 0;
}

.type-8.is-open .middle:after
{
    -webkit-transform: translateX(100px);
        -ms-transform: translateX(100px);
            transform: translateX(100px);

    opacity: 0;
}

.type-8.is-open .top
{
    -webkit-transform: translateY(-10px);
        -ms-transform: translateY(-10px);
            transform: translateY(-10px);
}

.type-8.is-open .top:before
{
    -webkit-transform: translateX(8px) rotate(45deg);
        -ms-transform: translateX(8px) rotate(45deg);
            transform: translateX(8px) rotate(45deg);
}

.type-8.is-open .top:after
{
    -webkit-transform: translateX(25px) rotate(-45deg);
        -ms-transform: translateX(25px) rotate(-45deg);
            transform: translateX(25px) rotate(-45deg);
}

.type-8.is-open .bottom
{
    -webkit-transform: translateY(5px);
        -ms-transform: translateY(5px);
            transform: translateY(5px);
}

.type-8.is-open .bottom:before
{
    -webkit-transform: translateX(8px) rotate(-45deg);
        -ms-transform: translateX(8px) rotate(-45deg);
            transform: translateX(8px) rotate(-45deg);
}

.type-8.is-open .bottom:after
{
    -webkit-transform: translateX(25px) rotate(45deg);
        -ms-transform: translateX(25px) rotate(45deg);
            transform: translateX(25px) rotate(45deg);
}

/* --------------------------------------------------------------------------------
*
*   type9
*
-------------------------------------------------------------------------------- */
.type-9 span
{
    transition: all .4s .4s;
}

.type-9 span:before,
.type-9 span:after
{
    content: '';
}

.type-9 .top
{
    -webkit-transform: translateY(-17px);
        -ms-transform: translateY(-17px);
            transform: translateY(-17px);
}

.type-9 .middle
{
    position: relative;

    background: none;
}

.type-9 .middle:after
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: block;

    width: 100px;
    height: 100px;
    margin-top: -50px;
    margin-left: -50px;

    content: '';

    border-radius: 100%;
}

.type-9 .middle:before
{
    display: block;

    width: 50px;
    height: 1px;

    content: '';
    transition: all .4s;
    -webkit-transform: translateY(0px) translateX(0px);
        -ms-transform: translateY(0px) translateX(0px);
            transform: translateY(0px) translateX(0px);

    opacity: 1;
    background: #000;
}

.type-9 .bottom
{
    -webkit-transform: translateY(17px);
        -ms-transform: translateY(17px);
            transform: translateY(17px);
}

.type-9.is-open .bottom
{
    -webkit-transform: translateY(0px) rotate(45deg);
        -ms-transform: translateY(0px) rotate(45deg);
            transform: translateY(0px) rotate(45deg);
}

.type-9.is-open .top
{
    -webkit-transform: translateY(0px) rotate(-45deg);
        -ms-transform: translateY(0px) rotate(-45deg);
            transform: translateY(0px) rotate(-45deg);
}

.type-9.is-open .middle:before
{
    -webkit-transform: translateY(0px) translateX(100px);
        -ms-transform: translateY(0px) translateX(100px);
            transform: translateY(0px) translateX(100px);

    opacity: 0;
}

.type-9.is-open .middle:after
{
    content: '';
    -webkit-animation: type9-circle .5s;
            animation: type9-circle .5s;

    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
}

@-webkit-keyframes type9-circle
{
    0%
    {
        -webkit-transform: scale(0);
                transform: scale(0);

        opacity: 1;
        border: 1px solid #000;
    }
    100%
    {
        -webkit-transform: scale(1.5);
                transform: scale(1.5);

        opacity: 0;
        border: 1px solid #000;
    }
}

@keyframes type9-circle
{
    0%
    {
        -webkit-transform: scale(0);
                transform: scale(0);

        opacity: 1;
        border: 1px solid #000;
    }
    100%
    {
        -webkit-transform: scale(1.5);
                transform: scale(1.5);

        opacity: 0;
        border: 1px solid #000;
    }
}

/* --------------------------------------------------------------------------------
*
*   checkbox
*
-------------------------------------------------------------------------------- */
input[type='checkbox']
{
    position: relative;

    box-sizing: border-box;
    width: 18px;
    height: 18px;
    margin-right: 10px;

    border: 1px solid #6d6d6d;
    outline: 0;
    background: none;

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

input[type='checkbox']:checked::before
{
    position: absolute;
    top: 0;
    left: 0;

    box-sizing: border-box;
    width: 18px;
    height: 18px;

    content: '';

    background: url(../resource/svg/check.svg) no-repeat;
    background-position: 1px 3px;
}

/* --------------------------------------------------------------------------------
*
*   radio
*
-------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
*
*   select
*
-------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
*
*   canvas
*
-------------------------------------------------------------------------------- */
.section01 .mainVisual canvas
{
    width: 100%;
    height: auto;
}

/* --------------------------------------------------------------------------------
*
*   dat gui
*
-------------------------------------------------------------------------------- */
.dg.a
{
    overflow: visible !important;
}

.dg li.color
{
    overflow: visible !important;
}

.dg.ac
{
    z-index: 999999 !important;
}

/* --------------------------------------------------------------------------------
*
*   loading
*
-------------------------------------------------------------------------------- */
#loading
{
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;

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

    width: 100%;
    height: 100vh;

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

#loading .box
{
    position: relative;
    z-index: 2;

    margin-top: -2rem;
}

#loading .box .title
{
    margin-bottom: .9rem;
}

#loading .box .title svg
{
    width: 13rem;
    height: .9rem;
}

#loading .box .name_en
{
    margin-bottom: .9rem;
}

#loading .box .name_en svg
{
    width: 25.4rem;
    height: 1.3rem;
}

#loading .box .name_ja svg
{
    width: 6.2rem;
    height: 1.4rem;
}

#loading .box .svgWrap
{
    position: relative;

    display: inline-block;
}

#loading .box .svgWrap .mask
{
    position: absolute;
    z-index: 5;
    top: -2px;
    left: -2px;

    width: 0;
    height: 120%;

    background: #fff;
}

@media only screen and (max-width: 750px)
{
    .isIOSSafari #loading .box
    {
        margin-top: -9rem;
    }
}

.id_top #loading
{
    display: block;
}

/* --------------------------------------------------------------------------------
*
*   triangle
*
-------------------------------------------------------------------------------- */
.triangle
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    width: 0;
    height: 0;

    border-width: 7px 7px 7px 0;
    border-style: solid;
    border-color: transparent #eee transparent transparent;
}

.triangle.over
{
    z-index: 2;
}

/* --------------------------------------------------------------------------------
*
*   circle
*
-------------------------------------------------------------------------------- */
.circle
{
    width: 100px;
    height: 100px;

    border-radius: 100%;
    background-color: #000;
}

/* --------------------------------------------------------------------------------
*
*   bar
*
-------------------------------------------------------------------------------- */
.bar_obj
{
    width: 100px;
    height: 1px;

    background-color: #000;
}

/* --------------------------------------------------------------------------------
*
*   rect
*
-------------------------------------------------------------------------------- */
.rect
{
    width: 100px;
    height: 100px;

    background-color: #000;
}

.diamond
{
    width: 100px;
    height: 100px;

    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);

    background-color: #000;
}

/* --------------------------------------------------------------------------------
*
*   opacity
*
-------------------------------------------------------------------------------- */
@media only screen and (min-width: 751px)
{
    .hover_op
    {
        transition: opacity .1s cubic-bezier(.25, .46, .45, .94) 0s;
    }
    .hover_op:hover
    {
        cursor: pointer;

        opacity: .6 !important;
    }
}

.showOp
{
    transition: opacity .6s cubic-bezier(.25, .46, .45, .94) 0s;

    opacity: 0;
}

.showOp.is-show
{
    opacity: 1;
}

/* --------------------------------------------------------------------------------
*
*   flash
*
-------------------------------------------------------------------------------- */
.flashShow .inner
{
    opacity: 1 !important;
}

@-webkit-keyframes kf_flash
{
    50%
    {
        opacity: .5;

        -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=75)';
            filter: alpha(opacity=75);
    }
}

@keyframes kf_flash
{
    50%
    {
        opacity: .5;

        -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=75)';
            filter: alpha(opacity=75);
    }
}

/* --------------------------------------------------------------------------------
*
*   scale
*
-------------------------------------------------------------------------------- */
.scale
{
    transition: -webkit-transform .35s cubic-bezier(.25, .46, .45, .94) 0s;
    transition:         transform .35s cubic-bezier(.25, .46, .45, .94) 0s;
    transition:         transform .35s cubic-bezier(.25, .46, .45, .94) 0s, -webkit-transform .35s cubic-bezier(.25, .46, .45, .94) 0s;
}

.scale:hover
{
    cursor: pointer;
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
}

.scale_img
{
    transition: -webkit-transform .3s cubic-bezier(.25, .46, .45, .94) 0s;
    transition:         transform .3s cubic-bezier(.25, .46, .45, .94) 0s;
    transition:         transform .3s cubic-bezier(.25, .46, .45, .94) 0s, -webkit-transform .3s cubic-bezier(.25, .46, .45, .94) 0s;
}

.scale_img:hover
{
    cursor: pointer;
    -webkit-transform: scale(1.15);
        -ms-transform: scale(1.15);
            transform: scale(1.15);
}

/* --------------------------------------------------------------------------------
*
*   color
*
-------------------------------------------------------------------------------- */
.hColor
{
    transition: color .3s cubic-bezier(.25, .46, .45, .94) 0s;
}

.hColor:hover
{
    cursor: pointer;

    color: #f63e69 !important;
}

.hBgColor
{
    transition: background-color .3s cubic-bezier(.25, .46, .45, .94) 0s;
}

.hBgColor:hover
{
    cursor: pointer;

    background-color: #f63e69 !important;
}

/*
*
*   cursor
*
*/
.cp
{
    cursor: pointer;
}

/* --------------------------------------------------------------------------------
*
*   shadow
*
-------------------------------------------------------------------------------- */
.hover_boxShadow
{
    transition: all .2s cubic-bezier(.25, .46, .45, .94) 0s;
}

.hover_boxShadow:hover
{
    cursor: pointer;

    opacity: .7;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .2) !important;
}

/* --------------------------------------------------------------------------------
*
*   op animation
*
-------------------------------------------------------------------------------- */
.opf
{
    -webkit-animation: opa 1.5s cubic-bezier(.455, .03, .515, .955) 0s 1 normal forwards;
            animation: opa 1.5s cubic-bezier(.455, .03, .515, .955) 0s 1 normal forwards;
}

@-webkit-keyframes opa
{
    0%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}

@keyframes opa
{
    0%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}

/* --------------------------------------------------------------------------------
*
*   x animation
*
-------------------------------------------------------------------------------- */
.xa
{
    -webkit-animation: xa 2.5s cubic-bezier(.25, .46, .45, .94) 0s 1 normal forwards;
            animation: xa 2.5s cubic-bezier(.25, .46, .45, .94) 0s 1 normal forwards;
}

@-webkit-keyframes xa
{
    0%
    {
    }
    100%
    {
        -webkit-transform: translateX(0);
                transform: translateX(0);
    }
}

@keyframes xa
{
    0%
    {
    }
    100%
    {
        -webkit-transform: translateX(0);
                transform: translateX(0);
    }
}

/* --------------------------------------------------------------------------------
*
*   overview op animation
*
-------------------------------------------------------------------------------- */
.opf_ov
{
    -webkit-animation: opa_ov .6s cubic-bezier(.455, .03, .515, .955) 0s 1 normal forwards;
            animation: opa_ov .6s cubic-bezier(.455, .03, .515, .955) 0s 1 normal forwards;
}

@-webkit-keyframes opa_ov
{
    0%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}

@keyframes opa_ov
{
    0%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}

/* --------------------------------------------------------------------------------
*
*   overview op animation overlay
*
-------------------------------------------------------------------------------- */
.opf_ov_ol
{
    -webkit-animation: opa_ov_ol 1.2s cubic-bezier(.455, .03, .515, .955) 0s 1 normal forwards;
            animation: opa_ov_ol 1.2s cubic-bezier(.455, .03, .515, .955) 0s 1 normal forwards;
}

@-webkit-keyframes opa_ov_ol
{
    0%
    {
        opacity: 1;
    }
    100%
    {
        opacity: 0;
    }
}

@keyframes opa_ov_ol
{
    0%
    {
        opacity: 1;
    }
    100%
    {
        opacity: 0;
    }
}

/* --------------------------------------------------------------------------------
*
*   profile op animation overlay
*
-------------------------------------------------------------------------------- */
.opf_pro_ol
{
    -webkit-animation: opa_pro_ol 1.2s cubic-bezier(.455, .03, .515, .955) 0s 1 normal forwards;
            animation: opa_pro_ol 1.2s cubic-bezier(.455, .03, .515, .955) 0s 1 normal forwards;
}

@-webkit-keyframes opa_pro_ol
{
    0%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}

@keyframes opa_pro_ol
{
    0%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}

.translate
{
    transition: -webkit-transform 1.2s cubic-bezier(.165, .84, .44, 1) 0s;
    transition:         transform 1.2s cubic-bezier(.165, .84, .44, 1) 0s;
    transition:         transform 1.2s cubic-bezier(.165, .84, .44, 1) 0s, -webkit-transform 1.2s cubic-bezier(.165, .84, .44, 1) 0s;
}

/* --------------------------------------------------------------------------------
*
*   section
*
-------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------
*
*   bar
*
-------------------------------------------------------------------------------- */
.left_bar:after
{
    position: absolute;
    top: -.6rem;
    left: 0;

    display: block;

    width: .7rem;
    height: 3.5rem;

    content: '';

    background-color: #000;
}

.up_bar:before
{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 1rem;

    content: '';
    transition: height .18s cubic-bezier(.215, .61, .355, 1), background-color .2s cubic-bezier(.25, .46, .45, .94);

    background-color: #000;
}

/* --------------------------------------------------------------------------------
*
*   select
*
-------------------------------------------------------------------------------- */
body.no-select
{
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

         -o-user-select: none;
}

/* --------------------------------------------------------------------------------
*
*   grab
*
-------------------------------------------------------------------------------- */
.grab
{
    cursor: -webkit-grab;
    cursor:     -ms-grab;
    cursor:         grab;
}

.grabbing
{
    cursor: -webkit-grabbing;
    cursor:     -ms-grabbing;
    cursor:         grabbing;
}

/* --------------------------------------------------------------------------------
*
*   category
*
-------------------------------------------------------------------------------- */
#category
{
    position: fixed;
    bottom: 2rem;
    left: 2rem;

    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

#category > .item
{
    overflow: hidden;

    margin-top: .6rem;

    cursor: pointer;
}

#category > .item .inner
{
    position: relative;

    display: inline-block;
    overflow: hidden;

    box-sizing: border-box;

    opacity: 0;
    background-color: #fff;
}

#category > .item .inner .bg
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
}

#category > .item .inner svg
{
    position: relative;
    z-index: 2;

    padding: .3rem .5rem;
}

#category > .item .inner svg path
{
    fill-opacity: .0;
}

#category > .item .inner svg polygon
{
    fill-opacity: .0;
}

#category > .item:nth-child(1)
{
    margin-top: 0;
}

#category > .item:nth-child(1) .inner .bg
{
    background-color: #00ffa2;
}

#category > .item:nth-child(1) .inner svg
{
    width: 8.1rem;
    height: .9rem;
}

#category > .item:nth-child(2) .inner .bg
{
    background-color: #00f0ff;
}

#category > .item:nth-child(2) .inner svg
{
    width: 7rem;
    height: .9rem;
}

#category > .item:nth-child(3) .inner .bg
{
    background-color: #c376ff;
}

#category > .item:nth-child(3) .inner svg
{
    width: 5.2rem;
    height: .9rem;
}

#category > .item:nth-child(4) .inner .bg
{
    background-color: #ff6cde;
}

#category > .item:nth-child(4) .inner svg
{
    width: 11.1rem;
    height: .9rem;
}

#category > .item:nth-child(5) .inner .bg
{
    display: none;

    background-color: #fffc00;
}

#category > .item:nth-child(5) .inner svg
{
    width: 12.3rem;
    height: .9rem;
}

#category > .item:nth-child(6)
{
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
}

#category > .item:nth-child(6) > .inner
{
    height: 1.7rem;
    margin-right: 1rem;

    background-color: #666;
}

#category > .item:nth-child(6) > .inner svg
{
    width: 7rem;
    height: .9rem;
    padding: .4rem .5rem .3rem;

    fill: #fff;
}

#category > .item:nth-child(6) > .inner polygon
{
    -webkit-transform-origin: 95% 50%;
        -ms-transform-origin: 95% 50%;
            transform-origin: 95% 50%;

    fill: #fff;
}

@media only screen and (max-width: 750px)
{
    #category > .item:nth-child(6) > .inner polygon
    {
        -webkit-transform: rotate(90deg);
            -ms-transform: rotate(90deg);
                transform: rotate(90deg);
    }
}

#category > .item:nth-child(6) > .inner polygon.active
{
    -webkit-transform: rotate(180deg) translateY(0px);
        -ms-transform: rotate(180deg) translateY(0px);
            transform: rotate(180deg) translateY(0px);
}

@media only screen and (max-width: 750px)
{
    #category > .item:nth-child(6) > .inner polygon.active
    {
        -webkit-transform: rotate(270deg) translateX(-1px);
            -ms-transform: rotate(270deg) translateX(-1px);
                transform: rotate(270deg) translateX(-1px);
    }
}

#category .notScroll
{
    cursor: default;
}

#category .off svg
{
    fill: #808080;
}

#category .filter
{
    display: none;
}

#category .filter .item.active .inner
{
    background-color: #666;
}

#category .filter .item.active .inner svg
{
    fill: #fff;
}

#category .filter .item:nth-child(1) svg
{
    width: 2.9rem;
    height: .9rem;
}

#category .filter .item:nth-child(2) svg
{
    width: 7.9rem;
    height: .9rem;
}

#category .filter .item:nth-child(3) svg
{
    width: 5.9rem;
    height: .9rem;
}

#category .filter .item:nth-child(4) svg
{
    width: 10.9rem;
    height: .9rem;
}

#category .filter .item:nth-child(5) svg
{
    width: 5.1rem;
    height: .9rem;
}

@media only screen and (max-width: 750px)
{
    #category .filter .item
    {
        margin-top: .6rem;
    }
    #category .filter .item .inner
    {
        position: relative;

        display: inline-block;

        padding: .3rem .5rem;

        background-color: #fff;
    }
}

#category .filter.display.sp
{
            flex-direction: column;

    -webkit-flex-direction: column;
        -ms-flex-direction: column;
}

@media only screen and (min-width: 751px)
{
    #category .filter.display.sp
    {
        display: none !important;
    }
}

@media only screen and (max-width: 750px)
{
    #category .filter.display.pc
    {
        display: none !important;
    }
}

/* --------------------------------------------------------------------------------
*
*   menu
*
-------------------------------------------------------------------------------- */
#menu
{
    position: fixed;
    z-index: 10000;
    top: 0;
    left: 0;

    display: none;

    box-sizing: border-box;
    width: 24.5rem;
    height: 100vh;
    padding: 5.8rem 5rem;
    padding-bottom: 2rem;

    -webkit-transform: translate3d(0, 0, 1px);
            transform: translate3d(0, 0, 1px);

    background: #000;
}

@media only screen and (max-width: 750px)
{
    #menu
    {
        padding: 4.7rem 5rem;
    }
}

#menu .close
{
    margin-bottom: 4rem;
}

#menu .close svg
{
    width: 2rem;
    height: 2rem;
    margin-top: -2rem;
    margin-left: -2rem;
    padding: 2rem;

    cursor: pointer;
}

#menu .list
{
    margin-top: -.5rem;
    margin-left: -.5rem;
}

#menu .list .item
{
    margin-bottom: 3rem;
}

#menu .list .item svg
{
    display: inline-block;

    width: 5.2rem;
    height: .9rem;
    padding: .5rem;

    cursor: pointer;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    fill: #fff;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
}

#menu .list .item:nth-child(1) svg
{
    width: 3rem;
    height: .9rem;
}

#menu .list .item:nth-child(1) svg.cur
{
    display: none;

    width: 3.1rem;
    height: 1rem;
}

#menu .list .item:nth-child(1).current svg:nth-child(1)
{
    display: none;
}

#menu .list .item:nth-child(1).current svg.cur
{
    display: block;
}

#menu .list .item:nth-child(2) svg
{
    width: 6.8rem;
    height: .9rem;
}

#menu .list .item:nth-child(2) svg.cur
{
    display: none;

    width: 6.9rem;
    height: 1rem;
}

#menu .list .item:nth-child(2).current svg:nth-child(1)
{
    display: none;
}

#menu .list .item:nth-child(2).current svg.cur
{
    display: block;
}

#menu .list .item:nth-child(3) svg
{
    width: 7.6rem;
    height: .9rem;
}

#menu .list .item:nth-child(4) svg
{
    width: 12.1rem;
    height: 1.7rem;
}

#menu .list .item:nth-child(5) svg
{
    width: 11.2rem;
    height: 1.4rem;
}

#menu .list .item:nth-child(5) svg.cur
{
    display: none;

    width: 11.2rem;
    height: 1.4rem;
}

#menu .list .item:nth-child(5).current svg:nth-child(1)
{
    display: none;
}

#menu .list .item:nth-child(5).current svg.cur
{
    display: block;
}

#menu .list .item:last-child
{
    margin-bottom: 0;
}

#menu .copy
{
    position: absolute;
    bottom: 2rem;
    left: 5rem;
}

#menu .copy svg
{
    width: 14rem;
    height: 2rem;
}

#menu.right
{
    right: 0;
    left: auto;
}

@media only screen and (max-width: 750px)
{
    #menu.right
    {
        right: auto;
        left: 0;
    }
}

/* --------------------------------------------------------------------------------
*
*   modal
*
-------------------------------------------------------------------------------- */
#modal
{
    position: fixed;
    z-index: 10000;
    top: 0;
    left: 0;

    display: none;

    width: 100vw;
    height: 100%;

    cursor: pointer;
    -webkit-transform: translate3d(0, 0, 1px);
            transform: translate3d(0, 0, 1px);

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

#modal .close
{
    position: fixed;
    z-index: 2;
    top: 4rem;
    right: 4rem;

    cursor: pointer;
}

#modal .close svg
{
    padding: 1rem;
}

#modal .img
{
    position: absolute;
    top: 50%;
    left: 50%;

    overflow: hidden;

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

#modal .img .bg
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 99.6%;
    height: 99.6%;

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

    background-color: white;
}

#modal .img img
{
    position: relative;
    z-index: 2;
}

#modal .arrow
{
    position: fixed;
    top: 50%;

    margin-top: -1.5rem;
    padding: 1rem;

    cursor: pointer;
}

#modal .arrowr
{
    right: 4rem;

    -webkit-transform: rotate(-90deg);
        -ms-transform: rotate(-90deg);
            transform: rotate(-90deg);
}

#modal .arrowl
{
    left: 4rem;

    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
}

#modal .text
{
    font-size: 1.2rem;

    position: fixed;
    bottom: 2rem;
    left: 2rem;

    cursor: default;
}

@media only screen and (max-width: 750px)
{
    #modal
    {
        box-sizing: border-box;
    }
    #modal .close
    {
        top: 1rem;
        right: 1rem;
    }
    #modal .inner
    {
        display: -webkit-flex;
        display: -ms-flexbox;
        display:         flex;

        min-height: 100%;

        -webkit-align-items: center;
        -ms-flex-align: center;
                align-items: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
                justify-content: center;
    }
    #modal .img
    {
        position: static;

        -webkit-transform: translate(0%, 0%);
            -ms-transform: translate(0%, 0%);
                transform: translate(0%, 0%);
    }
    #modal .arrow
    {
        top: auto;
        right: .4rem;
        bottom: 1rem;
        left: auto;

        padding: 1rem;
    }
    #modal .arrowl
    {
        right: 3.5rem;
    }
}

/* --------------------------------------------------------------------------------
*
*   profile
*
-------------------------------------------------------------------------------- */
#profile
{
    font-size: 1.2rem;

    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;

    display: none;
    overflow: scroll;
    overflow-x: hidden;

    box-sizing: border-box;
    width: 100vw;
    width: calc(100vw - 245px);
    height: 100vh;
    padding-top: 6rem;
    padding-bottom: 6rem;
    padding-left: 5rem;

    background: #000;

    -webkit-overflow-scrolling: touch;
}

@media only screen and (max-width: 750px)
{
    #profile
    {
        width: 100%;
        height: calc(100%);
        padding-top: 16.3rem;
        padding-right: 2rem;
        padding-bottom: 3.5rem;
        padding-left: 2rem;
    }
}

#profile .inner
{
    box-sizing: border-box;
    width: calc(100vw - 50px - 245px);
}

@media only screen and (max-width: 750px)
{
    #profile .inner
    {
        width: auto;
    }
}

#profile .inner > .tit
{
    display: inline-block;

    margin-bottom: 6rem;
}

#profile .inner > .tit svg
{
    width: 6.9rem;
    height: 1rem;

    fill: #fff;
}

@media only screen and (max-width: 750px)
{
    #profile .inner > .tit
    {
        margin-bottom: 4.5rem;
    }
}

#profile .inner .name .title
{
    margin-bottom: 1rem;
}

#profile .inner .name .title svg
{
    width: 11.3rem;
    height: .9rem;

    fill: #fff;
}

#profile .inner .name .ja svg
{
    width: 12.7rem;
    height: 2.4rem;

    fill: #fff;
}

#profile .inner .name .svgWrap
{
    display: inline-block;
}

#profile .inner .box
{
    letter-spacing: .08em;
}

#profile .inner .box .bar
{
    line-height: 0;

    margin-top: 3.5rem;
    margin-bottom: 3.5rem;
}

#profile .inner .box .address,
#profile .inner .box .career
{
    margin-bottom: 2.5rem;
}

#profile .inner .box .text,
#profile .inner .box .tel,
#profile .inner .box .mail,
#profile .inner .box .tit
{
    line-height: 1.83;
}

#profile .inner .box .boxInner
{
    max-width: 60rem;
    margin-bottom: 2.5rem;
}

#profile .inner .box .boxInner .text
{
    text-align: justify;
}

#profile .inner .box .boxInner:last-child
{
    margin-bottom: 0;
}

#profile .inner .box .boxIn
{
    padding: .5rem;
}

#profile .inner .toTop
{
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
            flex-direction: column;

    padding-top: 3.5rem;

    -webkit-flex-direction: column;
        -ms-flex-direction: column;
    -webkit-align-items: center;
    -ms-flex-align: center;
            align-items: center;
}

@media only screen and (min-width: 751px)
{
    #profile .inner .toTop
    {
        display: none;
    }
}

#profile .inner .toTop .arrow
{
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;

    margin-bottom: .5rem;

    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg);

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

#profile .inner .toTop .text svg
{
    width: 3rem;
    height: .9rem;

    fill: #fff;
}

.isIE #profile .inner,
.isEdge #profile .inner
{
    padding-bottom: 60px;
}

/* --------------------------------------------------------------------------------
*
*   overview
*
-------------------------------------------------------------------------------- */
#overview
{
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;

    display: none;
    overflow: scroll;
    overflow-x: hidden;

    box-sizing: border-box;
    width: 100vw;
    width: calc(100vw - 245px);
    height: 100vh;
    padding-top: 6rem;
    padding-bottom: 6rem;
    padding-left: 5rem;

    background: #000;

    -webkit-overflow-scrolling: touch;
}

@media only screen and (max-width: 750px)
{
    #overview
    {
        width: 100%;
        height: calc(100%);
        padding-top: 13.3rem;
        padding-right: 2rem;
        padding-bottom: 2rem;
        padding-left: 2rem;
    }
}

#overview .inner
{
    box-sizing: border-box;
    width: calc(100vw - 50px - 245px - 50px);
}

@media only screen and (max-width: 750px)
{
    #overview .inner
    {
        width: auto;
    }
}

#overview .inner > .tit
{
    display: inline-block;

    margin-bottom: 6rem;
}

#overview .inner > .tit svg
{
    width: 8.8rem;
    height: 1rem;

    fill: #fff;
}

@media only screen and (max-width: 750px)
{
    #overview .inner > .tit
    {
        display: none;
    }
}

#overview .inner .categoryList
{
    margin-bottom: .8rem;
}

#overview .inner .categoryList .category .tit
{
    display: inline-block;

    margin-bottom: .5rem;
}

#overview .inner .categoryList .category .tit svg
{
    width: 8.1rem;
    height: .9rem;

    fill: #fff;
}

#overview .inner .categoryList .category .imgList
{
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
}

#overview .inner .categoryList .category .imgList .img
{
    position: relative;

    margin-right: .2rem;
    margin-bottom: .2rem;

    cursor: pointer;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

#overview .inner .categoryList .category .imgList .img img
{
    width: auto;
    height: 6rem;
}

#overview .inner .categoryList .category .imgList .img .overlay
{
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    pointer-events: none;

    background-color: #fff;
}

#overview .inner .categoryList .category02 .tit svg
{
    width: 7rem;
}

#overview .inner .categoryList .category03 .tit svg
{
    width: 5.2rem;
}

#overview .inner .categoryList .category04 .tit svg
{
    width: 11.1rem;
}

#overview .inner .categoryList .category05 .tit svg
{
    width: 12.3rem;
}

#overview .inner .categoryList .category05.off .tit svg
{
    fill: #808080;
}

@media only screen and (max-width: 750px)
{
    #overview .inner .categoryList
    {
        margin-bottom: 2rem;
    }
    #overview .inner .categoryList .category .tit
    {
        margin-bottom: 1rem;
    }
    #overview .inner .categoryList .category .imgList .img img
    {
        width: auto;
        height: 4rem;
    }
}

.isIE #overview .inner,
.isEdge #overview .inner
{
    padding-bottom: 60px;
}

/* --------------------------------------------------------------------------------
*
*   media query module
*
-------------------------------------------------------------------------------- */
@media only screen and (max-width: 750px)
{
    br.sp
    {
        display: inline-block;
    }
    br.pc
    {
        display: none;
    }
    .display.sp
    {
        display: inline-block;
    }
    .display.pc
    {
        display: none;
    }
    /*
  *
  *   display flex
  *
  */
    .sp-order-1
    {
        -webkit-order: 1;
        -ms-flex-order: 1;
                order: 1;
    }
    .sp-order-2
    {
        -webkit-order: 2;
        -ms-flex-order: 2;
                order: 2;
    }
    .sp-order-3
    {
        -webkit-order: 3;
        -ms-flex-order: 3;
                order: 3;
    }
    .sp-order-4
    {
        -webkit-order: 4;
        -ms-flex-order: 4;
                order: 4;
    }
    .sp-order-5
    {
        -webkit-order: 5;
        -ms-flex-order: 5;
                order: 5;
    }
    .sp-order-6
    {
        -webkit-order: 6;
        -ms-flex-order: 6;
                order: 6;
    }
    .sp-order-7
    {
        -webkit-order: 7;
        -ms-flex-order: 7;
                order: 7;
    }
    .sp-order-8
    {
        -webkit-order: 8;
        -ms-flex-order: 8;
                order: 8;
    }
    .sp-order-9
    {
        -webkit-order: 9;
        -ms-flex-order: 9;
                order: 9;
    }
}

@media only screen and (min-width: 751px)
{
    br.pc
    {
        display: inline-block;
    }
    br.sp
    {
        display: none;
    }
    .display.pc
    {
        display: inline-block;
    }
    .display.sp
    {
        display: none;
    }
    /*
  *
  *   display flex
  *
  */
    .pc-order-1
    {
        -webkit-order: 1;
        -ms-flex-order: 1;
                order: 1;
    }
    .pc-order-2
    {
        -webkit-order: 2;
        -ms-flex-order: 2;
                order: 2;
    }
    .pc-order-3
    {
        -webkit-order: 3;
        -ms-flex-order: 3;
                order: 3;
    }
    .pc-order-4
    {
        -webkit-order: 4;
        -ms-flex-order: 4;
                order: 4;
    }
    .pc-order-5
    {
        -webkit-order: 5;
        -ms-flex-order: 5;
                order: 5;
    }
    .pc-order-6
    {
        -webkit-order: 6;
        -ms-flex-order: 6;
                order: 6;
    }
    .pc-order-7
    {
        -webkit-order: 7;
        -ms-flex-order: 7;
                order: 7;
    }
    .pc-order-8
    {
        -webkit-order: 8;
        -ms-flex-order: 8;
                order: 8;
    }
    .pc-order-9
    {
        -webkit-order: 9;
        -ms-flex-order: 9;
                order: 9;
    }
}

/* --------------------------------------------------------------------------------
*
*   link
*
-------------------------------------------------------------------------------- */
a
{
    text-decoration: none;

    color: #fff;
}

a:hover
{
    text-decoration: none;

    color: #fff;
}

a:visited
{
    text-decoration: none;

    color: #fff;
}

a:active
{
    text-decoration: none;

    color: #fff;
}

/* --------------------------------------------------------------------------------
*
*   box-shadow
*
-------------------------------------------------------------------------------- */
.box-shadow
{
    box-shadow: 4px 2px 10px 1px #ccc inset;
}

/* --------------------------------------------------------------------------------
*
*   text-shadow
*
-------------------------------------------------------------------------------- */
.text-shadow
{
    text-shadow: 5px 5px 2px #ccc;
}

/* --------------------------------------------------------------------------------
*
*   color
*
-------------------------------------------------------------------------------- */
.highlight
{
    color: #ff405e;
}

.error
{
    color: #e83434;
}

.error
{
    position: absolute;
    bottom: 5.1rem;
    left: 50%;

    width: 100%;

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

/* --------------------------------------------------------------------------------
*   page
-------------------------------------------------------------------------------- */
#wrapper.id_top
{
    /* --------------------------------------------------------------------------------
*
*   compornents
*
-------------------------------------------------------------------------------- */
    /* --------------------------------------------------------------------------------
*
*   section01
*
-------------------------------------------------------------------------------- */
}

#wrapper.id_top .section01
{
    padding-top: 13.3rem;
}

@media only screen and (max-width: 750px)
{
    #wrapper.id_top .section01
    {
        overflow-x: hidden;
        overflow-y: scroll;

        box-sizing: border-box;
        width: 100vw;
        height: 100vh;
        padding-top: 11.3rem;

        -webkit-overflow-scrolling: touch;
    }
}

#wrapper.id_top .section01 .imgWrap .imgInner
{
    padding-left: 2rem;

    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);

    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
}

#wrapper.id_top .section01 .imgWrap .imgList
{
    margin-bottom: 5rem;
}

#wrapper.id_top .section01 .imgWrap .imgList .img
{
    position: relative;

    overflow: hidden;

    margin-right: .2rem;

    cursor: pointer;

    opacity: 0;

    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
            flex-shrink: 0;
}

#wrapper.id_top .section01 .imgWrap .imgList .img img
{
    width: auto;
    height: 20rem;
}

#wrapper.id_top .section01 .imgWrap .imgList .img .overlay
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    pointer-events: none;

    opacity: 0;
    background: rgba(255, 255, 255, .8);
}

@media only screen and (max-width: 750px)
{
    #wrapper.id_top .section01 .imgWrap .imgList
    {
        margin-bottom: 4rem;
    }
    #wrapper.id_top .section01 .imgWrap .imgList .img
    {
        margin-right: 1px;
    }
    #wrapper.id_top .section01 .imgWrap .imgList .img img
    {
        width: auto;
        height: 12rem;
    }
}

.hideInsta .instaLink
{
    display: none;
}
