@charset "UTF-8";
/*
----------------------------------------*/
.clearfix:after {
    content: "."; 
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}
.clearfix {
    min-height: 1px;
}
* html .clearfix {
    height: 0px !important;
}
body{
    margin:0;
    padding:0;
}
#special{
	/*overflow-x : hidden !important;*/
}
a{
	transition:.2s;
	border:0 !important;
}
a:hover{
	text-decoration: none !important;
}
.special_fixed{
    position: fixed !important;
    top: -137px;
    z-index: 10000;
}
.special_fixed:hover{
}
.hidden{
	overflow: hidden;
}
.block{
	display: block;
}
a{
    text-decoration: none !important;
}
#special{
	font-size:14px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	color:#000000 !important;
	list-style:none;
	line-height:2.0em;
}
img{
	vertical-align:top;
	max-width: 100%;
	height: auto;
}
a img{
	border:0;
}
ul{
	margin:0;
	padding:0;
}
li{
	list-style: none;
	margin:0;
	padding:0;
}
.pc{
	display:none;
}
.sp{
	display:block;
}
@media screen and (min-width: 1000px){
	#special{
		width:100% !important;
		margin:0 auto !important;
	}
	.pc{
		display: block !important;
	}
	.sp{
		display: none !important;
	}
}


/* PCサイドナビ(通常)
------------------------------------------------------------*/
.side-nav{
    position:fixed;
    bottom:0;
    z-index:100 !important;
}
.side-nav ul{
	display: flex;
	flex-direction: row;
	padding: 0;
	margin: 0;
}
.side-nav ul li{
    margin:0;
    padding: 10px 0 5px 0;
    height: 25px;
	list-style-type: none;
	width: calc(100% / 9 );
	transition: all .3s;
}
.side-nav .special_sidenav li a img:hover{
    transform: scale(1.05,1.05) !important;
}
@media screen and (min-width: 1000px){
    .side-nav {
        top: 7%;
        right: 0px;
        z-index: 100;
        height: 320px;
    }
    .side-nav ul{
        flex-direction: column;
        margin:0;
        padding:0;
    }
    .side-nav ul li { 
        width: 100%;
        margin-bottom: 15px;
        }
    .side-nav ul li:last-child { 
        margin-bottom: 0 !important;
        }
    .side-nav ul a img {
        display: block;
        width: 90px;
        padding:0 0 3px 0;
    }
	.side-nav ul li:hover{
		opacity: 0.5;
	}
    .side-nav .header__link.is-active img {
        opacity: 1
    }
    .side-nav .header__link.is-active::after {
    }
}


/* SPボトムナビ
----------------------------------------*/
.spnavbox{

}
ul.spnav{
	position:fixed;
	bottom:0;
	width:100%;
	list-style: none;
	margin:0;
	padding:0;
	z-index:200 !important;
}
ul.spnav li{
	width:33.33333%;
	margin:0;
	padding:0;
	float:left;
}


/* MOVIE
----------------------------------------*/
.movie {
	position: relative;
	margin:10% auto 5% auto;
}
.movie .video-container {
    position: relative;
    width: 90vw;
    height: calc(90vw* 9 / 16);
    overflow: hidden;
    margin: 0 auto !important;
    padding: 0 !important;
    z-index: 2;
}
.movie .video-container video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.movie #videoPlaceholder {
	width: 100%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	display: none;
}

@media (min-width: 1000px) {
	.movie {
		padding-bottom: 0;
		margin:80px auto 40px auto;
	}
	.movie .video-container {
        position: relative;
        width: 700px;
        height: calc(700px* 9 / 16);
        overflow: hidden;
        margin: 0 auto !important;
        padding: 0 !important;
	}
	.movie .video-container video {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        height: 100%;
        object-fit: contain;
	}
}



