@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;
	background:#fdfcf9;
}
#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: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", 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 10% auto;
}
.movie .video-container {
    position: relative;
    width: 100vw;
    height: calc(100vw* 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: 20px;
		margin:80px auto;
	}
	.movie .video-container {
        position: relative;
        width: 600px;
        height: calc(600px* 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;
	}
}

.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;
    }
}

/* navibtn
----------------------------------------*/
#special_nav{
    width:100%;
    margin:0 0 20% 0;
}
#special_nav ul{
    padding:0;
    margin:0;
    display:flex;
    justify-content: space-between;
}
#special_nav ul li{
	list-style: none;
	margin:0;
	text-align:center;
	position:relative;
	transition: all .3s;
}
#special_nav ul li a{
	color:#000;
}
#special_nav ul li:hover{
    transform: scale(1.05,1.05) !important;
}
#special_nav ul li .navno{
		position:absolute;
		top:0;
		left:0;
		width:100%;
		margin:0 !important;
}
@media screen and (min-width: 1000px){
    #special_nav{
        max-width:1190px;
        width:100%;
        margin: 40px auto 120px auto !important;
		height:220px;
    }
    #special_nav ul{
        margin:0 auto;
        padding:0;
    }
    #special_nav ul li{
        margin:0 1%;
        width:31%;
		position:relative;
	}
	#special_nav ul li .navno{
		position:absolute;
		top:0;
		left:0;
		width:100%;
		margin:0 !important;
	}
}
@media screen and (max-width: 999px){
    #special_nav ul{
		flex-wrap: wrap;
	}
    #special_nav ul li{
		width: 32%;
        margin-right:2%;
	}
    #special_nav ul li:nth-child(3n){
        margin-right:0;
    }
    #special_nav a {
        transition: 0.6s ease-in-out;
	}
}

/* クレジット関係
-------------------------------------------------*/
.creditlist{
	margin:0 auto;
	padding:0 5% 5% 5%;
	width:90%;
}
.creditlist.green{
	background:#719196;
}
.creditlist.beige{
	background:#dbc99b;
}
.creditlist.pink{
	background:#bf9ab3;
}

