/* base */
/* google fonts */
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap");

body,html {
    font-family: "Roboto", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
    font-size: 16px; /* base font size */
}
body#sp-video {
    background-color: #000;
}




/* init */
.background {
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    position: fixed;
    background-position: center center;
    opacity: 0;
    -webkit-background-size: cover;
    background-size: cover;
    -webkit-transition: all 0.5s ease 0s;
    -moz-transition: all 0.5s ease 0s;
    transition: all 0.5s ease 0s;
}
.show .background {
    opacity: 1;
}


.contents .content_wrap:first-child {
    padding: 40vh 0 60vh 8vw;
    position: relative;
    z-index: 2;
}
.contents .content_wrap {
    padding: 40vh 0 60vh 8vw;
    position: relative;
    z-index: 2;
}
.contents .content_wrap:last-child {
    padding: 40vh 0 30vh 8vw;
    position: relative;
    z-index: 2;
}
@media (max-width: 1200px) {
    .contents .content_wrap:last-child {
        padding: 40vh 0 30vh;
        position: relative;
        z-index: 2;
    }
}
@media (max-width: 768px) {
    .contents .content_wrap:last-child {
        padding: 40vh 5vw 30vh;
        position: relative;
        z-index: 2;
    }
}

/* Parallax: background */
#content01_bg {background-image: url(../img/bg_01.jpg);}
#content02_bg {background-image: url(../img/bg_02.jpg);}
#content03_bg {background-image: url(../img/bg_03.jpg);}
#content04_bg {background-image: url(../img/bg_04.jpg);}
#content05_bg {background-image: url(../img/bg_05.jpg);}

@media (max-width: 768px) {
    /* Parallax: background */
    #content01_bg {background-image: url(../img/bg_sp_01.jpg);}
    #content02_bg {background-image: url(../img/bg_sp_02.jpg);}
    #content03_bg {background-image: url(../img/bg_sp_03.jpg);}
    #content04_bg {background-image: url(../img/bg_sp_04.jpg);}
    #content05_bg {background-image: url(../img/bg_sp_05.jpg);}
}




.contents .eye-catch_wrap {
    padding: 25vh 0 52vh 12vw;
    position: relative;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    z-index: 2;
}
@media (max-width: 768px) {
    .contents .eye-catch_wrap {
        padding: 40vh 0 0 0;
        margin: 0 auto;
        position: relative;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        z-index: 2;
    }
}
@media (max-width: 375px) {
    .contents .eye-catch_wrap {
        padding: 38vh 0 0 0;
        margin: 0 auto;
        position: relative;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        z-index: 2;
    }
}


.contents .eye-catch_wrap .eye-catch_box,
.contents .eye-catch_wrap .share-box_wrap {
    padding: 0;
    width: 400px;
    z-index: 999;
}


/* SNS */
.contents .eye-catch_wrap .share-box_wrap {
    padding: 0;
    width: 400px;
}
@media (max-width: 375px) {
    .contents .eye-catch_wrap .share-box_wrap {
        padding: 0;
        margin: -45px auto 0;
        max-width: 375px;
    }
}




/* TOP アイキャッチロゴ */
.eye-catch_box img {
    width: 100%;
    height: 100%;
}
@media (max-width: 1200px) {
    .eye-catch_box img {
        width: 100%;
        height: 100%;
        transform: scale(0.8);
    }
}
@media (max-width: 768px) {
    .eye-catch_box img {
        width: 100%;
        height: 100%;
        transform: scale(0.8);
    }
}
@media (max-width: 375px) {
    .eye-catch_box img {
        width: 100%;
        height: 100%;
        transform: scale(0.6);
    }
}



/* インク飛沫 */
.bg-splash img.splash {
    top: -46%;
    right: 52%;
    position: absolute;
    opacity: .8;
    mix-blend-mode: multiply;
}
@media (max-width: 1500px) {
    .bg-splash img.splash {
        top: -43%;
        right: 51%;
        position: absolute;
        opacity: .8;
        mix-blend-mode: multiply;
        width: 100%;
        height: 147%;
        transform: scale(1);
    }
}
@media (max-width: 1200px) {
    .bg-splash img.splash {
        top: -20%;
        right: 57%;
        position: absolute;
        opacity: .8;
        mix-blend-mode: multiply;
        width: 100%;
        height: 100%;
        transform: scale(1.3);
    }
}
@media (max-width: 768px) {
    .bg-splash {
        margin: 0 auto;
        text-align: center;
    }
    .bg-splash img.splash {
        top: 10%;
        right: 20%;
        position: absolute;
        opacity: .8;
        mix-blend-mode: multiply;
        width: 100%;
        height: 100%;
        transform: scale(1);
    }
}
@media (max-width: 375px) {
    .bg-splash {
        margin: 0 auto;
        text-align: center;
    }
    .bg-splash img.splash {
        top: 15%;
        right: 10%;
        position: absolute;
        opacity: .8;
        mix-blend-mode: multiply;
        width: 164%;
        height: 88%;
        transform: scale(1);
    }
}