/* アコーディオン(ブランドで見る＆サイズで見る)
----------------------------------------*/
.linkarea{
    margin-bottom:10%;
}
.accordion{
	width:100%;
	text-align:center !important;
}
.accordion2{
	width:100%;
	text-align:center !important;
}
.acmenu {
  margin-left: 5% !important;
  width:90%;
  font-size: 15px;
  text-align:center;
  margin-bottom:5%;
	border:1px solid #000;
}
.acmenu ul{
  padding:0 !important;
  margin:0 !important;
}
.acmenu ul li{
  list-style: none !important;
  border:1px solid #fffffff !important;
  background:#ffffff !important;
  color:#000000 !important;
}
.acmenu ul li:first-child,
.acmenu ul li:nth-child(2),
.acmenu ul li:nth-child(3),
.acmenu ul li:nth-child(4),
.acmenu ul li:nth-child(5),
.acmenu ul li:nth-child(6){
    background:#bababa;
    border:none !important;
}
.acmenu ul li a{
  display: block;
  color:#000000 !important;
  cursor: pointer;
  line-height:50px;
  font-size: 15px;
  text-align:center !important;
}
.acmenu li a:after, .acmenu li a.active:after{
  position: absolute;
  color:#fff !important;
}
.acmenu li a:after{
}
.acmenu ul li a:hover{
  background:#cccccc !important;
}
.acmenu li a.active:after{
}
.acmenu > ul > li > ul {
  display: none;
}
.acsubmenu li{
  width: 100%;
  display: block;
  height: 50px;
  position: relative;
  line-height:50px;
  font-size: 14px;
  margin-bottom: 1px;
  text-align:center !important;
}
@media screen and (min-width: 1000px){
	.linkarea{
		width:1000px;
		height:150px;
		position:relative;
		margin:0 auto !important;

	}
	.linkarea .link1{
		position:absolute;
		left:50px;
		width:400px;
	}
	.linkarea .link2{
		position:absolute;
		right:50px;
		width:400px;
	}
	.acmenu {
	  margin-left: 0 !important;
	  width:400px;
	  font-size: 14px;
	  text-align:center;
	}
	.acmenu ul li a{
	  display: block;
	  color:#000000 !important;
	  cursor: pointer;
	  line-height:50px;
	  font-size: 16px;
	  text-align:center !important;
	}
}


/* FOOTER
----------------------------------------*/
.btnarea{
    width:90%;
    margin:0 auto;
    margin:0 5% 20% 5%;
    letter-spacing:0.5px;
}
.button {
    margin: 0 auto 5% auto;
    width: 100%;
    padding:3% 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1em;
    color: #000000;
    cursor: pointer;
    position:relative;
    font-weight: 400;
    font-style: normal;
}
.btnarrow {
	position:absolute;
	right:20px !important;
	top:17px !important;
	width: 35px;
	height: 8px;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	transform: skew(45deg);
}
.btnarrow.short {
	width: 20px;
}
.button.comingsoon:hover{
    cursor: default ;
    background:#fff !important;
}
.btnarea .button{
	border: none !important;
}
.itembtnarea .button{
	width:97% !important;
	margin:0 auto;
	border-bottom:10px solid #eeeeee  !important;
	border-top:none !important;
	border-left:none !important;
	border-right:none !important;
	text-align:left !important;
	padding-bottom:0 !important;
	justify-content: inherit !important;
	padding-left:3% !important;
	font-size:1.2em;
	line-height:0.8em;
	font-feature-settings: "palt";
	letter-spacing:1px;
}
@media screen and (min-width: 1000px){
    .btnarea{
     	margin:0 auto 80px auto  !important;
    }
    .button {
        margin: 20px auto 0 auto;
        width: 500px;
        height: 50px;   
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 16px;
        color: #000000;
        cursor: pointer;
        position:relative;
        padding:0;
    }
    .btnarrow {
            position:absolute;
            right:40px !important;
            top:17px !important;
            width: 50px;
            height: 8px;
            border-bottom: 1px solid #000;
            border-right: 1px solid #000;
            transform: skew(45deg);
    }
	.btnarrow.sustainablearrow,
	.btnarrow.instagramarrow{
		top:27px !important;
		color:#000;
		            border-bottom: 1px solid #000 !important;
            border-right: 1px solid #000 !important;
	}
	.button:hover .btnarrow.sustainablearrow,
	.button:hover .btnarrow.instagramarrow{
		top:27px !important;
	}
    .button:hover{
        background:#ffffff;
    }
    .button:hover  .btnarrow{
            position:absolute;
            right:20px !important;
            top:17px !important;
            width: 50px;
            height: 8px;
            border-bottom: 1px solid #000;
            border-right: 1px solid #000;
            transform: skew(45deg);
	}
	.itembtnarea .button{
		width:380px !important;
		line-height:0.5em !important;
		margin: 0 auto !important;
		height:30px !important;
		
	}
	.itembtnarea .button .btnarrow{
		top: 12px !important;
	}
}


.bn_vol{
    width:90%;
    margin:10% 5% 20% 5% !important;
}
.bn_vol_txt{
    font-size: 18px;
    /*font-size: 15px;*/
	color: #000;
	text-align: center;
	margin: 0;
	font-weight: bold;
}
.bn_vol .bn_cs{
    opacity: .6;
}
@media screen and (min-width: 1000px){
    .bn_vol{
        width:520px;
        margin:0 auto 40px auto !important;
    }
	.bn_vol_txt{
		font-size: 18px;
		/*font-size: 16px;*/
		color: #000;
	}
}

