@charset "utf-8";
:root {
    --base: 3.5vw;
    --title: 4.3vw;
    --shoulder: 2.5vw;
    --date: 3.3vw;
    --caption: 2.9vw;
    --wrap: 100%;
}
@font-face { font-family: YuGothicM; src: local("Yu Gothic Medium"); }
@font-face {
    font-family: 'Gotham Narrow Book';
    font-style: normal;
    font-weight: normal;
    src: local('Gotham Narrow Book'), url('../fonts/GothamNarrow-Book.woff') format('woff');
}
.pconly { display: none; }
.sponly { display: block; }
.sponly-inline { display: inline; }
a { text-decoration: none; }

.altimg { height: 0; line-height: 1.2; overflow: hidden; }
.lazy {
    opacity: 0.0;
    transition: all 800ms 0ms ease-out;
}

.lazyEnd {
    opacity: 1.0;
}

#suntory_contents {
    position: relative;
    width: 100vw;
    box-sizing: border-box;
    font-family:"Sawarabi Gothic", -apple-system,BlinkMacSystemFont,"Helvetica Neue","游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
    font-size: var(--base);
}
.en { 
    font-family:"Gotham Narrow Book",-apple-system,BlinkMacSystemFont,"Helvetica Neue","游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
 }

.lead-separator {
    width: 21vw;
    height: 0.3vw;
    margin: 0 auto;
    background-color: #b4b4b4;
    border: none;
}

.nav-content {
    position: relative;
    width: 100vw;
    height: calc(100vh - 49px);
}
.nav-menu {
    -webkit-transition: all .3s ease 0s;
    transition: all .3s ease 0s;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 50;
    width: 100vw;
    height: 11.7vw;
   background-color: rgba(0,104,98,0.3);
}
    .nav-menu.is-fixed {
        position: fixed;
        -webkit-transition: all .3s ease 0s;
        transition: all .3s ease 0s;
        background-color: rgba(114,168,192,0.8);
        /* background-color: #8eb4c5; */
            
    }

.nav-menu h1 {
    margin: 1.5vw 0 0 5.2vw;
    width: 13.7vw;
    height: 8.7vw;
    overflow: hidden;
}
.nav-menu h1 a {
    display: block;
    width: 13.7vw;
    padding-top: 8.7vw;
    background: url(../images/logo-w.svg) no-repeat 0 0;
    background-size: 13.7vw;
}
.nav-menu li {
    display: block;
    float: left;
    margin-right: 5vw;
}
.nav-menu li:not(:first-child) {
    padding-top: 4.5vw;
}

.nav-menu li:not(:first-child) a {
    display: block;
    padding-top: 2.6vw;
}
.nav-about {
    width: 11.7vw;
    background: url(../images/nav-about.svg) no-repeat 0 0;
    background-size: 11.7vw;
}
.nav-interview {
    width: 18.7vw;
    background: url(../images/nav-interview.svg) no-repeat 0 0;
    background-size: 18.7vw;
}
.nav-project {
    width: 15vw;
    background: url(../images/nav-project.svg) no-repeat 0 0;
    background-size: 15vw;
}


.nav-whatsnew {
    -webkit-transition: bottom .6s ease 0s;
    transition: bottom .6s ease 0s;
    position: fixed;
    z-index: 30;
    bottom: 0;
    left: 0;
    width: 100vw;
    height: 11.7vw;
    padding: 1.3vw 6.5vw;
    background-color: rgba(0,104,98,0.3);
}
    .nav-whatsnew.is-fixed {
        -webkit-transition: bottom .6s ease 0s;
        transition: bottom .6s ease 0s;
        bottom: -15vw;
    }
.nav-whatsnew h2 {
    color: #c8ea0e;
    font-size: 3.6vw;
}
.nav-whatsnew p {
    margin: 1.3vw 0 0;
}

.nav-whatsnew a {
    color: #fff;
    font-size: var(--date);
    letter-spacing: -0.1vw;
}