.creditlist ul{
	margin:0;
	padding:0;
}
.creditlist li{
	margin:0;
	padding:0;
	color:#fff;
	/* display: flexをaタグに移動 */
}
/* li内のaタグに元のliのflexプロパティを適用 */
.creditlist li a{
	display: flex;
	align-items: center;
	padding:0 0 10px 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 2%;
	color:#004850;
}
.buybtnbox {
    display: flex;
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    width: 6em;
	margin: 0 0 0 2%;
	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;
    background-color: transparent;
	background:#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;
}
.creditlist.green .buybtnText{
	color:#719196;
}
.creditlist.beige .buybtnText{
	color:#dbc99b;
}
.creditlist.pink .buybtnText{
	color:#bf9ab3;
}
.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:400px;
	}
	.creditlist.green{
		background:transparent;
	}
	.creditlist.beige{
		background:transparent;
	}
	.creditlist.pink{
		background:transparent;
	}
	.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:2em
    }
    .buybtnText {
        font-size:0.8em;
        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* 0.84);
    position: relative;
	background:#ffffff;
}
#special_head .logo{
    width: 34%;
	position:absolute;
	z-index:10;
	left:33%;
	top:2%;
}
#special_head .mv1{
	width:33.333%;
	position:absolute;
	top:7%;
	left:0;
	z-index:1;
}
#special_head .mv2{
	width:33.333%;
	position:absolute;
	top:7%;
	left:33.333%;
	z-index:1;
}
#special_head .mv3{
	width:33.333%;
	position:absolute;
	top:7%;
	right:0;
	z-index:1;
}
#special_head .ttlshort{
	width: 4.4%;
    position: absolute;
    top: 10%;
    left: 29%;
    z-index: 2;
}
#special_head .ttlup{
	width: 4.4%;
    position: absolute;
    top: 10%;
    left: 62.2%;
    z-index: 2;
}
#special_head .ttlmedium{
	width: 4.4%;
    position: absolute;
    top: 10%;
    right: 0;
    z-index: 2;
}
#special_head .mvttl1{
	position: absolute;
    z-index: 2;
    width: 57%;
    top: calc(100vw * 0.53);
    left: 22%;
}
#special_head .mvline1{
	position: absolute;
    z-index: 2;
    width: 26%;
	height:1px;
	background:#000;
    top: calc(100vw * 0.59);
    left: 23%;
}
#special_head .mvline2{
	position: absolute;
    z-index: 2;
    width: 6%;
	height:1px;
	background:#000;
    top: calc(100vw * 0.612);
    left: 47%;
	transform:rotate(-45deg);
}
#special_head .mvline3{
	position: absolute;
    z-index: 2;
    width: 26%;
	height:1px;
	background:#000;
    top: calc(100vw * 0.59);
    right: 22%;
}
#special_head .mvttl2{
	position:absolute;
	z-index:3;
	width:84%;
	top:calc(100vw*0.63);
	left:8%;
}
#special_head .mvttl3{
	position:absolute;
	z-index:3;
	width:14%;
	top:calc(100vw*0.775);
	left:43%;
}
.attention{
	margin-top:3%;
}
@media screen and (min-width: 1000px){
	.mv{
		width:100%;
		height:calc(100vw*0.563);
		display: block;
		overflow: hidden;
	}
    #special_head{
        margin:0 !important;
        padding:0!important;
        width:100%;
        height:calc(100vw*0.8);
        position:relative;
        background:#d6d7dc;
    }
    #special_head .logo{
        width: 18%;
        position: absolute;
        z-index: 10 !important;
        top: 10px !important;
        left:41% !important;
    }
	#special_head .mv1{
		top:0 !important;
	}
	#special_head .mv2{
		top:0 !important;
	}
	#special_head .mv3{
		top:0 !important;
	}
	#special_head .ttlshort{
		width: 3.2%;
		position: absolute;
		top: 4%;
		left: 30.2%;
		z-index: 2;
	}
	#special_head .ttlup{
		width: 3.2%;
		position: absolute;
		top: 4%;
		left: 63.5%;
		z-index: 2;
	}
	#special_head .ttlmedium{
		width: 3.2%;
		position: absolute;
		top: 4%;
		right: 0;
		z-index: 2;
	}
	#special_head .mvttl1{
		width:40%;
		top:calc(100vw*0.34);
		left:30%;
	}
	#special_head .mvttl2{
		width:58%;
		top:calc(100vw*0.41);
		left:21%;
	}
	#special_head .mvttl3{
		position:absolute;
		z-index:3;
		width:9%;
		top:calc(100vw*0.52);
		left:45.5%;
	}
	#special_head .mvline1{
		width: 19%;
		top: calc(100vw * 0.383);
		left: 31%;
	}
	#special_head .mvline2{
		width: 4%;
		top: calc(100vw * 0.397);
		left: 48.6%;
	}
	#special_head .mvline3{
		width: 17%;
		top: calc(100vw * 0.383);
		right: 31%;
	}
    .attention{
		width:600px;
		margin:20px auto 0  auto !important;
    }
}

/* Sceneタイトル
----------------------------------------*/
.textbox{
	padding:0;
	margin-bottom:15%;
	text-align:center;
	font-feature-settings: "palt";
}
.textbox .subttlno{
	width:20%;
	margin:0 auto 5% auto;
}
.textbox .subttl{
	margin-bottom:5%;
  align-items: center; /* 横線を上下中央 */
  display: flex; /* 文字と横線を横並び */
}
.textbox .subttl .subttl__text{
	font-size:1.2em;
}
.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;
	margin:0;
}
@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:80px auto 100px auto;
	}
	.textbox .subttlno{
		width:115px;
		margin:0 auto 30px auto;
	}
	.textbox .subttl{
		width:800px;
		margin:0 auto 40px auto;;
	}
	.textbox .subttl .subttl__text{
		font-size:24px;
		margin-bottom: 0 !important;
	}
	.textbox p{
		font-size:16px;
		margin-bottom:15px;
		line-height:2 !important;
	}
}

/* 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);
  }
}

/* Animation Customize
----------------------------------------*/