#otherarea{
    width:100%;
    margin:0 auto !important;
    padding-top:10% !important;
    padding-bottom:30px !important;
}
@media screen and (min-width: 1000px){
	#otherarea{
		width:100%;
		margin:0 auto !important;
		padding-top:0 !important;
		padding-bottom:0 !important;
	}
}
#otherarea2{
    width:100%;
    margin:0 auto !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
}
#otherarea2 .button{
    font-size: 1.25rem;
    font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif !important;
}
@media screen and (min-width: 1000px){
	#otherarea2{
		width:100%;
		margin:0 auto !important;
		padding-top:0 !important;
		padding-bottom:40px !important;
	}
#otherarea2 .button{
    font-size: 1.4rem;
}
}

.infoarea{
    text-align:center;
    width:100%;
	color:#000;
}
.infoarea p{
    margin:5% auto 3% auto ;
    text-align:center;
    width:100%;
}
.infoarea .btnarea .button{
	color:#000;
	background-color:transparent !important;
	border:1px solid #000 !important;
}
.infoarea .btnarea .btnarrow{
	right:15px !important;
}
@media screen and (min-width: 1000px){
    .infoarea{
        width:1000px;
        margin: 0 auto !important;
    }
    .infoarea .ttl{
        width:500px;
        margin:0 auto !important;
    }
    .infoarea p{
        margin:20px auto 0 auto ;
        text-align:center;
        width:100%;
        font-size:16px;
    }
    .infoarea .btnarea{
        margin: 0 auto 80px auto !important;
    }
	.infoarea .btnarea .btnarrow{
	right:40px !important;
}
}

@media screen and (min-width: 1000px){
	.information{
		display:flex;
		width:1150px;
		margin:80px auto 0 auto;
	}
}

.sustainable{
	background:#ffffff;
	border:1px solid #000000;
	text-align:center;
	padding:10% 5% 1% 5%;
    width: 80%;
    margin: 0 auto;
}
.sustainable p{
	font-size:1em;
	margin:5% 0;
	line-height:1.8em;
	color: #000000;;
}
.sustainable .btnarea{
	margin-bottom:10% !important;
}
.sustainable .button{
	border:none !important;
}

@media screen and (min-width: 768px) and (max-width: 999px) {
	.sustainable p{
		font-size: 1.4em;
	}
}

@media screen and (min-width: 1000px){
	.sustainable{
		width:550px;
		height:220px;
		margin:0 auto 50px auto;
		padding:40px 0 0 0;
	}
	.sustainable img{
		width:450px;
		margin:0 50px;
	}
	.sustainable p{
		font-size:18px;
		margin:20px 0 0 0;
		line-height:1.6;
	}
	.sustainable .btnarea{
		margin:0 auto !important;
	}
	.sustainable .button{
		padding-top:10px;
		padding-bottom:0 !important
	}
}

.instagram{
	background:#ffffff;
	border:1px solid #000000;
	text-align:center;
	padding:10% 5% 1% 5%;
	margin:10% 5%;
}
.instagram .instagramttl{
	width:25%;
	margin:0 auto 5% auto;
}
.instagram p{
	font-size:1.1em;
	margin:5% 0;
	line-height:1.8em;
	color: #000000;;
}
@media screen and (min-width: 768px) and (max-width: 999px) {
	.instagram p {
		font-size: 1.4em;
	}
}
@media screen and (min-width: 1000px){
	.instagram{
		width:550px;
		margin:0 auto 100px auto;
		padding:40px 0 0 0;
		height:220px;
	}
	.instagram .instagramttl{
		width:130px;
		margin:0 150px;
	}
	.instagram p{
		font-size:18px;
		margin:30px 0 0 0;
	}
}


.page-top a{
    width: 30px;
    position: fixed;
    bottom: 40px;
    right: 15px;
    padding: 10px;
    display: block;
    z-index: 1000;
}
.page-top a:hover{
	bottom:60px;
}
.copyright{
	text-align: center;
	font-size: 10px;
    padding-bottom:50px;
	margin: 40px auto 0 auto;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
@media screen and (min-width: 1000px){
    .page-top a{
        width: 50px;
        position: fixed;
        bottom: 15px;
        right: 15px;
        padding: 10px;
        display: block;
    }
    .page-top a:hover{
        bottom:20px;
    }
    .copyright{
        padding-bottom:20px;
    }
}

/* クレジット関係
-------------------------------------------------*/
.creditlist{
	margin:0 auto;
	padding:1% 5% 5% 5%;
	width:90%;
}

.creditlist ul{
	margin:0;
	padding:0;
}
.creditlist li{
	margin:0;
	padding:0;
	color:#fff;
	/* display: flexをaタグに移動 */
}
.creditlist li.underline{
	border-bottom:1px solid #fff;
	padding-bottom:5px;
	margin-bottom:5px;
}
#styling02 .creditlist li,
#styling04 .creditlist li,
#styling06 .creditlist li,
#styling08 .creditlist li,
#styling09 .creditlist li,
#styling10 .creditlist li{
	color:#000;
}
#styling02 .creditlist li.underline,
#styling04 .creditlist li.underline,
#styling06 .creditlist li.underline,
#styling08 .creditlist li.underline,
#styling09 .creditlist li.underline,
#styling10 .creditlist li.underline{
	border-bottom:1px solid #000;
}
/* li内のaタグに元のliのflexプロパティを適用 */
.creditlist li a{
	display: flex;
	align-items: center;
	padding:0 0;
	text-decoration: none !important;
	color: inherit;
}
.creditlist li a:hover{
	text-decoration: none !important;
}
.creditlist li .item_name,
.creditlist li .item_brand{
	width:24%;
	text-align:left !important;
}
.creditlist li .item_price{
	width:28%;
	text-align:right;
}
.creditlist li .item_name,
.creditlist li .item_brand,
.creditlist li .item_price{
	font-size:0.9em;
}
.creditlist li .item_price small{
	font-size:0.7em;
}

