@charset "utf-8";
html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

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

audio,canvas,progress,video {
    display: inline-block
}

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

progress {
    vertical-align: baseline
}

template,[hidden] {
    display: none
}

a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

a:active,a:hover {
    outline-width: 0
}

abbr[title] {
    border-bottom: 0;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,strong {
    font-weight: inherit;
    font-weight: bolder
}

dfn {
    font-style: italic
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

mark {
    background-color: #ff0;
    color: #000
}

small {
    font-size: 80%
}

sub,sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

img {
    border-style: none
}

figure {
    margin: 0
}

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

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

button,input,select,textarea {
    font: inherit;
    margin: 0
}

optgroup {
    font-weight: bold
}

button,input {
    overflow: visible
}

button,select {
    text-transform: none
}

button,html [type="button"],[type="reset"],[type="submit"] {
    -webkit-appearance: button
}

button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0
}

button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

textarea {
    overflow: auto
}

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

[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button {
    height: auto
}

[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-input-placeholder {
    color: inherit;
    opacity: .54
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

/*! Cusp v1.0 Copyright 2015 Glitter Style */
* {
    box-sizing: border-box
}

.flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal
}

.flex-reverse {
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

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

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

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

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

.flex-column {
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-orient: column
}

.flex-center {
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    align-self: center
}

.flex-top {
    -webkit-align-self: flex-start;
    -ms-flex-item-align: flex-start;
    align-self: flex-start
}

.flex-bottom {
    -webkit-align-self: flex-end;
    -ms-flex-item-align: end;
    align-self: flex-end
}

.flex-stretch {
    -webkit-align-self: stretch;
    -ms-flex-item-align: stretch;
    align-self: stretch
}

.items-center {
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center
}

.alignleft {
    text-align: left
}

.alignright {
    text-align: right
}

.aligncenter {
    text-align: center
}

.vertical-text{
    writing-mode: vertical-rl;
}
.text-combine{
    text-combine-upright: all;
}

.upcase {
    text-transform: uppercase
}
.defs {
    display: none
}
.before:before,
.after:after{
  display:block;
  position:absolute;
  content:'';
}
.col-evn2{width: 49%}
/* ---  */

::-moz-selection {
    background: rgba(0,0,0,.7);
    color: #fff
}

::selection {
    background: rgba(0,0,0,.7);
    color: #fff
}

img {
    -ms-user-select: none;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -khtml-user-select: none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -webkit-touch-callout: none
}

em {
    font-style: normal
}

a {
    text-decoration: none
}
.main-contents a{
    color: #333;
    transition: all .3s ease-in-out;
}
.main-contents a:hover{
    color: #888;
}


#article a{
    color: #666;
    border-bottom:1px dashed;
    transition: all .3s ease-in-out;
}
#article a:hover{
    color: #888;
    border-color: #888;
}

.main-contents ul {
    list-style: none;
    margin: 0;
    padding: 0
}

.main-contents ol {
    padding-left: 21px
}

.main-contents dd {
    margin: 0
}
.main-contents hr{
    height:18px;
    margin: 120px 2em;
    background: #111;
    border: none;
}

.main-contents,.modalWrap {
    line-height: 1.8
}

.main-contents .table {
    display: table;
    table-layout: fixed
}

.main-contents .table-child {
    display: table-cell;
    vertical-align: middle
}

.main-contents .percent,#gallery p,#modalwrap p {
    color: #fff
}

.main-contents .text-indent p {
    margin-bottom: 1em
}

.main-contents .contents .bt {
    margin-bottom: 42px
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom
}


.bg-b {
    background: #000
}

.header {
    padding: 80px 0 0;
}
#overheader{
  width:100%;
  height:80px;
}
#overheader a{display: block;}

.fix{
    position:fixed!important;
    z-index:10;
    -webkit-transition:all .2s ease;transition:all .2s ease;z-index:12
}
.logo {
    display: block;
    position: relative;
    width: 250px;
    height:74px;
    padding: 20px 0;
    margin: 0 auto;
}
.aside,
#footer{
    background: #111;
    color: #fff;
}
#footer {
    position: relative;
    /*background: #fdfdfd;*/
    text-align: center;
    padding: 30px 1em 30px;
    z-index: 1
}
#footer p{
    margin: 0;
}
.wrapper,.contents,.contents-m {
    max-width: 100%;
    margin: 0 auto
}
.wrapper{
    position: relative;
}

.main-contents {
    position: relative;
    width: 100%;
    margin: 0;
    overflow: hidden
}