/* stylingbox
----------------------------------------*/
.stylingbox {
    width: 100%;
    margin: 0 auto 60px auto;
}
.stylettlsub {
	width:90%;
	margin:0 10% 0 0;
	position:relative;
}
.stylettlsub .stylettlsub1{
	width:50%;
	margin-left:10%;
}
@media screen and (min-width: 1000px){
	.stylettlsub .stylettlsub1{
		margin-left:7%;
	}
}
.stylettlsub .stylettlsub2{
	width:5%;
	position:absolute;
	top:0;
	left:61%;
	margin-top:-3%;
}
.stylettlsub .stylettlsub3{
	position:absolute;
	right:0;
	bottom:0;
	width:40%;
}
.ttlsubline{
	width:90%;
	margin:2% 10% 2% 0;
	height:1px;
	background:#536e72;
}
.ttlsubline.beigeline{
	background:#dbc99b;
}
.ttlsubline.pinkline{
	background:#bf9ab3;
}

.tag{
	margin:0 auto 5% 10%;
	font-size:1.2em;
}
@media screen and (max-width: 393px){
	.tag{
		font-size:1em;
	}
}
.itemtxt {
	width:84%;
    margin: 0 auto 10% auto;
    font-size: 0.75rem;
    padding: 0;
	font-feature-settings: "palt";
}
.pointbox{
	width:80%;
	margin:0 auto;
}
.pointbox .pointttl{
	width:20%;
	margin:0 40% 3% 40%;
}
.pointbox ul{
	padding:0;
	margin:0;
	list-style: none;
}
.pointbox ul li{
	padding:0;
	margin:2% 0 4% 0;
	display: flex;
	align-items:flex-start;
}
.pointbox ul li img{
	width:7%;
	margin-top:1%;
}
.pointbox ul li p{
	font-feature-settings: "palt";
	margin:0 0 0 2%;
	padding:0;
	font-size:0.8rem;
}
@media screen and (max-width: 393px){
	.pointbox ul li p{
		font-size:0.72rem;
	}
}
.photo1box{
	width:99%;
	margin:10% 0 0 1%;
	display: flex;
}
.photo1box.reverse{
	width:99%;
	margin:10% 1% 0 0;
	display: flex;
}
.photo1box .tate1{
	width:5%;
	margin:3% 0 auto 0;
}
.photo1box .photo1 {
    width:100%;
	position:relative;
	height:calc(100vw*1.13);
}
.photo1box .photo1 img{
	position:absolute;
}
.photo1box .photo1 .text1{
	position:absolute;
	 writing-mode: vertical-rl;
	top:30%;
	font-size:0.9rem;
}
.photo1box .text1 span{
	border: 1px solid #fff;
    writing-mode: vertical-rl !important;
    padding: 2% 0;
    display: inline-block;
    white-space: nowrap;
}
.photo1box .photo1 .text2{
	position:absolute;
	writing-mode: vertical-rl;
	top:30%;
	font-size:0.9rem;
	padding:1%;
	white-space: nowrap;
}
.text1.short1{
	top:28% !important;
	height:55% !important;
	right:6%;
}
.text2.short1{
	top:28% !important;
	height:74% !important;
	right:13%;
}
.text1.short2{
	top:22% !important;
	height:55% !important;
	right:6%;
}
.text2.short2{
	top:22% !important;
	height:74% !important;
	right:13%;
}
.text1.short3{
	left:13% !important;
	top:24% !important;
	height:55% !important;
}
.text2.short3{
	left:4% !important;
	top:24% !important;
	height:74% !important;
}
.text1.up1{
	top:28% !important;
	height:55% !important;
	right:6%;
}
.text2.up1{
	top:28% !important;
	height:74% !important;
	right:13%;
}
.text1.up2{
	top:22% !important;
	left:13% !important;
	height:74% !important;
}
.text2.up2{
	top:22% !important;
	height:74% !important;
	left:4% !important;
}
.text1.up3{
	top:18% !important;
	height:55% !important;
	right:6%;
}
.text2.up3{
	top:18% !important;
	height:78% !important;
	right:13%;
}
.text1.medium1{
	left:13% !important;
	top:24% !important;
	height:55% !important;
}
.text2.medium1{
	left:4% !important;
	top:24% !important;
	height:74% !important;
}
.text1.medium2{
	left:13% !important;
	top:24% !important;
	height:55% !important;
}
.text2.medium2{
	left:4% !important;
	top:24% !important;
	height:74% !important;
}
.text1.medium3{
	top:30% !important;
	height:55% !important;
	right:6%;
}
.text2.medium3{
	top:30% !important;
	height:74% !important;
	right:13%;
}
.photo2 {
    margin:5% 15% 5% 15%;
    width: 70%;
    position: relative;
    z-index: 2;
}
.photobg{
	margin-top:-28%;
}
@media screen and (max-width: 393px){
	.photo1box .photo1 .text1,
	.photo1box .photo1 .text2{
		font-size:0.8rem !important;
		height:80% !important;
	}
}
@media screen and (min-width: 1000px) {
    .stylingbox {
        width: 100%;
        max-width: 1190px;
        margin: 120px auto;
        position: relative;
    }
	.detail{
		display: flex;
		height:320px;
	}
	.stylettlsub {
		max-width:610px;
		width:90%;
		margin:0 ;
		position:relative;
	}
	.ttlsubline{
		max-width:610px;
		width:90%;
		margin:10px auto 20px 0;
		height:1px;
		background:#536e72;
	}
	.tag{
		font-size:24px;
		max-width:610px;
		width:90%;
		    margin: 0 auto 40px 6%;
	}
	.itemtxt {
		width:470px;
		margin: 0 auto 0 6%;
		font-size: 16px;
		padding: 0 !important;
		line-height:2.4;
	}
	.pointbox{
		width:430px;
	}
	.pointbox ul{
		margin:0 auto;
	}
	.pointbox ul li{
		margin:3% 0 7% 0;
	}
	.pointbox ul li:last-child{
		margin:3% 0;
	}
	.pointbox ul li p{
		font-size:16px;
		letter-spacing:1px;
	}
	.photobox{
		position:relative;
		width:1190px;
		height:700px !important;
		top:0;
		margin:0 auto 40px auto;
	}
	.photo1box{
		position:absolute !important;
		width:571px !important;
		margin:0 !important;
		left:3% !important;
		z-index:10 !important;
		height: 651px !important;
	}
	.photo1{
		height: 651px !important;
	}
	.photo1box .tate1{
		margin:10% 0 auto 0;
	}
	.photo1box .photo1 .text1{
		font-size:17px;
		top:198px;
		padding:0.3% 0;
	}
	.photo1box .photo1 .text2{
		font-size:17px;
		top:200px;
		padding:0.3% 0;
	}
	.photo1box .text1 span{
		padding:1% 1.5% !important;
		display: initial;
		white-space: initial;
	}
	.photo2{
		position:absolute;
		width:400px;
		right:10%;
		top:5%;
		margin:0;
	}
	.photobg{
		margin-top:0;
		position:absolute;
		top:416px;
		z-index:1;
	}
    .creditlist {
        position: absolute;
		bottom:40px !important;
        right: 10%;
		z-index:10;
		padding:0 !important;
    }
	.hair02 .photo1box{
		left:49% !important;
	}
	.hair02 .photo2{
		left:10% !important;
	}
	.hair02 .creditlist{
		left:10% !important;
		margin:0 !important;
	}
	.text1.short1{
		top:238px !important;
		right:8% !important;
	}
	.text2.short1{
		top:243px !important;
		right:15% !important;
	}
	.text1.short2{
		top:228px !important;
		right:8%;
	}
	.text2.short2{
		top:233px !important;
		right:15%;
	}
	.text1.short3{
		top:228px !important;
		left:14% !important;
	}
	.text2.short3{
		top:233px !important;
		left:7% !important;
	}
	.text1.up1{
		top:228px !important;
		right:8%;
	}
	.text2.up1{
		top:233px !important;
		right:15%;
	}
	.text1.up2{
		top:188px !important;
		left:14% !important;
	}
	.text2.up2{
		top:193px !important;
		left:7% !important;
	}
	.text1.up3{
		top:188px !important;
		right:8% !important;
	}
	.text2.up3{
		top:193px !important;
		right:15% !important;
	}
	.text1.medium1{
		top:188px !important;
		left:14% !important;
	}
	.text2.medium1{
		top:193px !important;
		left:7% !important;
	}
	.text1.medium2{
		top:188px !important;
		left:14% !important;
	}
	.text2.medium2{
		top:193px !important;
		left:7% !important;
	}
	.text1.medium3{
		top:228px !important;
		right:8%;
	}
	.text2.medium3{
		top:233px !important;
		right:15%;
	}
}