/*buybtnbox
----------------------------------------*/
.creditlist .buybtnbox{
	background-color:transparent;
	width:20%;
	display: flex;
	align-items: center;
	margin: 0 0 0 5%;
	color:#004850;
}
.buybtnbox {
    display: flex;
    -webkit-column-gap: 1rem;
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    width: 6em;
	margin: 0 0 0 5%;
	color:#004850;
}
/* buybtnの調整 - aタグではなくなったので不要なプロパティを削除 */
.buybtn {
    position: relative;
    display: flex !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    /*width: 100%;*/
    height: 2em;
	/*border-bottom:1px solid #fff;*/
}
.buybtnText {
    font-size: 12px;
	letter-spacing: 0 !important;
    -webkit-transform: translateX(1em);
    transform: translateX(1em);
    -webkit-transition: -webkit-transform 0.5s;
    transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    transition: transform 0.5s,-webkit-transform 0.5s;
	margin:0 auto !important;
	text-align:center;
	color:#fff;
	text-decoration: underline;
}
#styling02 .buybtnText,
#styling04 .buybtnText,
#styling06 .buybtnText,
#styling08 .buybtnText,
#styling09 .buybtnText,
#styling10 .buybtnText{
	color:#000;
}
.buybtnArrow {
    overflow: hidden;
    width: 20px;
    margin-left: 5px;
}
.buybtnArrow img {
    display: block;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: -webkit-transform 0.5s;
    transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    transition: transform 0.5s,-webkit-transform 0.5s
}
.buyarrow{
	width:20px;
}

/* ホバー効果をli aに移動 */
.creditlist li a:hover .buybtnText {
    -webkit-transform: translateX(0);
    transform: translateX(0)
}
.creditlist li a:hover .buybtnArrow img {
    -webkit-transform: translateX(0);
    transform: translateX(0)
}
@media screen and (min-width: 1000px){
	.creditlist{
		margin:0 auto;
		width:350px;
	}
	.flex .creditlist{
		margin:calc(100vw*0.33) 0 0 0;
		padding:0;
		width:380px;
	}
	.creditlist li .item_name,
	.creditlist li .item_brand,
	.creditlist li .item_price{
		font-size:1em;
	}
	.creditlist li .item_name{
		width:30% !important;
	}
}

@media screen and (max-width: 999px){
    .buybtnbox {
        width:5.5em;
		margin-left:2%;
    }
	.buybtn {
        height:1em;
    }
    .buybtnText {
        font-size:0.9em;
        line-height: 1.25;
        letter-spacing: 0em;
        -webkit-transform: translateX(1em);
        transform: translateX(1em);
    }
	.buybtnArrow {
        width:20px;
		margin-left: 2px;
    }
}


