@charset 'UTF-8';

@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(//fonts.googleapis.com/css?family=Abril+Fatface|Josefin+Slab:700|Noto+Serif:400,700);

/*----------------------------------------
clearfix
----------------------------------------*/

@import url(//fonts.googleapis.com/css?family=Poppins);
@import url(//fonts.googleapis.com/earlyaccess/notosansjp.css);

/* //////////////////////////////////////////
repetto_font
//////////////////////////////////////////*/

@import url(//fonts.googleapis.com/css?family=Poppins);
@import url(//fonts.googleapis.com/earlyaccess/notosansjp.css);

@font-face
{
    font-family: 'Campton';
    font-weight: 200;
    font-style: normal;

    src: url('/assets/fonts/Campton-ExtraLight.otf') format('opentype'), url('/assets/fonts/Campton-ExtraLight.woff') format('woff'), url('/assets/fonts/Campton-ExtraLight.woff2') format('woff2');
}
@font-face
{
    font-family: 'Campton';
    font-weight: 300;
    font-style: normal;

    src: url('/assets/fonts/Campton-Light.otf') format('opentype'), url('/assets/fonts/Campton-Light.woff') format('woff'), url('/assets/fonts/Campton-Light.woff2') format('woff2');
}
@font-face
{
    font-family: 'Campton-b';
    font-weight: 500;
    font-style: normal;

    src: url('/assets/fonts/Campton-Book.otf') format('opentype'), url('/assets/fonts/Campton-Book.woff') format('woff'), url('/assets/fonts/Campton-Book.woff2') format('woff2');
}

/*----------------------------------------
IE6 Upgrade Warning
----------------------------------------*/

#ieError{
    position: absolute;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    padding: 20px;
    text-align: center;
    opacity: .8;
    color: #fff;
    background: #000;
    filter: alpha(opacity=80);
    -ms-filter: 'alpha( opacity=80 )';
}
#ieError strong{
    color: #fff;
}
#ieError a{
    text-decoration: underline;

    color: #d90000;
}
/*! normalize.css v3.0.0 | MIT License | git.io/normalize */

/**
* 1. Set default font family to sans-serif.
* 2. Prevent iOS text size adjust after orientation change, without disabling
*    user zoom.
*/
html{
    font-family: sans-serif;
    /* 1 */
    -ms-text-size-adjust: 100%;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}
/**
* Remove default margin.
*/
body{
    margin: 0;
}

/* HTML5 display definitions
========================================================================== */

/**
* Correct `block` display not defined in IE 8/9.
*/
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{
    display: block;
}

/**
* 1. Correct `inline-block` display not defined in IE 8/9.
* 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
*/

audio,canvas,progress,video{
    display: inline-block;
    /* 1 */

    vertical-align: baseline;
    /* 2 */
}

/**
* Prevent modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices.
*/
audio:not([controls]){
    display: none;

    height: 0;
}

/**
* Address `[hidden]` styling not present in IE 8/9.
* Hide the `template` element in IE, Safari, and Firefox < 22.
*/

[hidden],
template{
    display: none;
}

/* Links
========================================================================== */

/**
* Remove the gray background color from active links in IE 10.
*/

a{
    background: transparent;
}
/**
* Improve readability when focused and also mouse hovered in all browsers.
*/
a:active,
a:hover{
    outline: 0;
}

/* Text-level semantics
========================================================================== */

/**
* Address styling not present in IE 8/9, Safari 5, and Chrome.
*/

abbr[title]{
    border-bottom: 1px dotted;
}
/**
* Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
*/

b,
strong{
    font-weight: bold;
}

/**
* Address styling not present in Safari 5 and Chrome.
*/

dfn{
    font-style: italic;
}
/**
* Address variable `h1` font-size and margin within `section` and `article`
* contexts in Firefox 4+, Safari 5, and Chrome.
*/

h1{
    font-size: 2em;
    margin: .67em 0;
}
/**
* Address styling not present in IE 8/9.
*/
mark{
    color: #000;
    background: #ff0;
}

/**
* Address inconsistent and variable font size in all browsers.
*/

small{
    font-size: 80%;
}
/**
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
*/
sub,sup{
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sup{
    top: -.5em;
}
sub{
    bottom: -.25em;
}

/* Embedded content
========================================================================== */

/**
* Remove border when inside `a` element in IE 8/9.
*/

img{
    border: 0;
}

/**
* Correct overflow displayed oddly in IE 9.
*/
svg:not(:root){
    overflow: hidden;
}

/* Grouping content
========================================================================== */

/**
* Address margin not present in IE 8/9 and Safari 5.
*/

figure{
    margin: 1em 40px;
}

/**
* Address differences between Firefox and other browsers.
*/

hr{
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}

/**
* Contain overflow in all browsers.
*/

pre{
    overflow: auto;
}

/**
* Address odd `em`-unit font size rendering in all browsers.
*/

code,kbd,pre,samp{
    font-family: monospace, monospace;
    font-size: 1em;
}

/* Forms
========================================================================== */

/**
* Known limitation: by default, Chrome and Safari on OS X allow very limited
* styling of `select`, unless a `border` property is set.
*/

/**
* 1. Correct color not being inherited.
*    Known issue: affects color of disabled elements.
* 2. Correct font properties not being inherited.
* 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
*/

button,input,optgroup,select,textarea{
    /* 1 */
    font: inherit;
    /* 2 */

    margin: 0;

    color: inherit;
    /* 3 */
}

/**
* Address `overflow` set to `hidden` in IE 8/9/10.
*/

button{
    overflow: visible;
}

/**
* Address inconsistent `text-transform` inheritance for `button` and `select`.
* All other form control elements do not inherit `text-transform` values.
* Correct `button` style inheritance in Firefox, IE 8+, and Opera
* Correct `select` style inheritance in Firefox.
*/

button,
select{
    text-transform: none;
}

/**
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
*    and `video` controls.
* 2. Correct inability to style clickable `input` types in iOS.
* 3. Improve usability and consistency of cursor style between image-type
*    `input` and others.
*/

button,html input[type='button'],input[type='reset'],input[type='submit']{
    /* 2 */
    cursor: pointer;

    -webkit-appearance: button;
    /* 3 */
}
/**
* Re-set default cursor for disabled elements.
*/

button[disabled],
html input[disabled]{
    cursor: default;
}

/**
* Remove inner padding and border in Firefox 4+.
*/

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

    border: 0;
}

/**
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
* the UA stylesheet.
*/

input{
    line-height: normal;
}
/**
* It's recommended that you don't attempt to style these elements.
* Firefox's implementation doesn't respect box-sizing, padding, or width.
*
* 1. Address box sizing set to `content-box` in IE 8/9/10.
* 2. Remove excess padding in IE 8/9/10.
*/

input[type='checkbox'],
input[type='radio']{
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}
/**
* Fix the cursor style for Chrome's increment/decrement buttons. For certain
* `font-size` values of the `input`, it causes the cursor style of the
* decrement button to change from `default` to `text`.
*/

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button{
    height: auto;
}
/**
* 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
* 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
*    (include `-moz` to future-proof).
*/

input[type='search']{
    /* 1 */
    -webkit-box-sizing: content-box;
    /* 2 */
    box-sizing: content-box;
    -webkit-appearance: textfield;
}
/**
* Remove inner padding and search cancel button in Safari and Chrome on OS X.
* Safari (but not Chrome) clips the cancel button when the search input has
* padding (and `textfield` appearance).
*/
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-decoration{
    -webkit-appearance: none;
}
/**
* Define consistent border, margin, and padding.
*/
fieldset{
    margin: 0 2px;
    padding: .35em .625em .75em;
    border: 1px solid #c0c0c0;
}
/**
* 1. Correct `color` not being inherited in IE 8/9.
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
*/
legend{
    /* 1 */
    padding: 0;
    border: 0;
    /* 2 */
}
/**
* Remove default vertical scrollbar in IE 8/9.
*/

textarea{
    overflow: auto;
}

/**
* Don't inherit the `font-weight` (applied by a rule above).
* NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
*/

optgroup{
    font-weight: bold;
}
/* Tables
========================================================================== */

/**
* Remove most spacing between table cells.
*/

table{
    border-spacing: 0;
    border-collapse: collapse;
}
td,
th{
    padding: 0;
}

/*----------------------------------------
reset
----------------------------------------*/

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{
    font: inherit;
    font-family: 'Campton', "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Osaka", "Osaka－等幅", "Osaka-Mono", sans-serif;
    font-size: 100%;
    line-height: 1;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    color: #000;
    border: 0;
    outline: 0;
}
header,footer,article,section,aside,hgroup,nav,menu,figure,figcaption,time{
    display: block;
}
li{
    list-style: none;
}
ol,
ul{
    list-style: none;
}
img{
    font-size: 0;
    line-height: 0;
    vertical-align: top;
    border: 0;
}
table{
    border-spacing: 0;
    border-collapse: collapse;
}
h1,h2,p,pre{
    word-wrap: break-word;
}

caption,th,td{
    font-weight: 400;
    text-align: left;
    vertical-align: middle;
}
caption{
    font: inherit;
    font-size: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}
tbody,tfoot,thead,tr{
    vertical-align: baseline;
}
tbody,tfoot,thead,tr,th,td{
    font: inherit;
    font-size: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}
hr{
    display: block;
    height: 1px;
    margin: 1em 0;
    padding: 0;
    border: 0;
    border-top: 1px solid #ccc;
}
input,select{
    vertical-align: middle;
}
input,button,textarea,select{
    margin: 0;
    padding: 0;

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

    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
button{
    padding: 0;
    cursor: pointer;
    border: none;
    outline: none;
    background-color: transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
select::-ms-expand{
    display: none;
}

.clearfix{
    min-height: 1px;
    _height: 1%;
}

.clearfix:after{
    display: block;
    visibility: hidden;
    clear: both;
    height: 0;
    content: '';
}

/* //////////////////////////////////////////
repetto_font
//////////////////////////////////////////*/

@font-face{
    font-family: 'Campton';
    font-weight: 200;
    font-style: normal;
    src: url('/assets/fonts/Campton-ExtraLight.otf') format('opentype'), url('/assets/fonts/Campton-ExtraLight.woff') format('woff'), url('/assets/fonts/Campton-ExtraLight.woff2') format('woff2');
}
@font-face{
    font-family: 'Campton';
    font-weight: 300;
    font-style: normal;
    src: url('/assets/fonts/Campton-Light.otf') format('opentype'), url('/assets/fonts/Campton-Light.woff') format('woff'), url('/assets/fonts/Campton-Light.woff2') format('woff2');
}

@font-face{
    font-family: 'Campton-b';
    font-weight: 500;
    font-style: normal;
    src: url('/assets/fonts/Campton-Book.otf') format('opentype'), url('/assets/fonts/Campton-Book.woff') format('woff'), url('/assets/fonts/Campton-Book.woff2') format('woff2');
}
html,
body{
    height: 100%;
    height: 100%;
    margin: 0;
    padding: 0;

    -webkit-text-size-adjust: none;
}
*{
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
}
html{
    /*  font-size: 62.5%;*/
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}
body{
    font-family: 'Montserrat', 'Noto Sans Japanese', 'Yu Gothic', YuGothic, 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'MS PGothic', sans-serif;
    font-size: 12px;
    line-height: 1;
    text-align: center;
    letter-spacing: .01em;
    color: #636363;
    -moz-osx-font-smoothing: grayscale;
}
a{
    cursor: pointer;
    text-decoration: none;
}
a img{
    border: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
img{
    width: 100%;
    max-width: 100%;
    vertical-align: bottom;
    pointer-events: none;
}
.sp-display{
    display: none !important;
}
.cf:after{
    display: block;
    clear: both;
    content: '';
}
.fade__item{
    opacity: 0;
}
.show{
    display: block;
    opacity: 1;
}
.js__show{
    display: block;
}
/** flex_display **/
.flex_display{
    display: -webkit-flex;
    display:    -moz-flex;
    display:      -o-flex;
    display:     -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -o-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
.flex_list_display{
    display: -webkit-flex;
    display:    -moz-flex;
    display:      -o-flex;
    display:     -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display:         flex;
    -webkit-box-pack: space-between;
    -ms-flex-pack: space-between;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -o-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    -moz-align-items: flex-start;
    -o-align-items: flex-start;
    -ms-align-items: flex-start;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}
.m_button{
    font-size: 11.5px;
    font-weight: 900;
    position: relative;
    display: inline-block;
    overflow: hidden;
    width: 240px;
    padding: 20px 0;
    -webkit-transition: compact(all .2s ease-in-out, false, false, false, false, false, false, false, false, false);
    transition: compact(all .2s ease-in-out, false, false, false, false, false, false, false, false, false);
    letter-spacing: .3em;

    border: 1px solid #000;
}

.m_button:hover{
    color: #fff;
    background: #000;
}
.mbt{
    -webkit-transition: compact(all .2s ease-in-out, false, false, false, false, false, false, false, false, false);
    transition: compact(all .2s ease-in-out, false, false, false, false, false, false, false, false, false);
    color: #fff;
    background-color: #000;
}
.mbt:hover{
    color: #000;
    background: #fff;
}
/*font-weight*/
.bold{
    font-weight: bold;
}

/* //////////////////////////////////////////
container, l-contents, is-content
//////////////////////////////////////////*/

/**** animation ****/

@-webkit-keyframes fadePage{
    from{
        -webkit-transform: translateY(25px);
        transform: translateY(25px);

        opacity: 0;
    }
}
@keyframes fadePage{
    from{
        -webkit-transform: translateY(25px);
        transform: translateY(25px);

        opacity: 0;
    }
}
@-webkit-keyframes fadeInUp{
    from{
        -webkit-transform: translateY(100px);
        transform: translateY(100px);

        opacity: 0;
    }
}
@keyframes fadeInUp{
    from{
        -webkit-transform: translateY(100px);
        transform: translateY(100px);

        opacity: 0;
    }
}
@-webkit-keyframes fadeInDown{
    from{
        -webkit-transform: translateY(-100px);
        transform: translateY(-100px);

        opacity: 0;
    }
}
@keyframes fadeInDown{
    from{
        -webkit-transform: translateY(-100px);
        transform: translateY(-100px);

        opacity: 0;
    }
}
@-webkit-keyframes fadeInRight{
    from
    {
        -webkit-transform: translateX(100px);
        transform: translateX(100px);

        opacity: 0;
    }
}
@keyframes fadeInRight{
    from{
        -webkit-transform: translateX(100px);
        transform: translateX(100px);

        opacity: 0;
    }
}
@-webkit-keyframes fadeInLeft{
    from{
        -webkit-transform: translateX(-100px);
        transform: translateX(-100px);

        opacity: 0;
    }
}
@keyframes fadeInLeft{
    from{
        -webkit-transform: translateX(-100px);
        transform: translateX(-100px);

        opacity: 0;
    }
}
@-webkit-keyframes fadeInCenter{
    from{
        opacity: 0;
    }
}
@keyframes fadeInCenter{
    from{
        opacity: 0;
    }
}
.fadePage{
    -webkit-animation: fadePage .5s ease both;
    animation: fadePage .5s ease both;

    opacity: 1 !important;
}
.fadeInUp{
    -webkit-animation: fadeInUp 1s ease both;
    animation: fadeInUp 1s ease both;

    opacity: 1 !important;
}
.fadeInDown{
    -webkit-animation: fadeInDown 1s ease both;
    animation: fadeInDown 1s ease both;

    opacity: 1 !important;
}

.fadeInRight{
    -webkit-animation: fadeInRight 1s ease both;
    animation: fadeInRight 1s ease both;

    opacity: 1 !important;
}
.fadeInLeft{
    -webkit-animation: fadeInLeft 1s ease both;
    animation: fadeInLeft 1s ease both;

    opacity: 1 !important;
}
.fadeInCenter{
    -webkit-animation: fadeInCenter .8s ease both;
    animation: fadeInCenter .8s ease both;

    opacity: 1 !important;
}

/* //////////////////////////////////////////
js__show
//////////////////////////////////////////*/
.fadeIn_{
    -webkit-transition: opacity 1670ms cubic-bezier(.165, .84, .44, 1);
    transition: opacity 1670ms cubic-bezier(.165, .84, .44, 1);
    -webkit-transform-origin: right bottom;
    -ms-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 0;
}
.fadeIn_.js__show{
    opacity: 1;
}



@media only screen and (max-width: 787px){
    .fadeIn_{
        -webkit-transition: opacity 1670ms, -webkit-transform 1230ms cubic-bezier(.165, .84, .44, 1);
        transition: opacity 1670ms, -webkit-transform 1230ms cubic-bezier(.165, .84, .44, 1);
        transition: opacity 1670ms, transform 1230ms cubic-bezier(.165, .84, .44, 1);
        transition: opacity 1670ms, transform 1230ms cubic-bezier(.165, .84, .44, 1), -webkit-transform 1230ms cubic-bezier(.165, .84, .44, 1);
        -webkit-transform: scale(1.07);
        -ms-transform: scale(1.07);
        transform: scale(1.07);
    }
    .fadeIn_.js__show{
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }

}









@-ms-viewport {
  width: device-width;
}
.hidden {
  display: none;
  visibility: hidden;
}
.visible-phone {
  display: none !important;
}
.visible-tablet {
  display: none !important;
}
.hidden-desktop {
  display: none !important;
}
.visible-desktop {
  display: inherit !important;
}
@media (min-width: 768px) and (max-width: 979px) {
  .hidden-desktop {
    display: inherit !important;
  }
  .visible-desktop {
    display: none !important ;
  }
  .visible-tablet {
    display: inherit !important;
  }
  .hidden-tablet {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .hidden-desktop {
    display: inherit !important;
  }
  .visible-desktop {
    display: none !important;
  }
  .visible-phone {
    display: inherit !important;
  }
  .hidden-phone {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}
@media print {
  .visible-print {
    display: inherit !important;
  }
  .hidden-print {
    display: none !important;
  }
}