/* BG image
----------------------------------------*/

/* BG image
----------------------------------------*/

@media (max-width:999px){
    .photobox{
        position:relative;
        --extend:34vw;
        --reveal-dur:1.6s;
        --reveal-delay:.4s;
        --reveal-ease:cubic-bezier(.4,0,.2,1);
        overflow: hidden;
    }

    /* 画像は普通に表示 */
    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;
    }

    /* 背景も同じく */
    .photobox::after{
        content:"";position:absolute;left:0;right:0;bottom:0;
        height:calc(var(--extend) + 1px);
        background:#719196;
        z-index:1;
        /* 初期状態は左に隠す */
        transform: translateX(-100%);
        will-change: transform;
    }

    #styling02 .photobox::after{ background:#dbc99b !important; }
    #styling03 .photobox::after{ background:#bf9ab3 !important; }

    /* hair02の場合は右から左へ */
    .photobox.hair02 img.photobg.sp,
    .photobox.hair02::after {
        transform: translateX(100%); /* 右に隠す */
    }

    .photobox .photo1box,.photobox .photo2,.photobox .creditlist{
        position:relative;z-index:3;background:transparent!important;
    }

    /* アニメーション発火 */
    .photobox.is-inview img.photobg.sp,
    .photobox.is-inview::after{
        transform: translateX(0%);
        transition: transform var(--reveal-dur) var(--reveal-ease) var(--reveal-delay);
    }
}