/* MV
----------------------------------------*/
#special_head{
    margin: 0 !important;
    padding: 0 !important;
    width: 100%;
    height: calc(100vw* 1.2);
    position: relative;
	overflow: hidden;
}
#special_head .logo{
    width: 34%;
	position:absolute;
	z-index:10;
	left:33%;
	top:2%;
}
#special_head .mv1{
	width:25%;
	position:absolute;
	top:0;
	left:0;
	z-index:1;
}
#special_head .mv2{
    width:25%;
    position: absolute;
    top:0;
    left:25%;
    z-index: 1;
}
#special_head .mv3{
	width:25%;
	position:absolute;
	top:0;
	left:50%;
	z-index:1;
}
#special_head .mv4{
	width:25%;
	position:absolute;
	top:0;
	left:75%;
	z-index:1;
}
#special_head .mv1,
#special_head .mv2,
#special_head .mv3,
#special_head .mv4{
	bottom: 0;
	top: auto !important; /* 既存の top:0（PC側は !important）を上書き */
}
#special_head .mvmodel1{
	    width: 36.5%;
    position: absolute;
    bottom: 0;
    left: -7%;
    z-index: 2;
}
#special_head .mvmodel2{
	width: 42%;
    position: absolute;
    bottom: 0;
    left: 14%;
    z-index: 2;
}
#special_head .mvmodel3{
	width: 35.5%;
	/*width: 34.5%;*/
    position: absolute;
    bottom: 0;
    left: 46.5%;
    z-index: 2;
}
#special_head .mvmodel4{
	width: 33.5%;
    position: absolute;
    bottom: 0;
    right: -8%;
    z-index: 2;
}
#special_head .mvttl1{
	    position: absolute;
    z-index: 2;
    width: 88%;
    top: calc(100vw * 0.11);
    left: 6%;
}
#special_head .mvttl2{
	    position: absolute;
    z-index: 3;
    width: 53%;
    top: calc(100vw * 0.22);
    left: 40%;
}
#special_head .mvtext{
	position:absolute;
	z-index:10;
	color:#3c3c3c;
	font-weight:bold;
	    font-size: 4.1vw;
    left: 7%;
    top: calc(100vw * 0.33);
}
#special_head .mvline{
	position:absolute;
	z-index:10;
	background-color:#3c3c3c;
	    width: 77%;
    left: 0;
    top: calc(100vw * 0.385);
    height: 1px;
}
.attention{
	margin-top:3%;
}
@media screen and (min-width: 1000px){
	.mv{
		width:100%;
		height:calc(100vw*0.8);
		display: block;
		overflow: hidden;
	}
    #special_head{
        margin:0 !important;
        padding:0!important;
        width:100%;
        height:calc(100vw*0.785);
        /*height:calc(100vw*0.79);*/
        position:relative;

    }
    #special_head .logo{
        width: 18%;
        position: absolute;
        z-index: 10 !important;
        top: 10px !important;
        left:41% !important;
    }
	#special_head .mv1{
		top:0;
	}
	#special_head .mv2{
		top:0;
	}
	#special_head .mv3{
		top:0;
	}
	#special_head .mvmodel1{
	    width: 29.5%;
    	left: 0;
		margin-bottom:-30px;
	}
	#special_head .mvmodel2{
	            width: 34%;
        left: 19%;
		margin-bottom:-30px;
	}
	#special_head .mvmodel3{
	    width: 28.6%;
        left: 48.8%;
		margin-bottom:-30px;
	}
	#special_head .mvmodel4{
	           width: 27.5%;
        right: 0;
		margin-bottom:-30px;
	}
	#special_head .mvtext{
		font-size: 1.04rem;
		left: 7%;
		top: calc(100vw * 0.35);
	}
	#special_head .mvline {
        width: 45%;
        left: 0;
        top: calc(100vw * 0.172);
    }
	#special_head .mvttl1{
		width: 72%;
        top: calc(100vw * 0.05);
        left: 8%;
		z-index:1;
	}
	#special_head .mvttl2{
		width: 45%;
        top: calc(100vw * 0.144);
        left: 47%;
		z-index:1;
	}
	#special_head .mvtext {
		position: absolute;
		z-index: 10;
		color: #3c3c3c;
		font-weight: bold;
		font-size:2.2vw;
		left: 7.8%;
		top: calc(100vw * 0.145);
	}
    .attention{
		width:600px;
		margin:20px auto 0  auto !important;
    }
}

/* Navbox
----------------------------------------*/
.navbox{
	width:100%;
	position:relative;
	background:#d8d7ca;
	padding-bottom:10%;
}
.navttl{
	position:relative;
	width:100%;
	height:calc(100vw*0.33);
	margin:10% auto;
}
.navttl .subttl1{
	position:absolute;
	width:75%;
	left:5%;
	top: calc(100vw * 0.07);
}
.navttl .subttl2{
	position:absolute;
	    width: 40%;
    left: 39%;
    top: calc(100vw * 0.17);
}
.navttl .subttl3{
	    position: absolute;
    width: 5%;
    left: 80.5%;
    top: calc(100vw * 0.16);
}
.bgblue{
	width:50%;
	background-color:#8eabb0;
	height:calc(100vw*0.66);
	position:absolute;
}
.bgwhite{
	width:50%;
	background-color:#ffffff;
	height:calc(100vw*0.3);
	position:absolute;
	right:0;
}
.nav{
	display: flex;
	width:95%;
	margin:0 auto;
}
.nav .nav4{
	margin-top:3%;
}
@media screen and (min-width: 1000px) {
	.navbox{
		padding-box:80px;
	}
	.pcbox{
		width:1000px;
		margin:0 auto;
	}
	.navttl {
    position: relative;
    width: 100%;
    height: calc(100vw * 0.2);
    margin: 10% auto 0 auto;
}
	.navttlpcbox{
		width:1000px !important;
		margin:0 auto;
		position:absolute;
		left:0;
		right:0;
	}
	.navttl .subttl1 {
    width: 75%;
    left: 0;
		top: calc(100vw * 0.05);
	}
	.navttl .subttl2 {
    width: 40%;
    left: 39%;
    top: calc(100vw * 0.11);
	}
	.navttl .subttl3 {
    width: 5%;
    left: 80.5%;
    top: calc(100vw * 0.11);
	}
	.bgwhite {
    height: calc(100vw * 0.19);
	}
	.bgblue {
    height: calc(100vw * 0.38);
	}
	.nav{
	display: flex;
	width:1000px;
	margin:0 auto;
	}
	.nav li{
		width:23%;
		margin:0 1%;
	}
	.nav .nav4{
	margin-top:5%;
	}
	.nav .nav3{
	width:90%;
	}
}