.scroll {
    transition: all 2s 2.3s ease-out;
    display: block;
    position: absolute;
    box-sizing: border-box;
    top: 95vw;
    right: 6.5vw;
    width: 16.4vw;
    height: 16.4vw;
    padding-top: 5vw;
    color: #fff; 
    font-size: var(--date);
    text-align: center;
    border-radius: 8.2vw;
    background: rgba(0,104,98,0.3) url(../images/scroll-arrow.png) no-repeat 50% 75%;
    background-size: 5.2vw;
    animation: bounce 4s ease infinite normal 0s none running;
    opacity: 0;
}
.scroll.end {
    opacity: 1;
}
.scroll.hidden {
    transition: all 1s 0s ease-out;
    opacity: 0;
}
@keyframes bounce {
    0%, 25%, 5%, 12.5%, 20%, 100% {
        transform: translateY(0px);
    }
    10% {
        transform: translateY(-10px);
    }
    15% {
        transform: translateY(-5px);
    }
}

.background {
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
}
.background.is-fixed {
    position: fixed;
}
.background .img {
    -webkit-transition: opacity 1s ease 0s;
    transition: opacity 1s ease 0s;
     position: absolute;
     top: 0;
     left: 0;
     width: 100vw;
     height: 100vh;
     opacity: 0;
 }


.img.hero { background: url(../images/sp-hero.jpg) no-repeat 50% 50%; background-size: cover; z-index: 3; }
.img.about-01 { background: url(../images/sp-about-01.jpg) no-repeat 50% 50%; background-size: cover; z-index: 2; }
.img.about-02 { background: url(../images/sp-about-02.jpg) no-repeat 50% 50%; background-size: cover; z-index: 2; }
.img.about-03 { background: url(../images/sp-about-03.jpg) no-repeat 50% 50%; background-size: cover; z-index: 2; }
.img.about-04 { background: url(../images/sp-about-04.jpg) no-repeat 50% 50%; background-size: cover; z-index: 2; }
.img.about-04 { background: url(../images/sp-about-04.jpg) no-repeat 50% 50%; background-size: cover; z-index: 2; }
.img.project-01 { background: url(../images/sp-projects.jpg) no-repeat top center; background-size: 100vw; z-index: 1; }

.background .img.is-visible {
    -webkit-transition: opacity 1s ease 0s;
    transition: opacity 1s ease 0s;
    opacity: 1;
}
.background .img.project-01.is-visible {
    -webkit-transition: opacity 100ms ease 0s;
    transition: opacity 100ms ease 0s;
    opacity: 1;
}    

.body {
    box-sizing: border-box;
    width: 100vw;
}

.body.about-01, .body.about-02, .body.about-03, .body.about-04 {
    width: 100vw;
    padding: 16.9vw 7.2vw 20.8vw 7.2vw;
    line-height: 1.93;
    -webkit-transition: color 500ms ease 0s;
    transition: color 500ms ease 0s;
    color: #000;
}
.body.white {
    -webkit-transition: color 500ms ease 0s;
    transition: color 500ms ease 0s;
    color: #fff;
}


.body,.interview>div,.projects>div {
    position: relative;
    z-index: 20;
    width: var(--wrap);
    margin: 0 auto;
}
.projects, .interview, .links {
    position: relative;
    z-index: 22;
    width: 100%;
}   

.body.hero {
    position: absolute;
    top: 0;
    left: 0;
    height: calc(100vh - 49px);
}
.body.hero .title {
    transition: all 2s .3s ease-out;
    position: absolute;
    top: 34vw;
    left: 50%;
    width: 38.4vw;
    padding-top: 24.1vw;
    background: url(../images/logo.svg) no-repeat 50% 50%;
    background-size: 38.4vw;
    margin-left:-19.2vw;
    opacity: 0;
}
.body.hero .title.end {
    opacity: 1;
}

.body.hero .brands {
    transition: all 2s 1.3s ease-out;
    position: absolute;
    top: 68vw;
    left: 50vw;
    width: 79vw;
    margin: 0 auto;
    padding-top: 10.5vw;
    background: url(../images/brandmix.svg) no-repeat 0 0;
    background-size: 79vw;
    transform: translateX(-39.5vw);
    opacity: 0;
}
.body.hero .brands.end {
    opacity: 1;
}

