
@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@1,100;1,400;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;500;600;700&display=swap');

/**
 * reset
 */
 html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
 a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp,
 small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li,
 fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
 article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup,
 menu, nav, output, ruby, section, summary, time, mark, audio, video, main {
     margin: 0;
     padding: 0;
     border: 0;
     outline: 0;
     font-size: 16px;
     line-height:1.8;
     font-weight: normal;
     font-style: normal;
     vertical-align: baseline;
     background: transparent;
 }

html {
    scroll-behavior: smooth;
}

body{
    margin: 0;
    color: #2e2d29;
    font-family: 'Noto Sans JP', sans-serif;
    position:relative;
    letter-spacing: 0.02em;
	overflow-x:hidden;
}

a{
    color:#00ac9c;
    text-decoration:none;
}

header{
    position:relative;
    width:100%;
    height:80vh;
    min-height:550px;
    margin: 0 auto;
    overflow-x: clip;
}

header > img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position: 60% 50%;
    position:absolute;
}


/*////////// トップ画像きらきら //////////*/

div.cover{
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    background: #5e5d38;
    mix-blend-mode: overlay;
    opacity:.7;
}

@keyframes move {
    100% {
        transform: translate3d(0, 0, 1px) rotate(360deg);
    }
}

.background {
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    background: #548371;
    overflow: hidden;
}

.background span {
    width: 20vmin;
    height: 20vmin;
    border-radius: 20vmin;
    backface-visibility: hidden;
    position: absolute;
    animation: move;
    animation-duration: 45;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}