/* Sceneタイトル
----------------------------------------*/
.textbox{
	padding:0;
	margin-bottom:10%;
	text-align:center;
	font-feature-settings: "palt";
}
.textbox .subttl::before,
.textbox .subttl::after {
	content:"";
	height:1px;
	background:#000;
	border-radius:1px;
	flex:1 1 auto;
	transform:scaleX(0);
	transition:transform .9s cubic-bezier(.22,.61,.36,1);
	will-change:transform;
}
.textbox .subttl::before {
	margin-right:15px;
	transform-origin:right center;
}
.textbox .subttl::after {
	margin-left:15px;
	transform-origin:left  center;
}
.textbox .subttl.is-inview::before,.textbox .subttl.is-inview::after{
	transform:scaleX(1);
}
.textbox .subttl.is-inview::before{
	transition-delay:.05s;
}
.textbox .subttl.is-inview::after {
	transition-delay:.15s;
}
@media (prefers-reduced-motion:reduce){
	  .textbox .subttl::before,
	  .textbox .subttl::after
	  {transition:none;transform:scaleX(1);}
	}
.textbox p{
	font-size:0.8rem;
	line-height:2.4;
    width: 90%;
    margin: 0 auto;
    text-align: left;
}
@media screen and (max-width: 393px){
	.textbox p{
	font-size:0.8em;
	}
}
@media screen and (min-width: 1000px){
	.textbox{
		padding: 0 !important;
		width:900px;
		margin:40px auto;
	}
	.textbox p{
		font-size:16px;
		margin-bottom:10px;
		line-height:2 !important;
		width: 50%;
	}
}

/* animation
----------------------------------------*/

/*fadeRightLeftMV(右→左)*/
.fadeRightLeftMV.wow.animated {
    animation-name: fadeRightLeftMV;
    animation-duration: 1.8s;
    animation-timing-function: ease;
    animation-delay: 0.4s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: forwards;
    opacity: 0;
    will-change: opacity;
}
.fadeRightLeftMV {
    opacity: 0;
}
@keyframes fadeRightLeftMV {
  0% {
    opacity: 0;
    filter: blur(6px);
    transform: translateX(30%);
  }
  100% {
    opacity: 1;
    filter: blur(0);
    transform: translateX(0);
  }
}
/*fadeLeftRightMV(左→右)*/
.fadeLeftRightMV.wow.animated {
    animation-name: fadeLeftRightMV;
    animation-duration: 1.8s;
    animation-timing-function: ease;
    animation-delay: 0.4s;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: forwards;
    opacity: 0;
    will-change: opacity;
}
.fadeLeftRightMV {
    opacity: 0;
}
@keyframes fadeLeftRightMV {
  0% {
    opacity: 0;
    filter: blur(6px);
    transform: translateX(-30%);
  }
  100% {
    opacity: 1;
    filter: blur(0);
    transform: translateX(0);
  }
}

/* BG image
----------------------------------------*/
@media (max-width:999px){
    /* 画像は普通に表示 */
    img.photobg.sp{
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(var(--extend) - 1px);
    width: 100%;
    height: auto;
    display: block;
    z-index: 2;
    pointer-events: none;
    animation: none!important;
    /* 初期状態は左に隠す */
    transform: translateX(-100%);
    will-change: transform;
    top: 50px;
    }
}
@media screen and (min-width: 1000px) {
    .stylingbox {
        width: 100%;
        margin: 120px auto;
        position: relative;
    }
    /* アニメーション発火（hair02も通常も同じ終了位置） */
    .creditlist {
        z-index: 10;
    }
    .photobg.pc {
        display: none;
    }
}



/* stylingbox
----------------------------------------*/
.stylingbox {
    width: 100%;
    margin: 20% auto;
	overflow: hidden;
}
#styling03.stylingbox,
#styling06.stylingbox,
#styling08.stylingbox{
    width: 100%;
    margin: 20% auto 5% auto;
}