/******************************************************
    Interview
 ******************************************************/
.interview { 
    width: 100vw;
    min-height: 100vh;
    box-sizing: border-box;
    padding: 12.2vw 7.2vw;
    background: url(../images/sp-movie.jpg) no-repeat 50% 50%;
    background-size: cover; 

}

.interview .category {
    width: 17.3vw;
    padding-top: 3.5vw;
    background: url(../images/title-interview.svg) no-repeat 0 0;
    background-size: 17.3vw;
}

.interview .title {
    margin: 10vw auto 8vw;
    font-size: var(--title);
    color: #6c6c6c;
    line-height: 1.58;
    text-align: center;
}

.movie {
    position: relative;
    width: 83vw;
    height: 46.8vw;
    overflow: hidden;
    margin: 0 0 7.8vw;
}
.movie .posterframe, .movie .btn-play,.movie .youtube {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.movie .posterframe {
    background: url(../images/posterframe.jpg) no-repeat 0 0;
    background-size: 100%;
}
.movie .btn-play {
    background: url(../images/btn-play.png) no-repeat 50% 50%;
    background-size: 14vw;
}
.movie .posterframe, .movie .btn-play {
    display: none;
}

.movie .youtube {
    display: block;
}
.movie .youtube.play {
    display: block;
}

.interview .interviewed {
    position: relative;
    display: block;
    color: #fff;
    width: 100%;
    height: 16.9vw;
    margin-bottom: 3.9vw;
}

.interviewed.suntory {
    margin-left: 0;
    background: url(../images/thumb-okinaka.jpg) no-repeat bottom left;
    background-size: 16.9vw;
}
.interviewed.snowpeak {
    background: url(../images/thumb-yamai.jpg) no-repeat bottom left;
    background-size: 16.9vw;
}

.interviewed .shoulder {
    position: absolute;
    left: 19vw;
    bottom: 5.7vw;
    font-size: var(--shoulder);
    line-height: 1.59;
}
.interviewed .name {
    position: absolute;
    left: 19vw;
    bottom: 0;

}
.linkto {
    display: inline-block;
    width: 82vw;
    margin: 0 auto;
    padding-right: 2vw;
    background: url(../images/bullet.png) no-repeat right center;
    background-size: 1.7vw;
    color: #fff;
    font-size: var(--date);
    line-height: 1.1;
    text-decoration: none;
    text-align: right;
}
/******************************************************
    Project
 ******************************************************/

.projects {
    
    position: relative;
    z-index: 20;
    width: 100vw;
    padding: 65vw 0 2.3vw;
    box-sizing: border-box;
    line-height: 1.85;
    color: #6c6c6c;
    background: transparent url(../images/sp-project-mask.png) repeat-x 0 0;
    background-size: 50px 4000px;
}
/* .projects.lazyEnd {
    background-position: 0 18vw;
} */
.projects>div {
    box-sizing: border-box;
    width: 100vw;
    padding: 14vw 6.5vw 0;
    background-color: #fff;
}
.projects .category {
    width: 13.4vw;
    padding-top: 3.5vw;
    background: url(../images/title-project.svg) no-repeat 0 0;
    background-size: 13.4vw;
}

.projects .title.main {
    width: 36.5vw;
    padding-top: 22.7vw;
    margin: 12vw auto 10.7vw;
    background: url(../images/logo.svg) no-repeat 0 0;
    background-size: 36.5vw;
}

.projects .lead {
    margin: 0 auto 10vw;
    font-size: var(--title);
    letter-spacing: -0.1vw;
    line-height: 1.57;
    text-align: center;
}

.projects .project {
    display: block;
    padding: 46.8vw 0 4vw;
    border-bottom: 0.3vw solid #b4b4b4;
    transition: all 800ms 0ms ease-out;
}
.projects .project:nth-child(1) { background: url(../images/project-01.png) no-repeat 0 27vw;  background-size: 23.4vw; }
.projects .project:nth-child(2) { background: url(../images/project-02.png) no-repeat right 27vw;  background-size: 23.4vw; }
.projects .project:nth-child(3) { background: url(../images/project-03.png) no-repeat 0 27vw;  background-size: 23.4vw; }
.projects .project:nth-child(4) { background: url(../images/project-04.png) no-repeat right 27vw;  background-size: 23.4vw; }

.projects .project:nth-child(1).lazyEnd { background-position: 0 17vw; }
.projects .project:nth-child(2).lazyEnd { background-position: right 17vw; }
.projects .project:nth-child(3).lazyEnd { background-position: 0 17vw;  }
.projects .project:nth-child(4).lazyEnd { background-position: right 17vw; }


.project .date, .project .title,  .project .bodytext {
    width: 82vw;
    margin: 0 auto;
}
.project .date {
    font-size: var(--date);
}
.project .title {
    font-size: var(--title);
}
.projects .hero {
    transition: all 500ms 0ms ease-out;
    display: block;
    width: 82vw;
    margin: 11vw auto 0;
}
.projects .hero.lazyEnd {
    margin: 5.5vw auto;
}
.project .comingsoon {
    width: 33.9vw;
    margin: 0 auto;
    padding-top: 10vw;
    background: url(../images/comingsoon.png) no-repeat 0 0;
    background-size: 33.9vw;
}
.project .more {
    display: inline-block;
    width: 82vw;
    margin: 0 auto;
    padding-top: 2.7vw;
    background: url(../images/btn-more.svg) no-repeat right 0;
    background-size: 14.3vw;    
}
.project-list:after {
    content:"";
    display: block;
    margin-top: 7.5vw;
    width: 100%;
    height: 10vw;
    background: url(../images/sp-project-after.png) no-repeat center top;
    background-size: 1vw;
}
.staytuned {
    width: 70vw;
    margin: 5vw auto 15vw;
    text-align: center;
}

/******************************************************
    Text-Interview
 ******************************************************/
/*
 * HERO
 */

.dialog.hero {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc( 100vh - 49px);
    color: #6c6c6c;
    background: url(../images/sp-interview-hero.jpg) no-repeat 0 0;
    background-size: cover;
}

.dialog.hero .title {
    width: 86.9vw;
    margin: 0 auto;
    padding-top: 24vw;
    text-align: center;
    font-size: var(--title);
    line-height: 1.8;
}
.dialog.hero p {
    width: 86.9vw;
    margin: 3.7vw;
    font-size: var(--base);
    line-height: 1.88;
    text-align: center;
}

/*
 * PORTRAIT
 */
.dialog.portrait {
    box-sizing: border-box;
    width: 100%;
    height: 133vw;
    padding: 16vw 6.5vw;
    background: #fff;
}

.dialog.portrait img {
    display: block;
    width: 86.9vw;
    margin: 0 auto 2.8vw;
}

.portrait .shoulder {
    margin-bottom: 1.3vw;
    padding-left: 5.7vw;
    font-size: var(--shoulder);
    line-height: 1.59;
}
.portrait .shoulder span {
    display: inline-block;
    margin-left: -5.7vw;
}
.portrait .name {
    margin-bottom: 3.6vw;
    padding-left: 5.7vw;
}

/*
 * インタビューメイン
 */

.text {
    position: relative;
    margin-bottom: 33vw;
    padding: 47vw 0 17vw;
    width: 100vw;
    height: auto;
}

.sec04 {
    margin-bottom: 0;
    padding: 47vw 0 33vw;
}
.text:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    opacity: 0.15;
}
.sec01:before {
    background: url(../images/sp-interview-01.jpg) repeat-y 0 0;
    background-size: cover;
}
.sec02:before {
    background: url(../images/sp-interview-02.jpg) repeat-y 0 0;
    background-size: 100vw;
}
.sec03:before {
    background: url(../images/sp-interview-03.jpg) repeat-y 0 0;
    background-size: 100vw;
}
.sec04:before {
    background: url(../images/sp-interview-04.jpg) repeat-y 0 0;
    background-size: 100vw;
}
.text.sec04 {
    margin-bottom: 0;
}