.background span:nth-child(0) {
    color: #fffafb;
    top: 90%;
    left: 92%;
    animation-duration: 35s;
    animation-delay: -18s;
    transform-origin: 7vw 14vh;
    box-shadow: 40vmin 0 5.463011523773557vmin currentColor;
}
.background span:nth-child(1) {
    color: #fffafb;
    top: 20%;
    left: 65%;
    animation-duration: 12s;
    animation-delay: -22s;
    transform-origin: 21vw 20vh;
    box-shadow: -40vmin 0 5.2128790891832vmin currentColor;
}
.background span:nth-child(2) {
    color: #fffafb;
    top: 20%;
    left: 53%;
    animation-duration: 51s;
    animation-delay: -11s;
    transform-origin: 9vw -14vh;
    box-shadow: -40vmin 0 5.796163002602614vmin currentColor;
}
.background span:nth-child(3) {
    color: #b4efbb;
    top: 89%;
    left: 73%;
    animation-duration: 15s;
    animation-delay: -33s;
    transform-origin: 1vw 21vh;
    box-shadow: 40vmin 0 5.675550552677627vmin currentColor;
}
.background span:nth-child(4) {
    color: #8bc499;
    top: 33%;
    left: 65%;
    animation-duration: 28s;
    animation-delay: -34s;
    transform-origin: -2vw -10vh;
    box-shadow: -40vmin 0 5.859793768742265vmin currentColor;
}
.background span:nth-child(5) {
    color: #fffafb;
    top: 73%;
    left: 56%;
    animation-duration: 15s;
    animation-delay: -13s;
    transform-origin: -7vw 16vh;
    box-shadow: -40vmin 0 5.859950103515601vmin currentColor;
}
.background span:nth-child(6) {
    color: #b4efbb;
    top: 37%;
    left: 21%;
    animation-duration: 31s;
    animation-delay: -20s;
    transform-origin: 20vw 14vh;
    box-shadow: 40vmin 0 5.516957541461758vmin currentColor;
}
.background span:nth-child(7) {
    color: #a9d89d;
    top: 64%;
    left: 100%;
    animation-duration: 30s;
    animation-delay: -23s;
    transform-origin: 9vw 24vh;
    box-shadow: 40vmin 0 5.438177124826924vmin currentColor;
}
.background span:nth-child(8) {
    color: #adffe7;
    top: 89%;
    left: 2%;
    animation-duration: 45s;
    animation-delay: -13s;
    transform-origin: -8vw 23vh;
    box-shadow: 40vmin 0 5.969698353600435vmin currentColor;
}
.background span:nth-child(9) {
    color: #adffe7;
    top: 87%;
    left: 24%;
    animation-duration: 43s;
    animation-delay: -49s;
    transform-origin: -9vw 18vh;
    box-shadow: 40vmin 0 5.181629974483175vmin currentColor;
}
.background span:nth-child(10) {
    color: #fffafb;
    top: 48%;
    left: 76%;
    animation-duration: 48s;
    animation-delay: -5s;
    transform-origin: -6vw -3vh;
    box-shadow: 40vmin 0 5.417109889554036vmin currentColor;
}
.background span:nth-child(11) {
    color: #adffe7;
    top: 61%;
    left: 57%;
    animation-duration: 28s;
    animation-delay: -20s;
    transform-origin: -2vw 18vh;
    box-shadow: -40vmin 0 5.40441510131785vmin currentColor;
}
.background span:nth-child(12) {
    color: #fffafb;
    top: 16%;
    left: 100%;
    animation-duration: 54s;
    animation-delay: -49s;
    transform-origin: 4vw 10vh;
    box-shadow: -40vmin 0 5.582897027373635vmin currentColor;
}
.background span:nth-child(13) {
    color: #b4efbb;
    top: 30%;
    left: 34%;
    animation-duration: 46s;
    animation-delay: -21s;
    transform-origin: 7vw -2vh;
    box-shadow: -40vmin 0 5.549117463512816vmin currentColor;
}
.background span:nth-child(14) {
    color: #b4efbb;
    top: 56%;
    left: 68%;
    animation-duration: 48s;
    animation-delay: -19s;
    transform-origin: 22vw -11vh;
    box-shadow: -40vmin 0 5.269354931663352vmin currentColor;
}
.background span:nth-child(15) {
    color: #adffe7;
    top: 91%;
    left: 6%;
    animation-duration: 21s;
    animation-delay: -43s;
    transform-origin: -11vw -11vh;
    box-shadow: 40vmin 0 5.780461044207366vmin currentColor;
}
.background span:nth-child(16) {
    color: #fffafb;
    top: 71%;
    left: 65%;
    animation-duration: 7s;
    animation-delay: -19s;
    transform-origin: -19vw -17vh;
    box-shadow: -40vmin 0 5.06039466850136vmin currentColor;
}
.background span:nth-child(17) {
    color: #c8f476;
    top: 22%;
    left: 36%;
    animation-duration: 10s;
    animation-delay: -32s;
    transform-origin: -8vw -10vh;
    box-shadow: -40vmin 0 5.3069210434053655vmin currentColor;
}
.background span:nth-child(18) {
    color: #fffafb;
    top: 85%;
    left: 62%;
    animation-duration: 38s;
    animation-delay: -21s;
    transform-origin: -14vw 0vh;
    box-shadow: 40vmin 0 5.053407580493634vmin currentColor;
}
.background span:nth-child(19) {
    color: #a2c993;
    top: 50%;
    left: 26%;
    animation-duration: 29s;
    animation-delay: -32s;
    transform-origin: 15vw -24vh;
    box-shadow: 40vmin 0 5.540456206562853vmin currentColor;
}






div.logo{
    position:absolute;
    top:3vh;
    width:auto;
    text-align:right;
    right:30px;
}