.stylingttl{
	width:90%;
	margin:0 5%;
	position:relative;
}
.stylingttl .check{
	width:10%;
	margin-right:-3%;
	margin-top:-3%;
}
.stylingttl .ttlno{
	height:calc(100vw*0.075);
	display: inline;
	padding-right:0;
}
.stylingttl .stylingttlline{
	margin:0 1.5%;
	width:1px;
	height:calc(100vw*0.075);
	background-color:#3c3c3c;
	display: inline-block;
}
.stylingttl .shortcoat{
	height:calc(100vw*0.075);
	display: inline;
}
.stylingttl .longcoat{
	height:calc(100vw*0.096);
	display: inline;
}
.stylingttl .longdown{
	height:calc(100vw*0.094);
	display: inline;
}
#styling07 .stylingttl .shortdown,
#styling08 .stylingttl .shortdown{
	height:calc(100vw*0.07);
	display: inline;
}
#styling07 .stylingttl .ttlno,
#styling08 .stylingttl .ttlno{
	height:calc(100vw*0.07);
}
#styling07 .stylingttl .stylingttlline,
#styling08 .stylingttl .stylingttlline{
	margin:0 1%;
	width:1px;
	height:calc(100vw*0.07);
	background-color:#3c3c3c;
	display: inline-block;
}


