@charset "utf-8";
/***********************************************************************
------------------------------------------------------------------------
基本レイアウト・初期設定
***********************************************************************/
/* これがないと横スクロールが出る
========================================== */
#wrap {
	position: relative;
	overflow-x: hidden;
}
/* 1360px
========================================== */
.corp-container {
	margin-left: auto;
	margin-right: auto;
	padding-left: 10px;
	padding-right: 10px;
	position: relative;
	box-sizing: content-box;
	max-width:1360px;
}
.corp-container:after {
	content:"."; display:block; clear:both; height:0; visibility:hidden; font-size:0;
}
/* contents
========================================== */
#contents {
    position: relative;
}
#contents:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 50%;
    max-width: 220px;
    height: 340px;
    background-color: #00A0E9;
    z-index: -1;
}
/* 背景薄い水色
========================================== */
.corp-bg-light {
    background-color: #F0FBFF;
    padding: 80px 0;
}
/* SVG
========================================== */
.svgs {
	display:none;
}
/* ローダー
========================================== */
.loader {
    -webkit-box-align: center;
    align-items: center;
    background: #000;
    bottom: 0;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 999;
}
.loader::after {
    -webkit-animation: loader 0.5s linear infinite;
    animation: loader 0.5s linear infinite;
    border: 1px solid #fff;
    border-radius: 50%;
    border-right: 1px solid rgba(255, 165, 0, 0.2);
    border-top: 1px solid rgba(255, 165, 0, 0.2);
    content: "";
    height: 70px;
    width: 70px;
}
@-webkit-keyframes loader {
    0% {transform: rotate(0);}
    100% {transform: rotate(360deg);}
}
@keyframes loader {
    0% {transform: rotate(0);}
    100% {transform: rotate(360deg);}
}
/***********************************************************************
------------------------------------------------------------------------
MV
***********************************************************************/
#mv_wrap {
    width: 100vw;
    position: relative;
    overflow-x: hidden;
}
#mv_wrap #mv {
    margin-left: calc(100vw / ( 1920 / 100));
    height: 100vh;
    position: relative;
    overflow: hidden;
}
@media only screen and (max-width:767px) {
    #mv_wrap #mv {
        margin-left: 35px;
    }
}
/* 背景画像
========================================== */
#mv_wrap #mv ul#mv_bg {
}
#mv_wrap #mv #mv_bg_stop, 
#mv_wrap #mv ul#mv_bg li { 
    width: 100%;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
}
#mv_wrap #mv #mv_bg_stop p, 
#mv_wrap #mv ul#mv_bg li p { 
    height: 100vh;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
}
#mv_wrap #mv ul#mv_bg li p {
    animation-name: anime_MV;
    animation-duration: 40s;
}
@supports (-webkit-touch-callout: none) {
    #mv_wrap #mv,
    #mv_wrap #mv #mv_bg_stop p,
    #mv_wrap #mv ul#mv_bg li p {
        height: -webkit-fill-available;
    }
}
@keyframes anime_MV {
    from{transform: scale3d(1, 1, 1);}
    to{transform: scale3d(1.5, 1.5, 1);}
}
body#home    .mv01{background-image: url("../images/home/mv01.jpg");}
body#home    .mv02{background-image: url("../images/home/mv02.jpg");}
body#home    .mv03{background-image: url("../images/home/mv03.jpg");}
body#news    .mv01{background-image: url("../images/news/mv01.jpg");}
body#about   .mv01{background-image: url("../images/about/mv01.jpg");}
body#brand   .mv01{background-image: url("../images/brand/mv01.jpg");}
body#brand   .mv02{background-image: url("../images/brand/mv02.jpg");}
body#brand   .mv03{background-image: url("../images/brand/mv03.jpg");}
/* HOME用 中心の文字（ここが新しい始まり）
========================================== */
/* 右上のPC用nav
========================================== */
#mv_wrap #mv ul#nav_pc {
	position:absolute;
	top:23px;
	right:50px;
}
#mv_wrap #mv ul#nav_pc li {
}
#mv_wrap #mv ul#nav_pc li a {
    color: #fff;
    font-weight: 700;
    margin-top: 15px;
    display: block;
    letter-spacing: .2em;
	display:inline-block;
	position:relative;
}
body#news #mv_wrap #mv ul#nav_pc li a {color: #000;}
#mv_wrap #mv ul#nav_pc li a::before {
	content:"";
	position:absolute;
	top:100%;
	left:0;
	width:0;
	height:2px;
	background-color:#fff;
	transition:.3s;
}
#mv_wrap #mv ul#nav_pc li.active a::before,
#mv_wrap #mv ul#nav_pc li a:hover::before {
	width:100%;
}
@media only screen and (max-width:500px) {
    #mv_wrap #mv ul#nav_pc {
        top:auto;
        bottom:30px;
        right:25px;
    }
}
/* 左下のMV内ページタイトル（トップ以外）
========================================== */
#mv_wrap #mv #tit_page {
	position:absolute;
	bottom:-0.9em;
	left:200px;
    line-height: 1;
    z-index: 1;
    width: 100%;
    line-height: 1;
}
#mv_wrap #mv #tit_page span {
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.3em;
    line-height: 2.4;
    padding-left: 10px;
    display: inline-block;
	animation:anime_tit_page 0.8s cubic-bezier(0.25, 0.1, 0.25, 1) 0s forwards 1;
}
#mv_wrap #mv #tit_page h2 {
    overflow: hidden;
    position: relative;
}
#mv_wrap #mv #tit_page h2 em {
    color: #fff;
    font-size: 100px;
    font-weight: 700;
    letter-spacing: 0.13em;
    transform: translateY(100%);
    display: inline-block;
	animation:anime_tit_page 0.8s cubic-bezier(0.25, 0.1, 0.25, 1) 0.2s forwards 1;
}
@keyframes anime_tit_page {
    0% {transform: translateY(100%);}
    100% {transform: translateY(0);}
}
#mv_wrap #mv #tit_page h2 em:nth-of-type(2) {animation-delay: 0.2s;}
#mv_wrap #mv #tit_page h2 em:nth-of-type(3) {animation-delay: 0.3s;}
#mv_wrap #mv #tit_page h2 em:nth-of-type(4) {animation-delay: 0.4s;}
#mv_wrap #mv #tit_page h2 em:nth-of-type(5) {animation-delay: 0.5s;}
#mv_wrap #mv #tit_page h2 em:nth-of-type(6) {animation-delay: 0.6s;}
#mv_wrap #mv #tit_page h2 em:nth-of-type(7) {animation-delay: 0.7s;}
#mv_wrap #mv #tit_page h2 em:nth-of-type(8) {animation-delay: 0.8s;}
#mv_wrap #mv #tit_page h2 em:nth-of-type(9) {animation-delay: 0.9s;}
@media only screen and (max-width:767px) {
    #mv_wrap #mv #tit_page h2 em {
        font-size: 60px;
    }
}
@media only screen and (max-width:500px) {
    #mv_wrap #mv #tit_page {
        top: 50%;
        left: 50%;
        bottom: auto;
        transform: translateY(-50%) translateX(-50%);
        text-align: center;
    }
    #mv_wrap #mv #tit_page span,
    #mv_wrap #mv #tit_page h2 {
        text-align: center;
    }
    #mv_wrap #mv #tit_page h2 em {
        font-size: 50px;
    }
}
/* 左のロゴまわり
========================================== */
#mv_wrap #logo {
    position: absolute;
    top: 15px;
    left: 30px;
    background-color: #fff;
    width: 230px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 50px 10px;
	animation:anime_logo 0.8s cubic-bezier(.25,.25,.75,.75) 0.5s forwards 1;
	opacity:0;
}
@keyframes anime_logo {
	0% {
		-webkit-filter:blur(20px);
		filter:blur(20px);
		transform:translateY(-10px);
	}
	100% {
		-webkit-filter:blur(0);
		filter:blur(0);
		opacity:1;
		transform:translateY(0);
	}
}
#mv_wrap a#logo h1 {
    text-align: center;
    margin-top: 35px;
    font-size: 15px;
}
@media only screen and (max-width:767px) {
    #mv_wrap #logo {
        left: 10px;
        width: 190px;
        padding: 35px 10px;
    }
    #mv_wrap #logo img {
        width: 70%;
    }
    #mv_wrap a#logo h1 {
        margin-top: 20px;
        font-size: 12px;
    }
}
@media only screen and (max-width:500px) {
    #mv_wrap #logo {
        width: 150px;
        padding: 30px 10px;
    }
    #mv_wrap a#logo h1 {
        font-size: 11px;
        letter-spacing: normal;
    }
}
/* コピーライト
========================================== */
p#copy {
	position: absolute;
	top: 55%;
	left: calc(100vw / ( 1920 / 35));
	transform: rotate(90deg);
	transform-origin: bottom left;
	font-size: 13px;
	z-index: 1;
    font-weight: 700;
    letter-spacing: .05em;
}
@media only screen and (max-width:767px) {
    p#copy {
        left: 7px;
        font-size: 11px;
    }
}
/* スクロールダウン
========================================== */
@keyframes anime_scroll {
	0%   {transform:translateY(-280px);}
	50%  {transform:translateY(0);}
	100% {transform:translateY(280px);}
}
.scroll_area {
	bottom: 0;
	left: 0;
	position: absolute;
}
.scroll_area .scroll_down {
	position: relative;
	width: 220px;
	height: 140px;
}
.scroll_area .scroll_down > a {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	top: 0;
	display: block;
	z-index: 4;
}
.scroll_area .scroll_down > p {
	font-size: 12px;
	z-index: 2;
    color: #FFF;
    text-align: center;
    background-color: #00A0E9;
	width: 105%;
    height: 50px;
    line-height: 50px;
	position: absolute;
	bottom: 0;
	left: 0;
}
.scroll_area .scroll_down .scroll_parts {
	height: 120px;
    right: 30px;
	overflow: hidden;
	position: absolute;
	top: 0;
	width: 1px;
	z-index: 3;
}
.scroll_area .scroll_down .scroll_parts p {
	animation: anime_scroll 1.4s cubic-bezier(.25,.25,.75,.75) forwards infinite;
	background: #fff;
	background-size: 100% 200%;
	display: block;
	height: 100%;
	transform: translateY(-280px);
	width: 100%;
}
/* 【バナー】コラボ販売加盟店募集
========================================== */
/***********************************************************************
------------------------------------------------------------------------
フッター
***********************************************************************/
footer {
    margin-top: 230px;
}
@media only screen and (max-width:500px) {
    footer {
        margin-top: 70px;
    }
}
/* フッター上
========================================== */
footer > ul {
	text-align: center;
}
footer > ul li {
	text-align: center;
    display: inline-block;
    margin: 0 20px;
}
footer > ul li a {
    font-weight: 600;
    font-size: 15px;
    color: #009FE9;
}
@media only screen and (max-width:500px) {
    footer > ul li {
        margin: 0 5px;
    }
    footer > ul li a {
        font-size: 14px;
    }
}
/* フッター下
========================================== */
footer #footer {
	background-color: #00A0E9;
	padding:36px 15px 140px;
	margin-top:36px;
}
@media only screen and (max-width:500px) {
    footer #footer {
        padding:36px 5px 70px;
    }
}
/* ---------------------------
加盟店募集 プライバシーポリシー お問い合わせ など
----------------------------- */
footer #footer ul#f_nav {
	text-align: center;
}
footer #footer ul#f_nav li {
	text-align: center;
    display: inline-block;
}
footer #footer ul#f_nav li a {
    font-size: 15px;
    color: #fff;
    display: inline-block;
    padding: 0 20px;
    line-height: 1;
    border-right: 1px solid #fff;
}
footer #footer ul#f_nav li:last-of-type a {
    border-right: none;
}
@media only screen and (max-width:500px) {
    footer #footer ul#f_nav li a {
        font-size: 13px;
        padding: 0 10px;
    }
}
/* ---------------------------
SNS
----------------------------- */
footer #footer ul#f_sns {
    margin-top: 50px;
	text-align: center;
}
footer #footer ul#f_sns li {
	display: inline-block;
	margin:0 12px;
	text-align: center;
}
footer #footer ul#f_sns li a {
}
footer #footer ul#f_sns li a svg {
	fill: #fff;
	max-width: 22px;
	max-height: 22px;
    border: solid 1px #fff;
    border-radius: 50%;
    padding: 16px;
}
/* インスタグラム仕様
footer #footer ul#f_sns li a svg {
	fill: #fff;
	max-width: 36px;
	max-height: 36px;
}
*/