div.logo img{
    width:200px;
    filter: drop-shadow(5px 5px 10px #44722d);
}

div.head{
    position: absolute;
    top: 13vh;
    left:15%;
    width: 700px;
    max-width:80%;
    z-index: 20;
    margin: 0 auto;
    /* text-align:center; */
}

h1{
    font-family: 'Dancing Script', serif, cursive;
    font-size:60px;
    line-height:1;
    color:white;
    text-shadow: 0 0 10px #1a480f;
}

h1 img{
    max-width:100%;
    max-height: 40vh;
    filter: drop-shadow(5px 5px 10px #44722d);
    margin-left:-5px;
}

h1 span{
    display:block;
    font-family: 'Noto Sans JP';
    padding:10px 0;
}

div.button-box {
    margin: 20px 0;
    width: 222px;
    /* display: flex;
    justify-content: center; */
    overflow:hidden;
    position:relative;
    /*box-shadow: 0 2px 5px #54645b;*/
}

div.button-box:after {
    content: '';
    position: absolute;
    top: -10%;
    left: -20%;
    width: 40px;
    height: 100%;
    transform: scale(2) rotate(20deg);
    background-image: linear-gradient(100deg, rgba(0, 172, 156, 0) 10%, rgb(255, 255, 255, 0.5) 100%, rgba(0, 172, 156, 0) 0%);
    animation-name: shiny;
    animation-duration: 5s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

#instagram div.button-box {
    margin: 20px auto;
}

div.button-box p{
    padding:0;
}

div.head p.sub-copy{
    font-size:20px;
    line-height:1.8;
    padding: 0 0 20px 0;
    text-shadow: 0 0 10px #1a480f;
    margin-top: 50px;
    color:white;
}

.button{
    /*ボタンの形状*/
    width:auto;
    display: inline-block;
    color:#fff;
    padding: 10px 65px 12px 45px;
    text-decoration: none;
    outline: none;
    /*背景の色と形状*/
    background: #00ac9c;
    /*アニメーションの指定*/
    transition: all 0.3s ease-out;
    font-weight:600;
    letter-spacing: 0.05em;
    position:relative;
}

.button:after{
    position: absolute;
    top: 17px;
    right: 20px;
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    content: "\f105";
    /* content: "\f03d"; */
}

@keyframes shiny {
    0% { left: -20%; }
    10% { left: 120%; }
    100% { left: 120%; }
}

/*hoverした際の、背景の場所とテキスト色の変更*/

a.button:hover {
    background:#097666;
}

a.button i{
    padding-right:10px;
}

div.text a.button:hover{
    text-decoration: none;
}

a.white_b{
    background:white;
    color:#00ac9c;
}

a.white_b:hover{
    background:#097666;
    color:#fff;
}

p.top-left{
    position:absolute;
    top:40vh;
    left:-20%;
    width:40%;
    transform: rotate3d(0, 1, 0, 180deg);
}

p.top-right{
    position:absolute;
    top:50vh;
    right:-10%;
    width:55%;
    transform: rotate3d(0, 0, 1, -20deg);
    z-index: 10;
}

p.merit-left{
    position:absolute;
    bottom:-20vh;
    width:35%;
    transform: rotate3d(0, 1, 0, 180deg);
    z-index: 10;
}

p.about-right{
    position:absolute;
    top:50vh;
    right:-5%;
    width:65%;
    transform: rotate3d(0, 0, 1, -20deg);
    z-index:1;
}

p.how-left{
    position:absolute;
    bottom:5vh;
    left:-15%;
    width:50%;
    transform: rotate3d(0, 0, 1, 90deg);
    z-index: -1;
}

p.how-right{
    position:absolute;
    top:35vh;
    right:-20%;
    width:50%;
    transform: rotate3d(0, 0, 1, -50deg);
    z-index: -1;
}

p.brand-right{
    position: absolute;
    top: -20vh;
    right: -15%;
    width: 50%;
    transform: rotate3d(0, 0, 1, 10deg);
}

p.future-left{
    position: absolute;
    top: -10vh;
    left: -5%;
    width: 35%;
    transform: rotate3d(0, 0, 1, 230deg);
    z-index: 10;
}

p.future-right{
    position: absolute;
    bottom: 0vh;
    right: -5%;
    width: 35%;
    transform: rotate3d(0, 0, 1, 50deg);
    z-index: 10;
}

p.instagram-top{
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 40%;
    transform: rotate3d(0, 0, 1, -30deg);
    margin: 0 auto;
    z-index:-1;
}

p.future-right img,
p.future-left img,
p.brand-right img,
p.how-right img,
p.how-left img,
p.about-right img,
p.merit-left img,
p.top-right img,
p.top-left img {
    width:100%;
}

section{
    width:100%;
    padding:10vh 0;
    float:none;
    clear:both;
}

div.content{
    width:1200px;
    max-width:90%;
    margin: 0 auto;
}

h2 {
    font-size:40px;
    width:100%;
    margin-bottom:20px;
    line-height:1.2;
    letter-spacing: 0.02em;
}

#merit{
    background:#FFFAE8;
    position:relative;
}

#merit div.content{
    width:85%;
    display:flex;
    justify-content: space-between;
    position:relative;
    margin-top:-15vh;
}

div.box{
    width:calc(100%/3 - 60px);
    float:left;
    position:relative;
    padding:30px;
    margin:0 15px;
    height: 580px;
    box-shadow: 0 5px 10px #dfdacc;
}