.kana{
	width:30%;
	margin-left:60%;
	margin-top:1%;
	text-align:center;
	font-size:0.9em;
}
#styling02 .kana,
#styling04 .kana,
#styling06 .kana,
#styling08 .kana,
#styling10 .kana{
	margin-left:35%;
}
#styling04 .kana,
#styling05 .kana,
#styling06 .kana,
#styling09 .kana,
#styling10 .kana{
	margin-top:0;
}
.detail{
	width:100%;
	position:relative;
	height:calc(100vw*1.1);
}
#styling01 .detail,
#styling01 .creditlist{
		background:#8fabb0;
}
#styling02 .detail,
#styling02 .creditlist{
		background:#d8d7ca;
}
#styling03 .detail,
#styling03 .creditlist{
		background:#91abb9;
}
#styling04 .detail,
#styling04 .creditlist{
		background:#c3bfb1;
}
#styling05 .detail,
#styling05 .creditlist{
		background:#96aab7;
}
#styling06 .detail,
#styling06 .creditlist{
		background:#d8d7cb;
}
#styling07 .detail,
#styling07 .creditlist{
		background:#96aab7;
}
#styling08 .detail,
#styling08 .creditlist{
		background:#c3bfb1;
}
#styling09 .detail,
#styling09 .creditlist{
		background:#d8e6df;
}
#styling10 .detail,
#styling10 .creditlist{
		background:#d8d7cb;
}
.detailwhitebg{
	position:absolute;
	width:100%;
	height:calc(100vw*0.2);
	background-color:#ffffff;
	z-index:1;
}
.photo1 {
	position:absolute;
	height:calc(100vw*1.17);
	margin-top:-10%;
	z-index:10;
}
.photo2{
	width:80%;
	position:absolute;
	right:0;
	z-index:5;
}
.itemname{
	width:35%;
	position:absolute;
	right:5%;
	top:calc(100vw*0.58);
}
.commentbox{
	position:absolute;
	right:5%;
	top:calc(100vw*0.65);
	width:55%;
}
#styling02 .photo1,
#styling04 .photo1,
#styling10 .photo1{
	right:0;
}
#styling08 .photo1{
	right:0;
	margin-right:-6%;
}
#styling09 .photo1{
	margin-left:-5%;
}
#styling06 .photo1{
	right:0;
	margin-right:-3%;
}
#styling02 .photo2,
#styling04 .photo2,
#styling06 .photo2,
#styling08 .photo2,
#styling10 .photo2{
	left:0;
}
#styling02 .itemname,
#styling04 .itemname,
#styling06 .itemname,
#styling08 .itemname,
#styling10 .itemname{
	left:5%;
}
#styling02 .commentbox,
#styling04 .commentbox,
#styling06 .commentbox,
#styling08 .commentbox,
#styling10 .commentbox{
	left:5%;
}
.commentttl{
	color:#fff;
	font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif !important;
	font-size:1.2rem;
	font-feature-settings: "palt";
	text-decoration: underline;
	margin-bottom:4%;
}
.itemtxt{
	color:#fff;
	font-size: 0.75rem;
	line-height:1.8;
	/*font-feature-settings: "palt";*/
}
#styling02 .commentttl,
#styling02 .itemtxt,
#styling04 .commentttl,
#styling04 .itemtxt,
#styling06 .commentttl,
#styling06 .itemtxt,
#styling08 .commentttl,
#styling08 .itemtxt,
#styling09 .commentttl,
#styling09 .itemtxt,
#styling10 .commentttl,
#styling10 .itemtxt{
	color:#000;
}
#styling06 .itemtxt{
	width:75%;
}
.photobg{
	margin-top:-28%;
}
@media screen and (max-width: 393px){
}
@media screen and (min-width: 1000px) {
    .stylingbox {
        width: 100%;
        margin: 80px auto;
        position: relative;
		background:#8fabb0;
		overflow: inherit;
    }
	#styling03.stylingbox,
	#styling06.stylingbox,
	#styling08.stylingbox{
        width: 100%;
        margin: 80px auto 120px auto !important;
	}
	#styling02.stylingbox{
		background:#d8d7ca !important;
	}
	#styling03.stylingbox{
		background:#91abb9 !important;
	}
	#styling04.stylingbox{
		background:#c3bfb1 !important;
	}
	#styling05.stylingbox{
		background:#96aab7 !important;
	}
	#styling06.stylingbox{
		background:#d8d7cb !important;
	}
	#styling07.stylingbox{
		background:#96aab7 !important;
	}
	#styling08.stylingbox{
		background:#c3bfb1 !important;
	}
	#styling09.stylingbox{
		background:#d8e6df !important;
	}
	#styling10.stylingbox{
		background:#d8d7cb !important;
	}
	#styling01 .detail,
	#styling01 .creditlist{
			background:transparent;
	}
	.detail{
		height:780px;
	}
	.detailwhitebg{
		position:absolute;
		width:100%;
		height:500px;
		background-color:#ffffff;
		z-index:1;
		margin-top:-1px;
	}
	.pcbox{
		width:1000px;
		margin:0 auto;
	}
	.stylingttl{
		width:100%;
		margin:0;
		text-align:right;
		position:relative;
		z-index:10;
	}
	#styling02 .stylingttl,
	#styling04 .stylingttl,
	#styling06 .stylingttl,
	#styling08 .stylingttl,
	#styling10 .stylingttl{
		text-align:left;
	}
	.stylingttl .check{
		width:7%;
	}
	.stylingttl .ttlno{
		height:51px;
		display: inline;
		padding-right:0;
	}
	.stylingttl .stylingttlline{
		margin:0 2% !important;
		width:1px;
		height:51px;
		background-color:#3c3c3c;
		display: inline-block;
	}
	#styling07 .stylingttl .ttlno,
	#styling08 .stylingttl .ttlno{
		height:51px;
		display: inline;
		padding-right:0;
	}
	#styling07 .stylingttl .stylingttlline,
	#styling08 .stylingttl .stylingttlline{
		margin:0 2%;
		width:1px;
		height:51px;
		background-color:#3c3c3c;
		display: inline-block;
	}
	.stylingttl .shortcoat,
	.stylingttl .shortdown{
		height:51px !important;
		display: inline !important;
	}
	.stylingttl .longcoat,
	.stylingttl .longdown{
		height:64px !important;
		display: inline !important;
	}
	.kana{
		width:220px;
		margin-left:780px;
		margin-top:20px;
		text-align:center;
		font-size:25px;
		font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif !important;
		position:relative;
		z-index:10;
	}
	#styling04 .kana,
	#styling05 .kana,
	#styling06 .kana,
	#styling08 .kana,
	#styling10 .kana{
		margin-top:10px;
	}
	.commentttl{
		font-size:1.8rem;
		margin-bottom:20px;
	}
	.commentbox {
    position: absolute;
    top: 490px;
    width: 55%;
    left: 350px;
}
	.itemtxt {
		margin: 0;
		font-size: 16px;
		padding: 0 !important;
		line-height:2;
		width:260px;
	}
	#styling04 .itemtxt{
	width:250px;
}
	#styling08 .itemtxt{
	width:250px;
}
	#styling06 .itemtxt{
	width:260px;
}
	.photo1{
		height: 890px !important;
		margin-top:-145px;;
	}
	.photo2 {
		width: 650px;
		position: absolute;
		right: 0;
		z-index: 5;
			top:20px;
	}
	#styling02 .photo2,
	#styling04 .photo2,
	#styling06 .photo2,
	#styling08 .photo2,
	#styling10 .photo2{
		left:50px;
	}
	.itemname {
        width: 27%;
        position: absolute;
        left: 164px;
        top: 520px;
        transform: rotate(90deg);
    }
	#styling02 .itemname,
	#styling04 .itemname,
	#styling06 .itemname,
	#styling08 .itemname,
	#styling10 .itemname{
		left:0;
		margin-left:-120px;
	}
	.photobg{
		margin-top:0;
		position:absolute;
		top:416px;
		z-index:1;
	}
    .creditlist {
        position: absolute;
		top:750px !important;
        left: 50%;             /* 横中央基準 */
  		transform: translate(calc(-50% + 320px), -50%);
		z-index:10;
		padding:0 !important;
    }
	#styling02 .creditlist,
	#styling04 .creditlist,
	#styling06 .creditlist,
	#styling08 .creditlist,
	#styling10 .creditlist{
		transform: translate(calc(-50% + 20px), -50%);
	}
}