.main-contents,.modalWrap {
    font-family: '游ゴシック',YuGothic,'メイリオ','Helvetica','Arial',sans-serif;
    font-size: 16px;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing:2px;
}

#goTop {
    width: 52px;
    height: 48px;
    position: absolute;
    right: 1%;
    top: -48px;
    padding: 8px 5px;
    background: #111;
    cursor: pointer;
    z-index: 10;
    box-shadow: 0 1px 10px rgba(80,80,80,.4);
    transition:background-color .4s ease-in;
}

#goTop span::before,#goTop span::after {
    width: 14px;
    height: 1px;
    background: #fff
}

/*#goTop:before {
    width: 30px;
    height: 1px
}*/

#goTop span {
    display: block;
    width: 1px;
    height: 26px;
    position: relative;
    margin: 0 auto;
    -webkit-transform: translateY(7px);
    transform: translateY(7px)
}

#goTop:hover {
    background:#585858;
}

#goTop span:before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
    right: 0
}

#goTop span:after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    left: 1px
}

#overlay {
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    background: #fff;
    z-index: 10;
}


/*
    section main settings
*/
.main-contents h2,
.main-contents h3,
.main-contents h4 {
    letter-spacing:4px;
}
.main-contents h2{font-size:1.8em;margin-bottom:1em}
.main-contents h3{font-size:1.3em;margin:2em 0 3em}
.main-contents h4{font-size:1.6em;margin-bottom:2em}
.contents img{
    display: block;
    margin:0 auto;
}
.main-contents p{
    line-height:2.4;
    margin: 5em auto;
}

.main-contents .read,
.main-contents .text{
    max-width: 700px;
}

.main-contents .read{
    margin-bottom: 120px;
}

.main-contents .more {
    display: block;
    width:300px;
    padding: 24px 16px;
    margin: 0 auto 60px;
    color: #fff;
    border: 1px solid;
    text-align: center;
    transition:background .3s ease-in;
}
.more:hover{
    background: rgba(255,255,255,.4);
}
/*
    details
*/

.before,.after {
    position: relative
}

.br {
    display: block
}

.ib {
    display: inline-block
}

.section {
    position: relative;
    padding: 60px 0
}

.section:nth-of-type(1) {
    padding-top: 0
}

.section:not(.ident-color)::before,.section:not(.ident-color)::after {
    left: 0;
    bottom: -110px;
    width: 100vw;
    z-index: 0
}

.section:not(.ident-color)::before {
    height: 260px;
    background: #bf1030
}

.section:not(.ident-color)::after {
    height: 40px;
    background: #00174f
}

.page--section .wrapper {
    position: relative;
    z-index: 1
}
.main-contents svg{
    max-width:100%;
    height:atuo;
}

.copy .tx,.headline span {
    opacity: 0
}

.headline span {
    display: inline-block;
    -wevkit-transition: all 1s ease-out;
    transition: all 1s ease-out
}
.headline .move{
    opacity:1;
}

#mv{
    position: relative;
    margin: 48px auto 0;
}
#mv h1{
    /*width:40%;*/
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 3;
    margin: 0;
    opacity:0;
    transform:translate(-50%,-50%);
    transition: opacity 1.6s ease-out 1s;
}
#mv.active h1{opacity:1}
/*.kv{width:60%}*/
/*#mv h1 svg{fill:#fff}*/

.bd{overflow:hidden}

.kv{
    position: relative;
    opacity:0;
/*    left: -15%;*/
    transition:all .8s cubic-bezier(0, 0.01, 0.3, 1);
}
.active .kv{
    opacity:1;
/*    left: 0;*/
}

#mv:before,
#mv:after,
.bd:before,
.bd:after{
    background:#221815;
    transition: all .3s ease-in;
}
#mv:before,
.bd:before{
    width:0;
    height:1px;
}
#mv:after,
.bd:after{
    width:1px;
    height:0;
}
#mv.active:before,
.active .bd:before{
    width:100%;
}
#mv.active:after,
.active .bd:after{
    height:100%;
}
#mv:before{top: 0;left: 0}
#mv:after{top: 0;right:0}
.bd:before{bottom:0;right: 0}
.bd:after{bottom:0;left: 0}

    #mv:before{transition-delay:1.2s}
    #mv:after{transition-delay:1.5s}
    .bd:before{transition-delay:1.8s}
    .bd:after{transition-delay:2.1s}

.vol1 .bd{padding: 16px}
.vol2 .bd{padding: 6px}


.bg{
    padding-top: 60px;
}