div.first{
    background:white;
}

div.second{
    background:#dbd5c3;
    margin-top:12vh;
}

div.third{
    background:#c0dbb5;
    margin-top:24vh;
}

div.box img{
    width:100%;
    height:450px;
    object-fit:cover;
    margin-bottom:20px;
}

div.box h2{
    position:absolute;
    bottom:-50px;
    left:-30px;
    font-family: 'Dancing Script', serif, cursive;
    font-size: 70px;
}

#about{
    background:#FFFEF9;
    position:relative;
    min-height:500px;
}

#about > img{
    width:50%;
    height:70vh;
    object-fit:cover;
}

#about div.content {
    width:40%;
    float:right;
    z-index:5;
    padding-right:5%;
    position:absolute;
    top:0;
    right:0;
    padding-top:10vh;
}

#point{
    background:#c5e3e0;
    height:650px;
    position:relative;
    overflow:hidden;
}

#point video{
    position:absolute;
    right:0;
    width:45%;
    height:90vh;
    object-fit:cover;
    object-position:48% 50%;
    float:right;
    margin-top:-10vh;
}

#point div.content{
    width:45%;
    padding-left:10%;
    float:left;
    display:flex;
    justify-content: space-between;
    flex-wrap:wrap;
}

div.point{
    width:calc(50% - 110px);
    padding:20px 30px;
    float:left;
    position:relative;
    margin: 80px 50px 0 0;
}

div.point > img{
    position:absolute;
    top:-30px;
    left:-30px;
    height:60px;
}

div.point h3{
    font-size:32px;
    line-height: 1.5;
    margin-bottom: 15px;
}

div.point h3,
div.point p{
    width:100%;
}

#howto {
    position:relative;
    text-align:center;
}

#howto h2 span{
    color: #00ac9c;
    line-height:2;
}

div.comparison{
    width:100%;
    display:flex;
    justify-content: space-between;
    margin-top:60px;
}

div.before{
    width:calc(57.5% - 100px);
    padding:50px;
    float:left;
    text-align:center;
    background:#FFFAE8;
}

div.after{
    width:calc(37.5% - 100px);
    padding:50px;
    float:right;
    text-align:center;
    background:#FFFAE8;
}

div.before img,
div.after img{
    max-width:100%;
    margin:0 auto;
    mix-blend-mode: multiply;
}


div.before h3,
div.after h3{
    max-width:100%;
    font-size:24px;
    margin:20px auto 10px auto;
}

div.before p,
div.after p{
    max-width:100%;
}

.note{
    font-size: 14px;
    opacity: .8;
    line-height: 1.5;
    font-weight: 300;
    padding-top:10px;
}

img.wg-yarn {
    padding:60px 0 20px;
    width:600px;
    max-width:100%;
}



#advantage {
    position:relative;
    height:auto;
    overflow:hidden;
}

#advantage div.content{
    width:85%;
}

#advantage > img{
    position:absolute;
    width:100%;
    height:100%;
    object-fit:cover;
}

#advantage h2{
    position:absolute;
    top:40px;
    text-align:center;
    font-family: 'Dancing Script', serif, cursive;
    font-size: 70px;
}

div.advatage-box{
    display:flex;
    justify-content: space-between;
    position:relative;
    margin-top:100px;
}
div.advantage{
    width:calc(90%/3 - 60px);
    float:left;
    position:relative;
    padding:60px 30px;
    background:white;
    text-align:center;
    box-shadow: 0 5px 10px #c9c1b1;
    z-index:20;
}

div.advantage::before{
    content:"";
    position:absolute;
    top:-80px;
    left:-80px;
    width:120px;
    height:120px;
    border-bottom:5px solid #00ac9c;
    transform: rotate(-45deg);
}

div.advantage img{
    height:60px;
    max-width:100%;
    margin-bottom:15px;
}

div.advantage h3{
    font-size:32px;
    line-height: 1.5;
    margin-bottom: 15px;
}

div.advantage p{
    text-align:left;
}

#problem {
    height:auto;
    position:relative;
    overflow: hidden;
}

#problem div.content{
    width:600px;
}

#problem .slide{
    height:60vh;
    position:static;
    margin-top:10vh;
}

#revolution{
    position:relative;
}

#revolution > img{
    width:50%;
    height:70vh;
    object-fit:cover;
}