.share-box {
    width: 100%;
    height: 100%;
    padding: 0;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    /*margin: 0 auto 66px;*/
    margin: 30px auto 0;
}
@media (max-width: 1200px) {
    .share-box {
        width: 100%;
        height: 100%;
        padding: 0;
        position: relative;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        /*margin: 0 auto 66px;*/
        margin: 0 auto;
    }
}
/*
@media (max-width: 375px) {
    .share-box {
        width: 257px;
        height: 62px;
        background-color: #fff;
        padding: 11px 17px 11px 41px;
        position: relative;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        margin: 0 auto;
    }
}
*/

.share-box > *:nth-child(2){
    margin-left: 18px;
}
/*
.share-box > *:nth-child(3){
    margin-left: 24px;
}
*/


/* sns icon 1つ目 */
.share-box > *:first-child img{
    width: 37.5px;
    height: 37.5px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
/* sns icon 2つ目 */
.share-box > *:nth-child(n+2) img{
    width: 40px;
    height: 32.5px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.share-box > *{
    width: 50px;
    height: 50px;
    background-color: #fff;
    text-align: center;
    position: relative;
}


.text-box {
    padding: 50px 25px;
    width: 100%;
    color: #fff;
}
.text-box:last-child {
    padding: 50px 25px;
    width: 100%;
    color: #fff;
}
/*
.text-box .catch {
    margin: 0 0 10px;
}
*/
.text-box h2.catch {
    margin: 0 0 10px;
}
.text-box .copy {
    margin: 0;
    line-height: 2;
}

/* contents title */
/*
div.catch {
    font-weight: bold;
    font-size: 5rem;
}
div.catch > span {
    display: block;
    font-size: 1rem;
}
*/
h2.catch {
    font-weight: bold;
    font-size: 5rem;
}
h2.catch > span {
    display: block;
    font-size: 1rem;
}


@media (max-width: 768px) {
/*
    div.catch {
        font-weight: bold;
        font-size: 3rem;
    }
    div.catch > span {
        display: block;
        font-size: 0.875rem;
    }
*/
    h2.catch {
        font-weight: bold;
        font-size: 3rem;
    }
    h2.catch > span {
        display: block;
        font-size: 0.875rem;
    }
}



div.copy.sub-catch {
    display: block;
    font-weight: bold;
    font-size: 1.25rem;
    line-height: 1.7rem;
    margin: 2% 0;
}
div.ct-body {
    font-size: 1rem;
    line-height: 1.7rem;
    margin: 2% 0;
}
@media (max-width: 768px) {
    div.copy.sub-catch {
        display: block;
        font-size: 1rem;
        line-height: 1.7rem;
        margin: 15% 0 10%;
    }
    div.ct-body {
        font-size: 0.8125rem;
        line-height: 1.3rem;
        margin: 2% 0 8%;
    }
}



/* 動画 */
div.pv-box {
    padding: 2.5% 0;
    display: flex;
    flex-direction: row;
    position: relative;
    max-width: 360px;
}
div.pv-box > * {
    margin: 0 32px 0 0;
}
div.pv-box > div.pv-item:last-child {
    margin: 0;
}
div.pv-item span {
    display: block;
    font-size: 1.25rem;
    margin: 0 0 22px 0;
}
div.pv-box{
    max-width: 360px;
}
div.pv-box img{
    width: 100%;
}

div.pv-box iframe {
    width: 100%;
    height: 200px;
}

/* 疑似再生ボタン（モーダルイベント発火用） */
svg#btn_play_01 {
    width:30%;
    height: 30%;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    position: absolute;
    z-index: 999;
    fill: #ffffff;
}
svg#btn_play_01:hover {
    cursor: pointer;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
    fill: #b59618;
}


/* CM */
div.cm-box {
    padding: 2.5% 0;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    position: relative;
}
div.cm-box > * {
    margin: 0 2.5% 5% 0;
}
@media (max-width: 768px) {
    div.cm-box {
        padding: 10% 0;
        display: inline-grid;
        flex-wrap: wrap;
        flex-direction: row;
        position: relative;
    }
    div.cm-box > * {
        margin: 0 0 15% 0;
    }
}