.bg:before{
    width: 100vw;
    height: 130%;
    left: 0;
    top: 0;
    z-index: -1;
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-animation-duration: .8s;
    animation-duration: .8s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}
.vol1 .bg:before{
    background: #c9ddf3;
}
.vol2 .bg:before{
    background: #fcedf4;
}

.bg.active::before {
    -webkit-animation-timing-function: cubic-bezier(0.8,0,0.1,1);
    animation-timing-function: cubic-bezier(0.8,0,0.1,1);
    -webkit-animation-name: covers;
    animation-name: covers;
}



.symbol{
    padding:10px;
    opacity:0;
    transition:opacity 1s ease-in;
    display:flex;
    align-items:center;
}
    .active .symbol{opacity:1}
.symbol svg{
    width: 100px;
    height: 80px;
}
.headline-wrap{
/*    width:83%;*/
    align-items:center;
}


.fi{
    display:inline-block;
    font-size: 1.4em;
    background:#111;
    color: #fff;
    padding: 0px 6px;
    border-radius:2px;
}

.contents .price,
.contents .details{
/*    font-weight: bold;*/
    display: block;
    text-align:center;
}
.contents .price{
    font-size: .8em;
    margin: 2em 0 2em;
}
.contents .details{

}


.arrow{
    position: absolute;
    bottom:-32%;
    left: -5%;
}

.tl{
    display:inline-block;
    position: relative;
    padding: 0 3.2em;
}
.tl::before,
.tl::after{
    content:'';
    display:block;
    width:2em;
    height:1px;
    background:#000;
    position: absolute;
    top: 50%;
}
.tl::before{left: 0}
.tl::after{right: 0}

/* --- animation --- */

.active .sub{
    transition: opacity .6s ease-in 2s;
}
.active .title-1{
    transition: opacity .6s ease-in 3.4s;
}
.active .title-2{
    transition: opacity .4s ease-in 4.4s;
}
.active .title-3{
    transition: opacity .4s ease-in 5.4s;
}
.active .bg::after{
    opacity:.8;
    top: 1%;
    right:7%;
    transition: all 1s ease-in 6s;
}

.loud{
    -webkit-clip-path: inset(50% 0 50% 0);
    clip-path: inset(50% 0 50% 0);
    -webkit-transition: all 1s cubic-bezier(0.42,0,0,1) .4s;
    transition: all 1s cubic-bezier(0.42,0,0,1) .4s
}
.loud.active{
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
    -webkit-transition: all 1s cubic-bezier(0.42,0,0,1) .4s;
    transition: all 1s cubic-bezier(0.42,0,0,1) .4s
}

/* ---------  */
.section2-box,
.kv2{
    position: relative;
}

.loud{
    position: absolute;
    padding: 3rem 16px;
    margin: 0;
    font-size:2em;
    z-index:2
}
.loud::before,
.loud::after{
    height:4rem;
    right: 26%;
}
.loud::before{
    top: 0;
    border-left: 5px double;
    transform:rotate(-66deg);
}
.loud::after{
    bottom:0;
    border-right: 5px double;
    transform:rotate(66deg);
}

/*.symbol{opacity:0}*/
.symbol .cg{
    opacity:0;
    /*transform:translateX(-80px);
    transition:all .8s ease-in;*/
    animation-duration: 1.6s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}
.symbol .cg.move{
    /*opacity:1;
    transform: translateX(0);*/
    -webkit-animation-timing-function: cubic-bezier(0.6, 0, 0.18, 1);
    animation-timing-function: cubic-bezier(0.6, 0, 0.18, 1);
    -webkit-animation-name: rotateMove;
    animation-name: rotateMove;
}
/*.ef3{
    margin-top: 0;
}
*/
.ef1{animation-delay:.4s}
    .cat.ef1{transition-delay:.6s}
.ef2{animation-delay:.8s}
.ef3{animation-delay:1.2s}

.r1{transition-delay:.5s}
.r2{animation-delay:1s}
.r3{animation-delay:2.4s}