#revolution div.content {
    width:40%;
    float:right;
    z-index:5;
    padding-right:5%;
}

div.revolution-box {
    width:100%;
    display:flex;
    justify-content: space-between;
    flex-wrap:wrap;
    margin-top:60px;
}

div.revolution{
    width:calc(50% - 60px);
    height:150px;
    padding:30px;
    text-align:center;
    float:left;
}

div.revolution img {
    height:50px;
    padding-bottom:20px;
}

div.color01,
div.color02{
    position:relative;
}

div.color01::before{
    content:"";
    position:absolute;
    top:50px;
    left:50%;
    width:40px;
    height:40px;
    background:#00ac9c;
    opacity:.2;
}

div.color02::before{
    content:"";
    position:absolute;
    top:50px;
    left:50%;
    width:40px;
    height:40px;
    background:#50b725;
    opacity:.2;
}

#brand{
    position:relative;
    text-align:center;
}

img.brand-right{
    position:absolute;
    top:-15vh;
    right:-20vw;
    transform: rotate(-90deg);
}

div.brand-box{
    display:flex;
    justify-content: center;
    flex-wrap:wrap;
    margin-top: 60px;
}

div.brand-box img{
    width:calc(100%/6 - 40px);
    padding:10px 20px;
    float:left;
}

#followme {
    position:relative;
    height:auto;
}

#followme > img {
    position:absolute;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:35% 70%;
    margin-top:-10vh;
    z-index:-1;
}

#followme div.content {
    width:500px;
    max-width:40%;
    z-index:5;
    margin-left:55%;
}

#followme h2 {
    font-family: 'Dancing Script', serif, cursive;
    font-size:70px;
}

#followme div.button-box{
    justify-content:left;
    margin:20px 0;
}

#followme div.content img {
    width:100%;
    margin-top: 20px;
    background:white;
}

#followme div.content img:hover {
    opacity:.8;
}

#feedback {
    background:#c5e3e0;
    text-align:center;
}

div.feedback-box{
    display:flex;
    justify-content: space-between;
    flex-wrap:wrap;
    margin-top:40px;
}

div.feedback{
    width: calc(48% - 60px);
    padding: 60px 30px;
    float: left;
    background: #fff;
    margin: 30px 0;
    position:relative;
    box-shadow: 0 5px 10px #b1cfca;
}

div.feedback:after{
    content:"";
    position:absolute;
    top:-80px;
    left:-80px;
    width:120px;
    height:120px;
    border-bottom:5px solid #00ac9c;
    transform: rotate(-45deg);
}

div.feedback p.age{
    font-weight:500;
    font-size:120%;
    line-height:1.8;
    margin-top:10px;
}

#future {
    position:relative;
    text-align:center;
}

#future img.child{
    width:600px;
    max-width:100%;
}

#future h2{
    color:#00ac9c;
    font-family: 'Dancing Script', serif, cursive;
    font-size:60px;
    line-height:1;
    padding:80px 0 30px 0;
    width:600px;
    max-width:100%;
    margin:0 auto;
}

#future p.copy{
    padding:10px 0;
}

#tag {
    position:relative;
    height:35vh;
}

#tag > img {
    position: absolute;
    width: 110%;
    height: 55vh;
    object-fit: cover;
    object-position: 40% 85%;
    margin-top: -10vh;
    z-index: -1;
    margin-left:-10%;
}

#tag div.content {
    width:30%;
    float:right;
    z-index:5;
    padding:60px 10% 60px 5%;
    background:#FFFAE8;
}

#instagram {
    position:relative;
    text-align:center;
}

#instagram h2{
    font-size:70px;
    font-family: 'Dancing Script', serif, cursive;
    padding-top:150px;
}

#business {
    display:flex;
    justify-content: center;
    height:10vh;
    position:relative;
    overflow: hidden;
}

#business div.content{
    width:auto;
}

#business div.button-box {
    width:auto;
}

/*////////// スライドショー //////////*/
.slide {
    position:absolute;
    width:100%;
    height:40vh;
    margin-top:-10vh;
    object-fit:cover;
    z-index:-1;
    overflow:hidden;
}

.slide img {
    display:block;
    position:absolute;
    width:inherit;
    height:inherit;
    object-fit:cover;
    opacity:0;
    animation:slideAnime 6s ease infinite;
}