.question {
    width: 86.9vw;
    margin: 0 auto 9vw;

    font-size: var(--base);
}
.sec01 .question {
    margin-top: 15vw;
}
.question:before {
    content:'― ';
}
.answer {
    font-size: var(--base);
    line-height: 2;
    width: 86.9vw;
    margin: 0 auto;
}
.answer .name {
    display: block;
    margin-top: 9vw;
}
.answer .name:before {
    content:"（";
}
.answer .name:after {
    content:"）";
}

.tagline {
    position: relative;
    transition: all 800ms 0ms ease-out;
    margin-top: -57vw;
    width: 100vw;
    height: 52vw;
    box-sizing: border-box;
    font-size: 3.9vw;
    line-height: 1.83;
}
.tagline.lazyEnd {
    margin-top: -67vw;
}
.tag01 {
    padding: 31.25vw 0 0 6vw;
    background: url(../images/interview-tagline-01.jpg) no-repeat right top;
    background-size: 80.7vw;
}

.tag02 {
    padding: 31.25vw 6vw 0 0vw;
    background: url(../images/interview-tagline-02.jpg) no-repeat left top;
    background-size: 80.7vw;
    text-align:right;
}

.tag03 {
    padding: 31.25vw 0 0 6vw;
    background: url(../images/interview-tagline-03.jpg) no-repeat right top;
    background-size: 80.7vw;
}