@media screen and (min-width: 1000px) {
    .stylingbox {
        width: 100%;
        max-width: 1190px;
        margin: 120px auto;
        position: relative;
    }
    
    .photobox {
        position: relative;
        width: 1190px;
        height: 700px !important;
        top: 0;
        margin: 0 auto 40px auto;
        overflow: visible;
    }
    
    .photobox::after {
		content: "";
		position: absolute;
		top: 416px;
		left: 50%;
		width: 100vw;
		height: 284px;
		margin-left: -50vw;
		background-size: cover;
		background-position: center top; /* 上部を基準に表示 */
		background-repeat: no-repeat;
		z-index: 1;
		transform: translateX(-100%);
		transition: transform 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
    }
    
    /* hair02の場合は右から左へ */
    .photobox.hair02::after {
        transform: translateX(100%); /* 右に隠す */
    }
    
    /* セクション別背景画像 */
    #styling01 .photobox::after {
        background-image: url('../img/01bgpc.png');
    }
    
    #styling02 .photobox::after {
        background-image: url('../img/02bgpc.png');
    }
    
    #styling03 .photobox::after {
        background-image: url('../img/03bgpc.png');
    }
    
    /* hair02用 */
    #styling01 .photobox.hair02::after {
        background-image: url('../img/01bgpc2.png');
    }
    
    #styling02 .photobox.hair02::after {
        background-image: url('../img/02bgpc2.png');
    }
    
    #styling03 .photobox.hair02::after {
        background-image: url('../img/03bgpc2.png');
    }
    
    /* アニメーション発火（hair02も通常も同じ終了位置） */
    .photobox.is-inview::after {
        transform: translateX(0%);
    }
    
    .photo1box {
        position: absolute !important;
        z-index: 10 !important;
    }
    
    .photo2 {
        position: absolute;
        z-index: 2;
    }
    
    .creditlist {
        z-index: 10;
    }
    
    .photobg.pc {
        display: none;
    }
}

@media screen and (min-width: 1000px) and (max-width: 1190px) {
    .photobox::after {
        width: 100%;
        margin-left: -50%;
        left: 50%;
    }
}