.slide img:nth-of-type(1) { animation-delay: 0s }
.slide img:nth-of-type(2) { animation-delay: 3s }
   
@keyframes slideAnime{
    0% { opacity: 0 }
    5% { opacity: 1 }
    50% { opacity: 1 }
    65% { opacity: 0 }
    100% { opacity: 0 }
}


/*////////// ビデオ埋め込み //////////*/


div.video-box{
    width:100%;
    max-width:1200px;
    margin:0 auto 80px auto;
    float:left;
  }
  
  div.iframeWrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin: 0 auto;
  }
  
  div.iframeWrap video {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
  }


/*=== 丸が動いてスクロールを促す ====*/

#scroll {
    position:fixed;
    bottom:0;
    width:100%;
    z-index:888;
}

/*スクロールダウン全体の場所*/
.scrolldown2{
    /*描画位置※位置は適宜調整してください*/
  position:absolute;
  bottom:10px;
  left:50%;
}

/*Scrollテキストの描写*/
.scrolldown2 span{
    /*描画位置*/
  position: absolute;
  left:10px;
  bottom:10px;
    /*テキストの形状*/
  color: #00ac9c;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  /*縦書き設定*/
  -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 丸の描写 */
.scrolldown2:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom:0;
    left:-4px;
    /*丸の形状*/
  width:10px;
  height:10px;
  border-radius: 50%;
  background:#00ac9c;
    /*丸の動き1.6秒かけて透過し、永遠にループ*/
  animation:
    circlemove 1.6s ease-in-out infinite,
    cirlemovehide 1.6s ease-out infinite;
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
      0%{bottom:45px;}
     100%{bottom:-5px;}
 }

/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
  100%{opacity:0;}
 }

/* 線の描写 */
.scrolldown2:after{
  content:"";
    /*描画位置*/
  position: absolute;
  bottom:0;
  left:0;
    /*線の形状*/
  width:2px;
  height: 50px;
  background:#00ac9c;
}

.is-hidden {
    visibility: hidden;
    opacity: 0;
}



footer {
    width:100%;
    background-position: 1% 50%;
    background-size: 100% auto;
    color:white;
}

footer  > div{
	display:flex;
	justify-content:space-between;
	max-width:90%;
	margin:0 auto 100px auto;
}

footer ul {
	width:100%;
}

footer ul li {
	list-style:none;
	padding:5px;
    text-align:center;
    color: #c9caca;
}

footer ul li a {
	color:#c9caca;
    margin-right: 5px;
}

footer ul li a i{
    margin-left:5px;
}

footer ul li a:hover {
    text-decoration:underline;
}

footer div.area_l{
    background:#2e2d29;
    width:100%;
    max-width:100%;
    padding:20px 0;
    margin:0 auto;
}

footer div.area_l div{
    width:100%;
}

div.area_l ul{
    width:auto;
}

div.area_l ul li{
    float:left;
    margin-right:20px;
}

div.area_l ul li a{
    font-size:12px;
    color:white;
}

footer small address {
	opacity:.6;
	font-size:12px;
    text-align:center;
    float:right;
    padding-top: 8px;
    color: white;
}





/* Loading設定　*/

#splash {
    /*fixedで全面に固定*/
	position: fixed;
	z-index: 999;
	width: 100%;
	height: 100%;
	background:#00ac9c;
	text-align:center;
	color:#fff;
}

/* Loadingバー中央配置　*/
#splash_text {
	position: absolute;
	top: 50%;
	left: 50%;
    z-index: 999;
	width: 100%;
	transform: translate(-50%, -50%);
	color: #fff;
}


/*TOPへ戻るボタンの領域*/
.top {
	position:fixed; /*画面に固定*/
	bottom:55px; /*画面下へ*/
	right:30px; /*画面右へ*/
	z-index:777; /*レイヤー順序を上に*/
	background-color:transparent; /*領域の背景色（透明）*/
}
/*TOPへ戻るボタンベース*/
.re-top {
	position:relative;
	display:block; 
	background-color:#fff; /*丸ボタンの色*/
	color:#00ac9c; /*三角と文字色*/
	text-decoration:none;
	font-weight:bold;
	font-size:12px;
	width:60px;
	height:60px;
	text-align:center;
	line-height:24px;
	border-radius:50%;
	padding-top:30px;
	box-sizing:border-box;
}