.tag04 {
    padding: 31.25vw 6vw 0 0vw;
    height: 24vw;
    background: url(../images/interview-tagline-04.jpg) no-repeat left top;
    background-size: 80.7vw;
    text-align:right;
}

/******************************************************
    Sprarkling Image
 ******************************************************/
.sparkling {
    position: relative;
    box-sizing: border-box;
    padding: 0;
    height: 160vw;
    background: transparent;
}

.sparkling figure {
    transition: all 800ms 0ms ease-out;
    display: block;
    width: 86.9vw;
    margin: -6vw auto 0;
}
.sparkling figure.lazyEnd {
    margin: -16vw auto 0;
}

.sparkling figure img {
    display: block;
    width: 100%;
}

.sparkling figcaption {
    margin: 3.6vw auto;
    font-size: var(--caption);
    line-height: 1.8;
    letter-spacing: -2px;
    text-align: center;
}

.sparkling .logo, .sparkling .brandmix {
    transition: all 800ms 0ms ease-out;
    display: block;
}
.sparkling .logo {
    width: 38vw;
    margin: 29vw auto 0vw;
}
.sparkling .logo.lazyEnd {
    margin: 20vw auto 9vw;
}
.sparkling .brandmix {
    width: 79vw;
    margin: 18vw auto 20vw;
}
.sparkling .brandmix.lazyEnd {
    margin: 9vw auto 29vw;
}

/******************************************************
    Footer上バナー
 ******************************************************/

.links {
    width: 100vw;
    height: 109vw;
    padding: 5.2vw;
    box-sizing: border-box;
    background-color: #e6f3fa;
}

.link {
    display: block;
    margin-top: 5.2vw;
    width: 89.6vw;
    height: 41.6vw;

}

.link .water,.link .snowpeak {
    display: block;
    width: 100%;
    padding-top: 41.6vw;
}

.link .water {
    background: url(../images/sp-banner-water.jpg) no-repeat 0 0;
    background-size: 89.6vw;
}
.link .snowpeak {
    background: url(../images/sp-banner-snowpeak.jpg) no-repeat 0 0;
    background-size: 89.6vw;
}

/******************************************************
    Back to Top
 ******************************************************/
 .backtotop {
    position: relative;
    z-index: 30;
    box-sizing: border-box;
    width: 100%;
    height: 157px;
    padding: 0;
    margin: 0;
    background-color: #fff;
}

.btnTop {
    box-sizing: border-box;
    display: block;
    margin: 0 auto;
    width: 86.9vw;
    padding-top: 157px;
    background: url(../images/btn-top.svg) no-repeat right center;
    background-size: 9.3vw;
}