.fadeInUp{
    opacity:0;
    animation-duration: 1.6s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

.cat{
    opacity:0;
    filter: blur(7px);
    transition:all 1.2s ease-in;
}
.cat.r2{transition-delay:2s;}

.active .cat{opacity:1;filter: blur(0)}

.active .fadeInUp {
    -webkit-animation-timing-function: cubic-bezier(0.6, 0, 0.18, 1);
    animation-timing-function: cubic-bezier(0.6, 0, 0.18, 1);
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
}
.fadeInRight.active{
    -webkit-animation-timing-function: cubic-bezier(0.42,0,0,1);
    animation-timing-function: cubic-bezier(0.42,0,0,1);
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight
}

.section .hashlink {
    -webkit-transition: box-shadow .5s ease-out 1s;
    transition: box-shadow .5s ease-out 1s
}

.active .hashlink {
    box-shadow: 0 10px 17px 0 rgba(0,0,0,.12),0 17px 50px 0 rgba(0,0,0,.1)
}
@-webkit-keyframes covers {
    1% {
        -webkit-transform: scaleX(0);
        transform: scaleX(0)
    }

    100% {
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

@keyframes covers {
    1% {
        -webkit-transform: scaleX(0);
        transform: scaleX(0)
    }

    100% {
        width: 100%;
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

@-webkit-keyframes fadeInUp {
    1% {
        opacity: 0;
        -webkit-transform: translateY(120px);
        transform: translateY(120px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes fadeInUp {
    1% {
        opacity: 0;
        -webkit-transform: translateY(120px);
        transform: translateY(120px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes rotateMove {
    0% {
        opacity:0;
        -webkit-transform: translateX(-80px) rotateY(0deg);
        transform: translateX(-80px) rotateY(0deg);
    }

    100% {
        opacity:1;
        -webkit-transform: translateX(0) rotateY(360deg);
        transform: translateX(0) rotateY(360deg);
    }
}
@keyframes rotateMove {
    0% {
        opacity:0;
        transform: translateX(-80px) rotateY(0deg);
    }

    100% {
        opacity:1;
        transform: translateX(0) rotateY(360deg);
    }
}

#credit p {
    width: 800px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto
}

#credit {
    padding: 48px 0 24px;
    background: #000;
    position: relative
}

#credit ul {
    margin: 0
}

#credit dl {
    margin-bottom: 1em
}

#credit .contact dt {
    font-weight: bold;
    float: left;
    width: 30%
}

#credit .client {
    float: left;
    width: 70%;
    margin-bottom: 1em
}

#credit .flex {
    margin-bottom: 2em
}

.credit {
    font-size: 12px
}

#credit p,#credit li {
    color: #fff
}

#credit p {
    margin-bottom: 1.5rem
}

#credit .more {
    display: block;
    max-width: 340px;
    margin: 1em 0;
    padding: 10px 16px;
    background: #a8a8b1;
    color: #fff;
    text-align: center;
    border-radius: 1px;
    color: #fff
}

#credit .more.fb {
    background: #355096;
    padding: 6px 0
}

#credit .credit span {
    display: inline-block;
    margin-right: 1em
}

#credit .credit .mbr {
    font-weight: normal;
    display: inline-block
}

.main-contents .links{
    margin: 120px auto;
}
.links li{margin: 2px}
.links a,
.links .this_page{
    display: block;
}

.links a{
    border: 1px solid #888;
    transition: opacity .3s ease-in
}
.links .this_page{opacity:.6}

.links a:hover{
    opacity: .7
}


#copyright {
    margin: 16px 0 0;
    padding: 0 0 19px;
    font-size: 10px;
    line-height: 1.5;
    color: #ccc
}

.shop-list{
    padding: 30px 0 60px;
    background:#eee
}
.shop-list li{width:32%}
.shop-list a{
    display: block;
    padding: 6px;
}


@media screen and (min-width: 1121px) {
    .wrapper {
        width:980px
    }

    .contents {
        width: 800px
    }
}
@media screen and (max-width: 1120px) {
    #mv{margin-left:1%;margin-right: 1%}
}
@media screen and (max-width: 1024px) {
    .contents {
        padding-left:24px;
        padding-right: 24px
    }
}


@media screen and (max-width: 600px) {
    .header{
        display:block;
        padding-bottom:30px;
    }
    #mv h1{width:27%}
    .main-contents .read{
        padding-left: 24px;
        padding-right: 24px;
    }
    .shop-list li{width:48%}
}

@media screen and (max-width: 480px) {
    .headline .br{display:inline;}
    #mv{margin-top: 30px}
    .main-contents .read{margin: 3em auto 5em}
}

@media screen and (max-width: 380px) {
    .main-contents h1{font-size:1.8em}

    .loud{font-size:1.3em;top: 14%;}
    .sub{width:120%;margin-left:-22%;padding-bottom:28px;padding-right:0}
    .details{width:55%;left: 45%;top: 0;}
    .details h3, .details p{padding-left:2rem}
    .details h3{font-size:1.1em}
    .arrow{bottom:-6%}

    .shop-list li{width:98%}
}