/*三角部分*/
.re-top:before {
	content:'\25B2';
	position:absolute;
	top:10px;
	left:0;
	width:100%;
	text-align:center;
	font-size:20px;
}

.re-top:hover{
    background:#00ac9c;
    color:white;
}

.sp{
    display:none;
}


.background {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    z-index: 0;
  }


@media only screen and (max-width: 1300px) {

  div.before,
    div.after {
    width: calc(47.5% - 100px);
  }

}


@media only screen and (max-width: 1300px) {
    
    div.head{
        left:5%;
        text-align: left;
        top: 13vh;
    }

    div.head div.button-box {
        justify-content: left;
        margin:20px 0;
    }

    p.top-left{
        display:none;
    }

    h2 {
        font-size: 32px;
    }

    div.box{
        width: calc(100%/3 - 40px);
        height: 480px;
        font-size:14px;
        padding:20px 20px 60px 20px;
    }

    div.box img {
        height: 300px;
    }

    div.second,
    div.third{
        margin-top:0;
    }

    div.box h2{
        font-size:50px;
        left:-20px;
    }

    p.about-right {
        top:60vh;
        width:70%;
    }

    #point{
        height:700px;
    }

    #point video {
        height:105vh;
    }

    div.point h3{
        font-size:28px
    }

    div.revolution-box {
        margin-top:40px;
    }

    div.revolution p {
        font-size: 14px;
    }

    div.revolution p br {
        display:none;
    }

    #tag div.content {
        width: 45%;
        padding:60px 5%;
    }

    #instagram h2 {
        padding-top:10vh;
    }

    p.instagram-top {
        width:50%;
    }


}

@media only screen and (max-width: 960px) {

    

    #point div.content{
        width: 100%;
    }

    #point video {
        width: 100%;
        padding-left:0;
        margin:-10vh auto 0 auto;
        opacity: .7;
        mix-blend-mode: color-burn;
        height:900px;
    }

    div.point {
        width: calc(45% - 60px);
        margin: 80px 20px 0 0;
    }

    #merit div.content {
        width:95%;
        max-width: 100%;
    }

    div.advantage p {
        font-size: 14px;
    }
}