div.pv-box > div.pv-item:last-child {
    margin: 0;
}
div.cm-item span {
    display: block;
    font-size: 1.25rem;
    font-weight: bold;
    margin: 0 0 22px 0;
}
@media (max-width: 768px) {
    div.cm-item span {
        display: block;
        font-size: 1rem;
        font-weight: bold;
        margin: 0 0 3% 0;
    }
}

div.cm-item {
    position: relative;
}
@media (max-width: 768px) {
    div.cm-item video {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    div.cm-item video {
        max-width: 100%;
    }
}


div.cm-box img{
    max-width: 360px;
}
@media (max-width: 768px) {
    div.cm-box img {
        max-width: 100%;
    }

    div.cm-box iframe {
        max-width: 100%;
    }
}
@media (max-width: 479px) {
    div.cm-box iframe {
        max-width: 100%;
        height: 200px;
    }
}


#player01 {
    width: 100%;
    height: auto;
}

.pv-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1100%;
}

.modal-wrap {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100vh;
    display: none;
    justify-content: center;
    align-items: center;
    background: rgba(0,0,0,0.7);
}
.modal-wrap.shown {
    display: flex;
}
.modal-panel {
    width: calc(100% - 40px);
    max-width: 1200px;    
    position: relative;
}
.modal-frame {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
.modal-frame iframe {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}
.modal-close {
    font-size: 0;
    width: 30px;
    height: 30px;
    background: no-repeat center center;
    position: absolute;
    right: 0;
    top: 0;
    transform: translate(15px, -15px);
    border: none;
}



/* 疑似再生ボタン（モーダルイベント発火用） */
svg.btn_play {
    width:30%;
    height: 30%;
    top: 60%;
    left: 50%;
    transform: translate(-50%,-60%);
    position: absolute;
    z-index: 999;
    fill: #ffffff;
}
svg.btn_play:hover {
    cursor: pointer;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
    fill: #b59618;
}




/* PROFILE */
div.pr-box {
    padding: 3% 0;
    display: flex;
    flex-direction: row;
}
@media (max-width: 768px) {
    div.pr-box {
        padding: 3% 0;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }
}


div.pr-item strong {
    display: block;
    font-size: 2.1875rem;
    margin: 0 0 22px 0;
}
div.pr-item:first-child {
    margin: 0 5% 0 0;
}
div.pr-item {
    display: block;
    font-size: 1rem;
    line-height: 1.8rem;
}
div.pr-item > p:nth-child(2) {
    margin: 18% 0 0 0;
}
div.pr-box img{
    max-width: 270px;
}

@media (max-width: 768px) {
    div.pr-item:first-child {
        margin: 0 0 15% 0;
    }
    div.pr-box img {
        max-width: 100%;
    }
    div.pr-item strong {
        display: block;
        font-size: 1rem;
        margin: 0 0 7% 0;
    }
    div.pr-item {
        display: block;
        font-size: 0.75rem;
        line-height: 1.3rem;
    }
}




/* バナー */
.bn-box {
    max-width: 781px;
}
@media (max-width: 1200px) {
    .bn-box {
        max-width: 75%;
        margin: 0 auto;
    }
}

div.bn-item {
    margin: 0 0 8% 0;
}
@media (max-width: 768px) {
    div.bn-item {
        margin: 0 0 20% 0;
    }
}


div.bn-item img {
    max-width: 100%;
}


@media screen and (max-width: 768px) {
    .bn-box {
        display: none;
    }
}


.pc-flex {
    display: flex;
}
/* PCで有効 */
.br-sp {
    display: none;
}
.bn-box {
    display: block;
}
.bn-box_sp {
    display: none;
}


.sp-flex {
    display: none;
}
/* スマートフォンで有効 */
@media screen and (max-width:768px) {
    .br-sp {
        display: block;
    }
    .bn-box {
        display: none;
    }
    .bn-box_sp {
        display: block;
    }
    .sp-flex {
        display: flex;
    }
    .pc-flex {
        display: none;
    }
}



/* SP動画用
 ***************************/
body#sp-video .play-area {
    width: 100%;
    height: 100vh;
    position: relative;
}

.play-box {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.play-box video {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    /*width: auto;*/
    height: auto;
    width: 100%;
    transform: translate(-50%,-50%);
}

/* PC動画用
 ***************************/
body#sp-video .play-area-pc {
    width: 100%;
    height: 100vh;
    position: relative;
}

.play-box-pc {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.play-box-pc video {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    /*width: auto;*/
    width: auto;
    height: 80%;
    transform: translate(-50%,-50%);
}