@media only screen and (max-width: 750px) {

    a,p {
        font-size: 14px;
    }

    div.logo {
        right: 20px;
    }

    div.logo img {
        width: 150px;
    }
    
    div.head{
        width:500px;
        max-width:90%;
        top:15vh;
    }

    header > img {
        height: 115vh;
        object-position: 70% 50%;
    }

    h1{
        font-size:40px;
    }

    div.head p.sub-copy{
        font-size:14px;
        margin-top:100px;
        padding-bottom: 80px;
    }

    div.button-box {
        width:211px;
    }

    section{
        height:auto;
        padding:5vh 0;
    }

    #merit div.content{
        display:contents;
        width:100%;
    }

    div.box {
        width: calc(95% - 40px);
        height: 200px;
        padding: 20px;
        margin: 0 auto 20px auto;
        float: none;
        clear: both;
    }

    div.box img {
        width: 40%;
        height: 200px;
        float: left;
        margin:0;
    }

    div.box p{
        width:55%;
        float:right;
    }

    div.content h2{
        position: static;
        text-align: center;
        width: 100%;
        float: none;
        line-height: 1.2;
        font-size: 28px;
    }

    #merit div.content h2{
        text-align: left;
        width: 45%;
        float: left;
        padding-left: 5%;
        font-size:40px;
    }

    #about {
        text-align:center;
    }

    #about > img {
        width: 90%;
        height: 250px;
    }

    #about div.content {
        width: 100%;
        float: none;
        padding-right: 0;
        margin-top:30px;
        position: static;
        padding-top: 0;
    }

    #point{
        height:730px;
    }

    div.video-box {
        margin: 0 auto 30px auto;
    }

    div.point > img {
        top: 0;
        left: -10px;
        height: 30px;
    }

    div.point h3 {
        font-size: 20px;
        font-weight: 500;
    }

    div.comparison{
        display:block;
    }

    div.before,
    div.after {
        width: calc(100% - 100px);
        margin-bottom:20px;
    }

    div.before p, div.after p {
        text-align:center;
    }

    #advantage{
        padding: 10vh 0 5vh 0;
    }

    div.advantage::before {
        top: -50px;
        left: -50px;
        width: 80px;
        height: 80px;
    }

    div.advatage-box{
        display:block;
    }

    div.advantage {
        width: calc(100% - 60px);
        margin-bottom:60px;
        padding:30px;
    }

    #advantage h2{
        top:55px;
        font-size:50px;
    }

    div.advantage h3 {
        font-size:24px;
    }
    
    #problem .slide{
        height:40vh;
        margin-top:5vh;
    }

    #revolution {
        text-align:center;
    }

    #revolution > img {
        width: 90%;
        height: 250px;
    }

    #revolution div.content {
        width: 100%;
        float: none;
        padding-right: 0;
        margin-top: 30px;
    }

    div.revolution {
        padding: 20px 30px;
    }

    div.brand-box {
        margin-bottom:5vh;
    }

    div.brand-box img {
        width: calc(100%/4 - 40px);
    }

    #followme {
        text-align:center;
        height: auto;
    }

    #followme > img {
        position:static;
        width:90%;
        height:250px;
    }

    #followme div.content {
        width: 90%;
        max-width: 90%;
        margin: 30px auto 0 auto;
    }

    #followme h2 {
        font-size:50px;
    }

    #followme div.button-box {
        justify-content: center;
        margin:20px auto;
    }

    div.feedback:after {
        top: -50px;
        left: -50px;
        width: 80px;
        height: 80px;
    }

    #tag {
        height:auto;
        text-align:center;
    }

    #tag > img {
        position:static;
        margin:-5vh 0 0 0;
        width:90%;
        height:250px;
    }

    #tag div.content {
        width: calc(90% - 60px);
        padding: 30px;
        margin: 0 auto;
        float: none;
    }

    p.instagram-top {
        width:50%;
    }

    #instagram h2 {
        padding-top:30px;
        font-size:50px;
    }

    footer div.area_l{
        display:block;
        height:auto;
        padding: 20px 0 50px 0;
    }

    footer ul li{
        text-align:center;
    }

    footer ul li{
        padding:0;
        margin: 0 0 10px 0;
    }
    
    footer ul{
        width:100%;
        clear:both;
        float:none;
        padding: 0;
    }


    /* スライドイン非表示 */

    div.cover,
    p.future-left,
    p.future-right,
    p.brand-right,
    p.how-left,
    p.how-right,
    p.merit-left,
    p.about-right,
    p.top-right{
        display:none;
    }


}


@media only screen and (max-width: 640px) {

    .pc{
        display:none;
    }

    .sp{
        display:block;
    }

}

@media only screen and (max-width: 600px) { 

    .top{
        bottom:25px;
    }
    
    footer ul li a {
    font-size:14px;
    line-height:1.8;
    }

    div.area_l ul li{
        width:100%;
        margin:0;
    }

    footer small address{
        float:none;
        padding-top: 50px;
        clear: both;
    }

}


@media only screen and (max-width: 500px) {

    

    div.head {
        top: 15vh;
    }

    h1 span {
        font-size:10px;
    }

    div.head div.button-box {
        margin:20px auto;
    }

    br {
        display:none;
    }

    header br {
        display:block;
    }

    #howto h2 br {
        display:block;
    }

    p{
        text-align:left;
        padding-bottom:10px;
    }

    #future p.copy{
        text-align:center;
    }

    div.point {
        width: calc(100% - 60px);
        margin: 10px 20px 0 0;
    }

    div.brand-box img {
        width: calc(100%/3 - 40px);
    }

    div.feedback {
        width: calc(100% - 60px);
        padding:40px 30px 20px 30px;
        margin:20px 0;
    }

    div.feedback p.age {
        text-align:right;
    }

    #business .button{
        padding: 10px 45px 12px 25px;
    }

    footer > div{
        margin: 0 auto 5vh auto;
    }

}


@media only screen and (max-width: 400px) {

    
    header > img {
        height: 130vh;
    }

    div.head p.sub-copy {
        font-size: 12px;
    }

    #advantage h2 {
        top: 45px;
    }

    #point{
        height:700px;
    }

    #point video{
        height:855px;
    }

}

