body {
    height: 100%;
    margin: 0;
    font-feature-settings: 'palt';
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	font-family: "Noto Sans JP", sans-serif !important;
}

.eachTextAnime span{opacity: 0;}
.eachTextAnime.appeartext span{ animation:text_anime_on 1s ease-out forwards; }
@keyframes text_anime_on {
    0% {opacity:0;}
    100% {opacity:1;}
}

/*imac*/
@media screen and (min-width: 2560px) and (max-width: 5120px) {
	.sp-on{
		display: none !important;
	}
	
	/* Loading Block */
	#loading {
		width: 100vw;
		height: 100vh;
		transition: all 1s;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
	}
	.loading-logo {
		width: 100vw;
		height: 100vh;
		transition: all 1s;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
		overflow: hidden;
		animation: fade-out 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
		animation-delay: 3s;
		background: #3D3B62;
	}
	.loading-logo .logo{
		width: 30%;
		position: absolute;
		display: block;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		left: 0;
		right: 0;
		margin: 0 auto;
		z-index: 99;
	}
	
    /*header*/
	header{
		width: 100%;
		position: relative;
		overflow: hidden;
		margin: 0 auto 3% auto;
		padding: 0;
	}
	.mv-box{
		width: 100%;
		display: flex;
		justify-content: flex-start;
	}
	.mv-box .img{
		width: 50%;
		overflow: hidden;
	}
	.mv-title-box{
		width: 30%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
		z-index: 3;
		background: #3D3B62;
	}
	.mv-title-box-in{
		width: 100%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
	}
	.mv-title{
		width: 90%;
		margin: 0 auto 30% auto;
	}
	.mv-logo{
		width: 20%;
		margin: 0 auto;
	}
	.scrolldown1{
        position:absolute;
        right: 2%;
        bottom: 0%;
        height:100px;
		filter: drop-shadow(2px 0px 10px #0d1f29);
	}
	.scrolldown1 span{
	  width: 11px;
	  position: absolute;
	  right: 0;
	  left: -7px;
	  top: -40px;
      -webkit-transform: translateY(-50%); /* Safari用 */
      transform: translateY(-50%);
	  color: #fff;
	  font-size: 14px;
	  letter-spacing: 2px;
	}
	.scrolldown1::after{
	  content: "";
	  position: absolute;
	  top: 0;
	  width: 1px;
	  height: 100px;
	  background: #fff;
	  animation: pathmove 1.4s ease-in-out infinite;
	  opacity:0;
	}
	@keyframes pathmove{
	  0%{
		height:0;
		top:0;
		opacity: 0;
	  }
	  30%{
		height:50px;
		opacity: 1;
	  }
	  100%{
		height:0;
		top:100px;
		opacity: 0;
	  }
	}
	
	/*read*/
	.read{
		width: 100%;
		margin: 0 auto 10% auto;
	}
	.read .txt{
		font-size: 18px;
		letter-spacing: 2px;
		line-height: 2.5em;
		text-align: center;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		margin: 0 0 0 0;
		color: #474545;
	}
	
	/*door*/
	.door{
		width: 100%;
		max-width: 1200px;
		position: relative;
		margin: 0 auto 5% auto;
	}
	.door .icon{
		width: 120px;
		position: absolute;
		top: -60px;
		left: 5%;
	}
	.door .title-box{
		width: 100%;
		position: relative;
		border-bottom: 1px solid #000;
		margin: 0 0 3% 0;
		padding: 0 0 2% 0;
	}
	.door .title-box .num{
		width: 10%;
		height: 100%;
		border-right: 1px solid #000;
		position: absolute;
		top: 0;
		left: 0;
		padding: 0 3% 0 3%;
	}
	.door .title-box .num span{
		width: 100%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
	}
	.door .title-box .num span img{
		height: 45px;
	}
	.door .title-box .title{
		width: 100%;
	}
	.door .title-box .title .main{
		width: 100%;
		font-size: 35px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		letter-spacing: 4px;
		text-align: center;
		line-height: 1.8em;
	}
	.door .title-box .title .sub{
		width: 100%;
		font-size: 16px;
		font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
		letter-spacing: 4px;
		text-align: center;
		display: block;
		line-height: 1.8em;
		color: #3D3B62;
	}
	.door .txt{
		width: 100%;
		box-sizing: border-box;
		padding: 3% 5%;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2em;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		background: rgba(239,230,211,0.30);
		text-align: justify;
	}
	
	/*common*/
	.item-wrap{
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	.item-wrap .side{
		width: 35px;
		height: 100%;
		position: absolute;
		top: 0;
		left: 7%;
		z-index: 30;
	}
	.item-wrap .side .side-in{
		width: 35px;
		position: sticky;
		top: 10%;
	}
	
	/*item-m*/
	.item-m{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: space-between;
		border-bottom: 1px solid #eee;
		padding: 0 0 5% 0;
	}
	.item-m .img{
		width: 50%;
		overflow: hidden;
	}
	.item-m .data{
		width: 45%;
		padding: 5% 0 0 0;
	}
	.item-m .data .style{
		width: 100%;
		margin: 0 0 5% 0;
	}
	.item-m .data .style img{
		height: 100px;
		display: block;
		margin: 0 auto;
	}
	.item-m .data .style02{
		width: 100%;
		margin: 0 0 10% 0;
	}
	.item-m .data .style02 img{
		height: 55px;
		display: block;
		margin: 0 auto;
	}
	.item-m .data .txt-box{
        width: 80%;
        margin: 0 auto;
        position: relative;
		margin: 0 10% 5% 10%;
		box-sizing: border-box;
    }
    .item-m .data .txt-box .txt{
        width: 100%;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		text-align: center;
		font-size: 21px;
		letter-spacing: 3px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }
    .square{
        width: 100%;
    }
    .square.active{
        width: 100%;
        height: 60px;
        background-image: 
        linear-gradient(00deg, #C5C6C6, #C5C6C6),
        linear-gradient(00deg, #C5C6C6, #C5C6C6),
        linear-gradient(00deg, #C5C6C6, #C5C6C6),
        linear-gradient(00deg, #C5C6C6, #C5C6C6);
        background-repeat: no-repeat;
        background-size: 1px 100%, 100% 1px, 1px 100%, 100% 1px;
        background-position: left bottom, left top, right top, right bottom;
        animation: square_anim 1s linear forwards;
        animation-delay: 1s;
        opacity: 0;
		background-color: rgba(255,255,255,0.7);
    }

    @keyframes square_anim{
      00%{
        opacity: 0;
        background-size: 
        1px 0, 0 1px,
        1px 0, 0 1px; 
      }
      25%{
        opacity: 1;
        background-size: 
        1px 100%, 0 1px,
        1px 0, 0 1px;
      }
      50%{
        opacity: 1;
        background-size: 
        1px 100%, 100% 1px,
        1px 0, 0 1px;
      }
      75%{
        opacity: 1;
        background-size: 
        1px 100%, 100% 1px,
        1px 100%, 0 1px;
      }
      100%{
        opacity: 1;
        background-size: 
        1px 100%, 100% 1px,
        1px 100%, 100% 1px;
      }
    }
	.item-m .data .sub-txt{
        width: 100%;
		text-align: center;
		font-size: 18px;
		letter-spacing: 3px;
		line-height: 2.3em;
		margin: 0 0 7% 0;
		font-weight: bold;
    }
	.item-m .data .link-box{
        width: 90%;
		margin: 0 auto;
    }
	
	.item-m02{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 0 5% 0;
	}
	.item-m02-line{
		width: 100%;
		border-bottom: 1px solid #8D908F;
	}
	.item-m02 .img{
		width: 50%;
		overflow: hidden;
	}
	.item-m02 .data{
		width: 45%;
		padding: 5% 0 0 0;
	}
	.item-m02 .data .style{
		width: 100%;
		margin: 0 0 10% 0;
	}
	.item-m02 .data .style img{
		height: 55px;
		display: block;
		margin: 0 auto;
	}
	.item-m02 .data .txt{
        width: 90%;
		text-align: justify;
		font-size: 16px;
		letter-spacing: 3px;
		line-height: 2em;
		margin: 0 auto 20% auto;
    }
	.item-m02 .data .link-box{
        width: 90%;
		margin: 0 auto;
    }
	
	/*item-b*/
	.item-b{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 5% auto;
		border-bottom: 1px solid #eee;
		padding: 0 0 5% 0;
		position: relative;
	}
	.item-b .img{
		width: 100%;
		overflow: hidden;
	}
	.item-b .img .data{
		width: 45%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		left: 7%;
	}
	.item-b .img .data .style{
		width: 100%;
		margin: 0 0 5% 0;
	}
	.item-b .img .data .style img{
		height: 100px;
		display: block;
		margin: 0 auto;
	}
	.item-b .img .data .txt-box{
        width: 80%;
        margin: 0 auto;
        position: relative;
		margin: 0 10% 5% 10%;
		box-sizing: border-box;
    }
    .item-b .img .data .txt-box .txt{
        width: 100%;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		text-align: center;
		font-size: 21px;
		letter-spacing: 3px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }
	.item-b .img .data .sub-txt{
        width: 100%;
		text-align: center;
		font-size: 18px;
		letter-spacing: 3px;
		line-height: 2.3em;
		font-weight: bold;
    }
	.item-b .link-list{
		width: 80%;
		display: flex;
		justify-content: space-between;
		margin: 30px auto 30px auto;
	}
	.item-b .link-list li{
		width: 33%;
	}
	.item-b .link-box{
		width: 40%;
		margin: 0 auto;
	}
	
	/*col02*/
	.col02{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 5% auto;
		border-bottom: 1px solid #eee;
		padding: 0 0 5% 0;
		position: relative;
	}
	.col2-line{
		width: 1px;
		height: 95%;
		background: #eee;
		position: absolute;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	
	.item-2{
		width: 45%;
	}
	.item-2 .title{
        width: 200px;
		border: 1px solid #000;
		margin: 0 auto 15px auto;
		position: relative;
    }
	.bg-p{
        width: 100%;
		height: 100%;
		z-index: -1;
		left: 0;
		top: 0;
		position: absolute;
		background: #BFADD7;
    }
	.bg-p.active{
		opacity : 1;
		animation-name: bg-p;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
	}
	@keyframes bg-p {
		0% {
		  transform: translate(0, 0);
		}
		100% {
		  transform: translate(10px, 10px);
		}
	}
	.item-2 .min-txt{
		font-size: 14px;
		letter-spacing: 2px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		text-align: center;
		margin: 0 0 2% 0;
    }
	.item-2 .sub-txt{
        width: 100%;
		text-align: center;
		font-size: 18px;
		letter-spacing: 3px;
		line-height: 2.3em;
		margin: 0 0 5% 0;
		font-weight: bold;
    }
	.item-2 .img{
		width: 100%;
		overflow: hidden;
		margin: 0 auto 5% auto;
	}
	.item-2 .link-box{
		width: 90%;
		margin: 0 auto;
	}
	
	/*other-wrap*/
	.other-wrap{
		width: 100%;
		background: #F9F9F9;
		padding: 3% 0 0 0;
	}
	.other-wrap .main-title{
		width: 100%;
		max-width: 500px;
		margin: 0 auto 3% auto;
	}
	.other-wrap .main-title .line{
		width: 1px;
		height: 150px;
		background: #8D908F;
		margin: 0 auto 5% auto;
		display: block;
	}
	
	/*end-banner*/
	.end-banner{
		width: 100%;
		max-width: 600px;
		margin: 0 auto 10% auto;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.end-banner:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	
	/*marker*/
	.marker01{
		display: inline;
        background-image: linear-gradient(90deg, rgba(61,59,98,1), rgba(61,59,98,1));
        background-repeat: no-repeat;
        background-position: left bottom;
        background-size: 0 1px;
		padding: 0 0 4px 0;
		color: rgba(61,59,98,1);
        transition: all 0.8s ease;
	}
	.marker01.active {
		background-size: 100% 1px;
	}
	
	/*acd*/
	.acd-check{
		display: none;
	}
	.acd-label{
		width: 100%;
		color: #000;
		font-size: 13px;
		letter-spacing: 2px;
		text-align: center;
		display: block;
		margin-bottom: 1px;
		padding: 10px 15px;
		position: relative;
		border: 1px solid #9a9a9b;
		box-sizing: border-box;
		margin: 3% 0 3% 0;
		background: #F0F0F0;
	}
	.acd-label:after{
		box-sizing: border-box;
		content: '';
		background: url("../img/acd-icon01.svg") no-repeat;
		display: block;
		width: 20px;
		height: 20px;
		position: absolute;
		right: 15px;
		top: 10px;
	}
	.acd-content{
		display: block;
		height: 0;
		opacity: 0;
		transition: .5s;
		visibility: hidden;
	}
	.acd-check:checked + .acd-label:after{
		content: '';
		background: url("../img/acd-icon02.svg") no-repeat;
		display: block;
		width: 20px;
		height: 20px;
		position: absolute;
		right: 15px;
		top: 10px;
		z-index: 99;
	}
	.acd-check:checked + .acd-label + .acd-content{
		height: auto;
		opacity: 1;
		visibility: visible;
	}
	
	.l-icon::before{
        content: url("../img/l-size.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: -3px;
    }
    .s-icon::before{
        content: url("../img/s-size.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: -3px;
    }
	
	/*sid-nav*/
    .side-nav{
		position: fixed;
		display: block;
		width: 100px;
		right: 20px;
        top: 0;
		height: 100vh;
		z-index: 10;
	}
	.side-nav-in{
		width: 100px;
		position: absolute;
		top: 40%;
		-webkit-transform: translateY(-40%); /* Safari用 */
		transform: translateY(-40%);
	}
	.side-nav-in a{
		opacity: 1;
		transition: .3s;
		display: block;
        text-align: center;
        font-size: 12px;
        color: #000;
        text-decoration: none;
        line-height: 2em;
		padding: 0 0 20px 0;
	}
	.side-nav-in a:hover{
		opacity: .5;
		transition: .3s;
	}
	
	/*f-banner*/
	.f-banner{
		width: 100%;
		max-width: 600px;
		margin: 0 auto 5% auto;
	}
	.f-banner-list{
		width: 100%;
		margin: 0 auto;
	}
	.f-banner-list li{
		width: 100%;
		margin: 0 0 3% 0;
	}
	.f-banner-list li a{
		width: 100%;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.f-banner-list li a:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	/*f-banner02*/
	.f-banner02{
		border-top: 1px solid #000;
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 5% auto;
		padding: 5% 0 0 0;
	}
	.f-banner02-list{
		width: 100%;
		max-width: 600px;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.f-banner02-list li{
		width: 47%;
	}
	.f-banner02-list li a{
		width: 100%;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.f-banner02-list li a:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	/*footer*/
	.footer {
		color: #000;
		letter-spacing: 0.3em;
		padding: 0 0 2% 0;
		position: relative;
		text-align: center;
	}
	.footer .insta{
		display: block;
		width: 450px;
		border: 1px solid #eee;
		margin: 0 auto 3% auto;
		transition: .3s;
	}
	.footer .insta:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	.footer_sns {
		margin: 26px 0 0;
	}
	.footer_snsNode {
		display: inline-block;
		margin: 0 10px;
		width: 30px;
	}
	.f-ow{
		width: 120px;
		margin: 25px auto 0 auto;
	}
	.footer_copyright {
		font-family: "Helvetica",serif;
		font-size: 10px;
		letter-spacing: 0.02em;
		margin: 34px 0 0;
	}
	#pagetop{
		position: fixed;
		right: 15px;
		bottom: 20px;
		width: 35px;
		display: block;
		z-index: 99;
	}
	
	/*cart-btm*/
	.cart-btm{
		width: 100%;
		text-decoration: none;
		color: #000;
		transition: 0.3s;
		line-height: 1.5em;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 2% 0;
		font-family: "Noto Sans JP", sans-serif !important;
	}
	.cart-title{
		font-size: 14px;
        letter-spacing: 1px;
        width: 70%;
        position: relative;
        line-height: 1.5em;
        white-space: nowrap;
	}
    .cart-title span{
		font-size: 12px;
		color: #fff;
		background: #99999a;
		padding: 1px 5px 1px 5px;
		margin: 0 0 0 10px;
		border-radius: 2px;
        display: inline-block;
	}
    .cart-yen{
		font-size: 15px;
		line-height: 1.9;
    	letter-spacing: 0.05em;
        width: 80%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        white-space: nowrap;
		font-family: "Noto Sans JP", sans-serif !important;
	}
	.cart-yen span{
		font-size: 11px;
    	letter-spacing: 0;
		margin: 0 0 0 5px;
		position: relative;
		top: 0px;
	}
	
	.link-line{
		width: 100%;
		height: 1px;
		background: #eee;
		margin: 5% 0;
	}
	
	.cart-btm .btn00{
		font-size: 11px;
		line-height: 1.5em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #fff;
		border: 1px solid #231815;
		display: inline-block;
		text-align: center;
		color: #000;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn00 {
	  background: #231815;
	  border-color: #231815;
	  color: #fff;
	}
	
	.cart-btm .btn01{
		font-size: 11px;
		line-height: 1.5em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #9C8680;
		border: 1px solid #9C8680;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn01 {
	  background: #fff;
	  border-color: #9C8680;
	  color: #9C8680;
	}
	
	.cart-btm .btn02{
		font-size: 11px;
		line-height: 1em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #84b250;
		border: 1px solid #84b250;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn02 {
	  background: #fff;
	  border-color: #84b250;
	  color: #84b250;
	}
	
	.cart-btm .btn03{
		font-size: 11px;
		line-height: 1em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #abaab6;
		border: 1px solid #abaab6;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn03 {
	  background: #fff;
	  border-color: #abaab6;
	  color: #abaab6;
	}
	
	.cart-btm .btn04{
		font-size: 11px;
		line-height: 1em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #67bbde;
		border: 1px solid #67bbde;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn04 {
	  background: #fff;
	  border-color: #67bbde;
	  color: #67bbde;
	}
	
	.btn-border {
	  background-color: transparent;
	  color: #1d1d1d;
	}
	.btn-arrow {
	  position: relative;
	  -webkit-transition: background-color 300ms ease-out;
	  transition: background-color 300ms ease-out;
	}
	.btn-arrow span {
	  display: inline-block;
	  position: relative;
	  -webkit-transition: all 300ms ease-out;
	  transition: all 300ms ease-out;
	  will-change: transform;
	}
	.cart-btm:hover .btn-arrow span {
	  -webkit-transform: translate3d(-.5rem, 0, 0);
			  transform: translate3d(-.5rem, 0, 0);
	}
	.btn-arrow img {
	  position: absolute;
	  width: 1.1em;
	  right: 0px;
	  right: 0rem;
	  opacity: 0;
	  top: 50%;
	  -webkit-transform: translateY(-50%);
			  transform: translateY(-50%);
	  -webkit-transition: all 300ms ease-out;
	  transition: all 300ms ease-out;
	  will-change: right, opacity;
	}
	.btn-arrow img * {
	  stroke-width: 5;
	  stroke-color: transparent;
	}
	.cart-btm:hover .btn-arrow img {
	  opacity: 1;
	  right: -1rem;
	}
	
	
	/*anime----------------------------------------------------*/
	/*fade01*/
	.fade01 {
		animation-name: fade-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 4.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade02 {
		animation-name: fade-in;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 4.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade03 {
		animation-name: fade-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade04 {
		animation-name: fade-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 1.6s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fade-in {
		0% {
		  opacity: 0;
		}
		100% {
		  opacity: 1;
		}
	}

	.fadein-up {
		opacity : 0;
	}
	.fadein-up.active{
		opacity : 1;
		animation-name: fadein-up;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fadein-up {
		0% {
		  opacity: 0;
		  transform: translateY(50px)
		}
		100% {
		  opacity: 1;
		  transform: translateY(0px)
		}
	}
	
	.fadein-up02 {
		opacity : 0;
	}
	.fadein-up02.active{
		opacity : 1;
		animation-name: fadein-up02;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fadein-up02 {
		0% {
		  opacity: 0;
		  transform: scale(1.2);
		}
		100% {
		  opacity: 1;
		  transform: scale(1);
		}
	}
	
	.fadein-l {
		opacity : 0;
	}
	.fadein-l.active{
		opacity : 1;
		animation-name: fadein-l;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fadein-l {
		0% {
		  opacity: 0;
		  transform: translateX(-50px)
		}
		100% {
		  opacity: 1;
		  transform: translateX(0px)
		}
	}
	
	.popup1{
		width: 100%;
		display: block;
		opacity: 0;
	}
	.popup1.active{
		animation: popup 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
		animation-delay: 0s;
	}
	.popup2{
		width: 100%;
		display: block;
		opacity: 0;
	}
	.popup2.active{
		animation: popup 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
		animation-delay: 0.5s;
	}
	@keyframes popup {
	  0% {
		transform: translateY(10%);
		opacity: 0;
	  }
	  100% {
		transform: translateX(0);
	  }
	  60%,100% {
		opacity: 1;
	  }
	}
	
	.display {
		opacity : 1;
		transform : translateX(-100%);
		transition : all 0.5s;
	}
	.display.active{
		opacity : 1;
		transform : translateX(0%);
	}
	
	.gbc-mv{
		background: #3D3B62;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc01{
		background: #BFADD7;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc02{
		background: #FDDC93;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc03{
		background: #FED7BE;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc04{
		background: #ADDBC3;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc05{
		background: #A6C4DC;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc06{
		background: #fff;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	
	@keyframes bggradient{
		0% {
			background-position: 0% 50%;
		}
		50% {
			background-position: 100% 50%;
		}
		100% {
			background-position: 0% 50%;
		}
	}
	
	
	.gb01 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity : 1;
		transform : translate(0, 0);
		transition : all 1s;
		z-index: 9999;
	}
	.gb01.active{
		position: absolute;
		top: 0;
		left: 0;
		animation-name: fade-in-img01;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 1s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		
	}
	@keyframes fade-in-img01 {
		0% {
		  opacity: 1;
		  transform : translateX(0%);
		}
		60% {
		  opacity: .7;
		  transform : translateX(100%);
		}
		100% {
		  opacity: 0;
		  transform : translateX(100%);
		}
	}
	
	.mvbg01 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity : 1;
		transform : translate(0, 0);
		transition : all 1s;
		z-index: 9999;
	}
	.mvbg01.active{
		position: absolute;
		top: 0;
		left: 0;
		animation-name: fade-in-mvbg01;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 3.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		
	}
	@keyframes fade-in-mvbg01 {
		0% {
		  transform : translateX(0%);
		}
		60% {
		  transform : translateX(100%);
		}
		100% {
		  transform : translateX(100%);
		}
	}
	.mvbg02 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity : 1;
		transform : translate(0, 0);
		transition : all 1s;
		z-index: 9999;
	}
	.mvbg02.active{
		position: absolute;
		top: 0;
		left: 0;
		animation-name: fade-in-mvbg02;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 3.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		
	}
	@keyframes fade-in-mvbg02 {
		0% {
		  transform : translateX(0%);
		}
		60% {
		  transform : translateX(-100%);
		}
		100% {
		  transform : translateX(-100%);
		}
	}
	
	
}

/*pc*/
@media screen and (min-width: 1281px) and (max-width: 2559px) {
	.sp-on{
		display: none !important;
	}
	
	/* Loading Block */
	#loading {
		width: 100vw;
		height: 100vh;
		transition: all 1s;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
	}
	.loading-logo {
		width: 100vw;
		height: 100vh;
		transition: all 1s;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
		overflow: hidden;
		animation: fade-out 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
		animation-delay: 3s;
		background: #3D3B62;
	}
	.loading-logo .logo{
		width: 30%;
		position: absolute;
		display: block;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		left: 0;
		right: 0;
		margin: 0 auto;
		z-index: 99;
	}
	
    /*header*/
	header{
		width: 100%;
		position: relative;
		overflow: hidden;
		margin: 0 auto 3% auto;
		padding: 0;
	}
	.mv-box{
		width: 100%;
		display: flex;
		justify-content: flex-start;
	}
	.mv-box .img{
		width: 50%;
		overflow: hidden;
	}
	.mv-title-box{
		width: 30%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
		z-index: 3;
		background: #3D3B62;
	}
	.mv-title-box-in{
		width: 100%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
	}
	.mv-title{
		width: 90%;
		margin: 0 auto 30% auto;
	}
	.mv-logo{
		width: 20%;
		margin: 0 auto;
	}
	.scrolldown1{
        position:absolute;
        right: 2%;
        bottom: 0%;
        height:100px;
		filter: drop-shadow(2px 0px 10px #0d1f29);
	}
	.scrolldown1 span{
	  width: 11px;
	  position: absolute;
	  right: 0;
	  left: -7px;
	  top: -40px;
      -webkit-transform: translateY(-50%); /* Safari用 */
      transform: translateY(-50%);
	  color: #fff;
	  font-size: 14px;
	  letter-spacing: 2px;
	}
	.scrolldown1::after{
	  content: "";
	  position: absolute;
	  top: 0;
	  width: 1px;
	  height: 100px;
	  background: #fff;
	  animation: pathmove 1.4s ease-in-out infinite;
	  opacity:0;
	}
	@keyframes pathmove{
	  0%{
		height:0;
		top:0;
		opacity: 0;
	  }
	  30%{
		height:50px;
		opacity: 1;
	  }
	  100%{
		height:0;
		top:100px;
		opacity: 0;
	  }
	}
	
	/*read*/
	.read{
		width: 100%;
		margin: 0 auto 10% auto;
	}
	.read .txt{
		font-size: 18px;
		letter-spacing: 2px;
		line-height: 2.5em;
		text-align: center;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		margin: 0 0 0 0;
		color: #474545;
	}
	
	/*door*/
	.door{
		width: 100%;
		max-width: 1200px;
		position: relative;
		margin: 0 auto 5% auto;
	}
	.door .icon{
		width: 120px;
		position: absolute;
		top: -60px;
		left: 5%;
	}
	.door .title-box{
		width: 100%;
		position: relative;
		border-bottom: 1px solid #000;
		margin: 0 0 3% 0;
		padding: 0 0 2% 0;
	}
	.door .title-box .num{
		width: 10%;
		height: 100%;
		border-right: 1px solid #000;
		position: absolute;
		top: 0;
		left: 0;
		padding: 0 3% 0 3%;
	}
	.door .title-box .num span{
		width: 100%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
	}
	.door .title-box .num span img{
		height: 45px;
	}
	.door .title-box .title{
		width: 100%;
	}
	.door .title-box .title .main{
		width: 100%;
		font-size: 35px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		letter-spacing: 4px;
		text-align: center;
		line-height: 1.8em;
	}
	.door .title-box .title .sub{
		width: 100%;
		font-size: 16px;
		font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
		letter-spacing: 4px;
		text-align: center;
		display: block;
		line-height: 1.8em;
		color: #3D3B62;
	}
	.door .txt{
		width: 100%;
		box-sizing: border-box;
		padding: 3% 5%;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2em;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		background: rgba(239,230,211,0.30);
		text-align: justify;
	}
	
	/*common*/
	.item-wrap{
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	.item-wrap .side{
		width: 35px;
		height: 100%;
		position: absolute;
		top: 0;
		left: 7%;
		z-index: 30;
	}
	.item-wrap .side .side-in{
		width: 35px;
		position: sticky;
		top: 10%;
	}
	
	/*item-m*/
	.item-m{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: space-between;
		border-bottom: 1px solid #eee;
		padding: 0 0 5% 0;
	}
	.item-m .img{
		width: 50%;
		overflow: hidden;
	}
	.item-m .data{
		width: 45%;
		padding: 5% 0 0 0;
	}
	.item-m .data .style{
		width: 100%;
		margin: 0 0 5% 0;
	}
	.item-m .data .style img{
		height: 100px;
		display: block;
		margin: 0 auto;
	}
	.item-m .data .style02{
		width: 100%;
		margin: 0 0 10% 0;
	}
	.item-m .data .style02 img{
		height: 55px;
		display: block;
		margin: 0 auto;
	}
	.item-m .data .txt-box{
        width: 80%;
        margin: 0 auto;
        position: relative;
		margin: 0 10% 5% 10%;
		box-sizing: border-box;
    }
    .item-m .data .txt-box .txt{
        width: 100%;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		text-align: center;
		font-size: 21px;
		letter-spacing: 3px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }
    .square{
        width: 100%;
    }
    .square.active{
        width: 100%;
        height: 60px;
        background-image: 
        linear-gradient(00deg, #C5C6C6, #C5C6C6),
        linear-gradient(00deg, #C5C6C6, #C5C6C6),
        linear-gradient(00deg, #C5C6C6, #C5C6C6),
        linear-gradient(00deg, #C5C6C6, #C5C6C6);
        background-repeat: no-repeat;
        background-size: 1px 100%, 100% 1px, 1px 100%, 100% 1px;
        background-position: left bottom, left top, right top, right bottom;
        animation: square_anim 1s linear forwards;
        animation-delay: 1s;
        opacity: 0;
		background-color: rgba(255,255,255,0.7);
    }

    @keyframes square_anim{
      00%{
        opacity: 0;
        background-size: 
        1px 0, 0 1px,
        1px 0, 0 1px; 
      }
      25%{
        opacity: 1;
        background-size: 
        1px 100%, 0 1px,
        1px 0, 0 1px;
      }
      50%{
        opacity: 1;
        background-size: 
        1px 100%, 100% 1px,
        1px 0, 0 1px;
      }
      75%{
        opacity: 1;
        background-size: 
        1px 100%, 100% 1px,
        1px 100%, 0 1px;
      }
      100%{
        opacity: 1;
        background-size: 
        1px 100%, 100% 1px,
        1px 100%, 100% 1px;
      }
    }
	.item-m .data .sub-txt{
        width: 100%;
		text-align: center;
		font-size: 18px;
		letter-spacing: 3px;
		line-height: 2.3em;
		margin: 0 0 7% 0;
		font-weight: bold;
    }
	.item-m .data .link-box{
        width: 90%;
		margin: 0 auto;
    }
	
	.item-m02{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 0 5% 0;
	}
	.item-m02-line{
		width: 100%;
		border-bottom: 1px solid #8D908F;
	}
	.item-m02 .img{
		width: 50%;
		overflow: hidden;
	}
	.item-m02 .data{
		width: 45%;
		padding: 5% 0 0 0;
	}
	.item-m02 .data .style{
		width: 100%;
		margin: 0 0 10% 0;
	}
	.item-m02 .data .style img{
		height: 55px;
		display: block;
		margin: 0 auto;
	}
	.item-m02 .data .txt{
        width: 90%;
		text-align: justify;
		font-size: 16px;
		letter-spacing: 3px;
		line-height: 2em;
		margin: 0 auto 20% auto;
    }
	.item-m02 .data .link-box{
        width: 90%;
		margin: 0 auto;
    }
	
	/*item-b*/
	.item-b{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 5% auto;
		border-bottom: 1px solid #eee;
		padding: 0 0 5% 0;
		position: relative;
	}
	.item-b .img{
		width: 100%;
		overflow: hidden;
	}
	.item-b .img .data{
		width: 45%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		left: 7%;
	}
	.item-b .img .data .style{
		width: 100%;
		margin: 0 0 5% 0;
	}
	.item-b .img .data .style img{
		height: 100px;
		display: block;
		margin: 0 auto;
	}
	.item-b .img .data .txt-box{
        width: 80%;
        margin: 0 auto;
        position: relative;
		margin: 0 10% 5% 10%;
		box-sizing: border-box;
    }
    .item-b .img .data .txt-box .txt{
        width: 100%;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		text-align: center;
		font-size: 21px;
		letter-spacing: 3px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }
	.item-b .img .data .sub-txt{
        width: 100%;
		text-align: center;
		font-size: 18px;
		letter-spacing: 3px;
		line-height: 2.3em;
		font-weight: bold;
    }
	.item-b .link-list{
		width: 80%;
		display: flex;
		justify-content: space-between;
		margin: 30px auto 30px auto;
	}
	.item-b .link-list li{
		width: 33%;
	}
	.item-b .link-box{
		width: 40%;
		margin: 0 auto;
	}
	
	/*col02*/
	.col02{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 5% auto;
		border-bottom: 1px solid #eee;
		padding: 0 0 5% 0;
		position: relative;
	}
	.col2-line{
		width: 1px;
		height: 95%;
		background: #eee;
		position: absolute;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	
	.item-2{
		width: 45%;
	}
	.item-2 .title{
        width: 200px;
		border: 1px solid #000;
		margin: 0 auto 15px auto;
		position: relative;
    }
	.bg-p{
        width: 100%;
		height: 100%;
		z-index: -1;
		left: 0;
		top: 0;
		position: absolute;
		background: #BFADD7;
    }
	.bg-p.active{
		opacity : 1;
		animation-name: bg-p;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
	}
	@keyframes bg-p {
		0% {
		  transform: translate(0, 0);
		}
		100% {
		  transform: translate(10px, 10px);
		}
	}
	.item-2 .min-txt{
		font-size: 14px;
		letter-spacing: 2px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		text-align: center;
		margin: 0 0 2% 0;
    }
	.item-2 .sub-txt{
        width: 100%;
		text-align: center;
		font-size: 18px;
		letter-spacing: 3px;
		line-height: 2.3em;
		margin: 0 0 5% 0;
		font-weight: bold;
    }
	.item-2 .img{
		width: 100%;
		overflow: hidden;
		margin: 0 auto 5% auto;
	}
	.item-2 .link-box{
		width: 90%;
		margin: 0 auto;
	}
	
	/*other-wrap*/
	.other-wrap{
		width: 100%;
		background: #F9F9F9;
		padding: 3% 0 0 0;
	}
	.other-wrap .main-title{
		width: 100%;
		max-width: 500px;
		margin: 0 auto 3% auto;
	}
	.other-wrap .main-title .line{
		width: 1px;
		height: 150px;
		background: #8D908F;
		margin: 0 auto 5% auto;
		display: block;
	}
	
	/*end-banner*/
	.end-banner{
		width: 100%;
		max-width: 600px;
		margin: 0 auto 10% auto;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.end-banner:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	
	/*marker*/
	.marker01{
		display: inline;
        background-image: linear-gradient(90deg, rgba(61,59,98,1), rgba(61,59,98,1));
        background-repeat: no-repeat;
        background-position: left bottom;
        background-size: 0 1px;
		padding: 0 0 4px 0;
		color: rgba(61,59,98,1);
        transition: all 0.8s ease;
	}
	.marker01.active {
		background-size: 100% 1px;
	}
	
	/*acd*/
	.acd-check{
		display: none;
	}
	.acd-label{
		width: 100%;
		color: #000;
		font-size: 13px;
		letter-spacing: 2px;
		text-align: center;
		display: block;
		margin-bottom: 1px;
		padding: 10px 15px;
		position: relative;
		border: 1px solid #9a9a9b;
		box-sizing: border-box;
		margin: 3% 0 3% 0;
		background: #F0F0F0;
	}
	.acd-label:after{
		box-sizing: border-box;
		content: '';
		background: url("../img/acd-icon01.svg") no-repeat;
		display: block;
		width: 20px;
		height: 20px;
		position: absolute;
		right: 15px;
		top: 10px;
	}
	.acd-content{
		display: block;
		height: 0;
		opacity: 0;
		transition: .5s;
		visibility: hidden;
	}
	.acd-check:checked + .acd-label:after{
		content: '';
		background: url("../img/acd-icon02.svg") no-repeat;
		display: block;
		width: 20px;
		height: 20px;
		position: absolute;
		right: 15px;
		top: 10px;
		z-index: 99;
	}
	.acd-check:checked + .acd-label + .acd-content{
		height: auto;
		opacity: 1;
		visibility: visible;
	}
	
	.l-icon::before{
        content: url("../img/l-size.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: -3px;
    }
    .s-icon::before{
        content: url("../img/s-size.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: -3px;
    }
	
	/*sid-nav*/
    .side-nav{
		position: fixed;
		display: block;
		width: 100px;
		right: 20px;
        top: 0;
		height: 100vh;
		z-index: 10;
	}
	.side-nav-in{
		width: 100px;
		position: absolute;
		top: 40%;
		-webkit-transform: translateY(-40%); /* Safari用 */
		transform: translateY(-40%);
	}
	.side-nav-in a{
		opacity: 1;
		transition: .3s;
		display: block;
        text-align: center;
        font-size: 12px;
        color: #000;
        text-decoration: none;
        line-height: 2em;
		padding: 0 0 20px 0;
	}
	.side-nav-in a:hover{
		opacity: .5;
		transition: .3s;
	}
	
	/*f-banner*/
	.f-banner{
		width: 100%;
		max-width: 600px;
		margin: 0 auto 5% auto;
	}
	.f-banner-list{
		width: 100%;
		margin: 0 auto;
	}
	.f-banner-list li{
		width: 100%;
		margin: 0 0 3% 0;
	}
	.f-banner-list li a{
		width: 100%;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.f-banner-list li a:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	/*f-banner02*/
	.f-banner02{
		border-top: 1px solid #000;
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 5% auto;
		padding: 5% 0 0 0;
	}
	.f-banner02-list{
		width: 100%;
		max-width: 600px;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.f-banner02-list li{
		width: 47%;
	}
	.f-banner02-list li a{
		width: 100%;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.f-banner02-list li a:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	/*footer*/
	.footer {
		color: #000;
		letter-spacing: 0.3em;
		padding: 0 0 2% 0;
		position: relative;
		text-align: center;
	}
	.footer .insta{
		display: block;
		width: 450px;
		border: 1px solid #eee;
		margin: 0 auto 3% auto;
		transition: .3s;
	}
	.footer .insta:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	.footer_sns {
		margin: 26px 0 0;
	}
	.footer_snsNode {
		display: inline-block;
		margin: 0 10px;
		width: 30px;
	}
	.f-ow{
		width: 120px;
		margin: 25px auto 0 auto;
	}
	.footer_copyright {
		font-family: "Helvetica",serif;
		font-size: 10px;
		letter-spacing: 0.02em;
		margin: 34px 0 0;
	}
	#pagetop{
		position: fixed;
		right: 15px;
		bottom: 20px;
		width: 35px;
		display: block;
		z-index: 99;
	}
	
	/*cart-btm*/
	.cart-btm{
		width: 100%;
		text-decoration: none;
		color: #000;
		transition: 0.3s;
		line-height: 1.5em;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 2% 0;
		font-family: "Noto Sans JP", sans-serif !important;
	}
	.cart-title{
		font-size: 14px;
        letter-spacing: 1px;
        width: 70%;
        position: relative;
        line-height: 1.5em;
        white-space: nowrap;
	}
    .cart-title span{
		font-size: 12px;
		color: #fff;
		background: #99999a;
		padding: 1px 5px 1px 5px;
		margin: 0 0 0 10px;
		border-radius: 2px;
        display: inline-block;
	}
    .cart-yen{
		font-size: 15px;
		line-height: 1.9;
    	letter-spacing: 0.05em;
        width: 80%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        white-space: nowrap;
		font-family: "Noto Sans JP", sans-serif !important;
	}
	.cart-yen span{
		font-size: 11px;
    	letter-spacing: 0;
		margin: 0 0 0 5px;
		position: relative;
		top: 0px;
	}
	
	.link-line{
		width: 100%;
		height: 1px;
		background: #eee;
		margin: 5% 0;
	}
	
	.cart-btm .btn00{
		font-size: 11px;
		line-height: 1.5em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #fff;
		border: 1px solid #231815;
		display: inline-block;
		text-align: center;
		color: #000;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn00 {
	  background: #231815;
	  border-color: #231815;
	  color: #fff;
	}
	
	.cart-btm .btn01{
		font-size: 11px;
		line-height: 1.5em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #9C8680;
		border: 1px solid #9C8680;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn01 {
	  background: #fff;
	  border-color: #9C8680;
	  color: #9C8680;
	}
	
	.cart-btm .btn02{
		font-size: 11px;
		line-height: 1em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #84b250;
		border: 1px solid #84b250;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn02 {
	  background: #fff;
	  border-color: #84b250;
	  color: #84b250;
	}
	
	.cart-btm .btn03{
		font-size: 11px;
		line-height: 1em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #abaab6;
		border: 1px solid #abaab6;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn03 {
	  background: #fff;
	  border-color: #abaab6;
	  color: #abaab6;
	}
	
	.cart-btm .btn04{
		font-size: 11px;
		line-height: 1em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #67bbde;
		border: 1px solid #67bbde;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn04 {
	  background: #fff;
	  border-color: #67bbde;
	  color: #67bbde;
	}
	
	.btn-border {
	  background-color: transparent;
	  color: #1d1d1d;
	}
	.btn-arrow {
	  position: relative;
	  -webkit-transition: background-color 300ms ease-out;
	  transition: background-color 300ms ease-out;
	}
	.btn-arrow span {
	  display: inline-block;
	  position: relative;
	  -webkit-transition: all 300ms ease-out;
	  transition: all 300ms ease-out;
	  will-change: transform;
	}
	.cart-btm:hover .btn-arrow span {
	  -webkit-transform: translate3d(-.5rem, 0, 0);
			  transform: translate3d(-.5rem, 0, 0);
	}
	.btn-arrow img {
	  position: absolute;
	  width: 1.1em;
	  right: 0px;
	  right: 0rem;
	  opacity: 0;
	  top: 50%;
	  -webkit-transform: translateY(-50%);
			  transform: translateY(-50%);
	  -webkit-transition: all 300ms ease-out;
	  transition: all 300ms ease-out;
	  will-change: right, opacity;
	}
	.btn-arrow img * {
	  stroke-width: 5;
	  stroke-color: transparent;
	}
	.cart-btm:hover .btn-arrow img {
	  opacity: 1;
	  right: -1rem;
	}
	
	
	/*anime----------------------------------------------------*/
	/*fade01*/
	.fade01 {
		animation-name: fade-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 4.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade02 {
		animation-name: fade-in;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 4.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade03 {
		animation-name: fade-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade04 {
		animation-name: fade-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 1.6s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fade-in {
		0% {
		  opacity: 0;
		}
		100% {
		  opacity: 1;
		}
	}

	.fadein-up {
		opacity : 0;
	}
	.fadein-up.active{
		opacity : 1;
		animation-name: fadein-up;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fadein-up {
		0% {
		  opacity: 0;
		  transform: translateY(50px)
		}
		100% {
		  opacity: 1;
		  transform: translateY(0px)
		}
	}
	
	.fadein-up02 {
		opacity : 0;
	}
	.fadein-up02.active{
		opacity : 1;
		animation-name: fadein-up02;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fadein-up02 {
		0% {
		  opacity: 0;
		  transform: scale(1.2);
		}
		100% {
		  opacity: 1;
		  transform: scale(1);
		}
	}
	
	.fadein-l {
		opacity : 0;
	}
	.fadein-l.active{
		opacity : 1;
		animation-name: fadein-l;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fadein-l {
		0% {
		  opacity: 0;
		  transform: translateX(-50px)
		}
		100% {
		  opacity: 1;
		  transform: translateX(0px)
		}
	}
	
	.popup1{
		width: 100%;
		display: block;
		opacity: 0;
	}
	.popup1.active{
		animation: popup 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
		animation-delay: 0s;
	}
	.popup2{
		width: 100%;
		display: block;
		opacity: 0;
	}
	.popup2.active{
		animation: popup 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
		animation-delay: 0.5s;
	}
	@keyframes popup {
	  0% {
		transform: translateY(10%);
		opacity: 0;
	  }
	  100% {
		transform: translateX(0);
	  }
	  60%,100% {
		opacity: 1;
	  }
	}
	
	.display {
		opacity : 1;
		transform : translateX(-100%);
		transition : all 0.5s;
	}
	.display.active{
		opacity : 1;
		transform : translateX(0%);
	}
	
	.gbc-mv{
		background: #3D3B62;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc01{
		background: #BFADD7;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc02{
		background: #FDDC93;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc03{
		background: #FED7BE;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc04{
		background: #ADDBC3;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc05{
		background: #A6C4DC;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc06{
		background: #fff;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	
	@keyframes bggradient{
		0% {
			background-position: 0% 50%;
		}
		50% {
			background-position: 100% 50%;
		}
		100% {
			background-position: 0% 50%;
		}
	}
	
	
	.gb01 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity : 1;
		transform : translate(0, 0);
		transition : all 1s;
		z-index: 9999;
	}
	.gb01.active{
		position: absolute;
		top: 0;
		left: 0;
		animation-name: fade-in-img01;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 1s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		
	}
	@keyframes fade-in-img01 {
		0% {
		  opacity: 1;
		  transform : translateX(0%);
		}
		60% {
		  opacity: .7;
		  transform : translateX(100%);
		}
		100% {
		  opacity: 0;
		  transform : translateX(100%);
		}
	}
	
	.mvbg01 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity : 1;
		transform : translate(0, 0);
		transition : all 1s;
		z-index: 9999;
	}
	.mvbg01.active{
		position: absolute;
		top: 0;
		left: 0;
		animation-name: fade-in-mvbg01;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 3.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		
	}
	@keyframes fade-in-mvbg01 {
		0% {
		  transform : translateX(0%);
		}
		60% {
		  transform : translateX(100%);
		}
		100% {
		  transform : translateX(100%);
		}
	}
	.mvbg02 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity : 1;
		transform : translate(0, 0);
		transition : all 1s;
		z-index: 9999;
	}
	.mvbg02.active{
		position: absolute;
		top: 0;
		left: 0;
		animation-name: fade-in-mvbg02;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 3.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		
	}
	@keyframes fade-in-mvbg02 {
		0% {
		  transform : translateX(0%);
		}
		60% {
		  transform : translateX(-100%);
		}
		100% {
		  transform : translateX(-100%);
		}
	}
	
}

/*note pc*/
@media screen and (min-width: 1025px) and (max-width: 1280px) {
    .sp-on{
		display: none !important;
	}
	
    /* Loading Block */
	#loading {
		width: 100vw;
		height: 100vh;
		transition: all 1s;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
	}
	.loading-logo {
		width: 100vw;
		height: 100vh;
		transition: all 1s;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
		overflow: hidden;
		animation: fade-out 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
		animation-delay: 3s;
		background: #3D3B62;
	}
	.loading-logo .logo{
		width: 30%;
		position: absolute;
		display: block;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		left: 0;
		right: 0;
		margin: 0 auto;
		z-index: 99;
	}
	
    /*header*/
	header{
		width: 100%;
		position: relative;
		overflow: hidden;
		margin: 0 auto 3% auto;
		padding: 0;
	}
	.mv-box{
		width: 100%;
		display: flex;
		justify-content: flex-start;
	}
	.mv-box .img{
		width: 50%;
		overflow: hidden;
	}
	.mv-title-box{
		width: 30%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
		z-index: 3;
		background: #3D3B62;
	}
	.mv-title-box-in{
		width: 100%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
	}
	.mv-title{
		width: 90%;
		margin: 0 auto 30% auto;
	}
	.mv-logo{
		width: 20%;
		margin: 0 auto;
	}
	.scrolldown1{
        position:absolute;
        right: 2%;
        bottom: 0%;
        height:100px;
		filter: drop-shadow(2px 0px 10px #0d1f29);
	}
	.scrolldown1 span{
	  width: 11px;
	  position: absolute;
	  right: 0;
	  left: -7px;
	  top: -40px;
      -webkit-transform: translateY(-50%); /* Safari用 */
      transform: translateY(-50%);
	  color: #fff;
	  font-size: 14px;
	  letter-spacing: 2px;
	}
	.scrolldown1::after{
	  content: "";
	  position: absolute;
	  top: 0;
	  width: 1px;
	  height: 100px;
	  background: #fff;
	  animation: pathmove 1.4s ease-in-out infinite;
	  opacity:0;
	}
	@keyframes pathmove{
	  0%{
		height:0;
		top:0;
		opacity: 0;
	  }
	  30%{
		height:50px;
		opacity: 1;
	  }
	  100%{
		height:0;
		top:100px;
		opacity: 0;
	  }
	}
	
	/*read*/
	.read{
		width: 100%;
		margin: 0 auto 10% auto;
	}
	.read .txt{
		font-size: 18px;
		letter-spacing: 2px;
		line-height: 2.5em;
		text-align: center;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		margin: 0 0 0 0;
		color: #474545;
	}
	
	/*door*/
	.door{
		width: 100%;
		max-width: 1100px;
		position: relative;
		margin: 0 auto 5% auto;
	}
	.door .icon{
		width: 120px;
		position: absolute;
		top: -60px;
		left: 5%;
	}
	.door .title-box{
		width: 100%;
		position: relative;
		border-bottom: 1px solid #000;
		margin: 0 0 3% 0;
		padding: 0 0 2% 0;
	}
	.door .title-box .num{
		width: 10%;
		height: 100%;
		border-right: 1px solid #000;
		position: absolute;
		top: 0;
		left: 0;
		padding: 0 3% 0 3%;
	}
	.door .title-box .num span{
		width: 100%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
	}
	.door .title-box .num span img{
		height: 45px;
	}
	.door .title-box .title{
		width: 100%;
	}
	.door .title-box .title .main{
		width: 100%;
		font-size: 35px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		letter-spacing: 4px;
		text-align: center;
		line-height: 1.8em;
	}
	.door .title-box .title .sub{
		width: 100%;
		font-size: 16px;
		font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
		letter-spacing: 4px;
		text-align: center;
		display: block;
		line-height: 1.8em;
		color: #3D3B62;
	}
	.door .txt{
		width: 100%;
		box-sizing: border-box;
		padding: 3% 5%;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2em;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		background: rgba(239,230,211,0.30);
		text-align: justify;
	}
	
	/*common*/
	.item-wrap{
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	.item-wrap .side{
		width: 25px;
		height: 100%;
		position: absolute;
		top: 0;
		left: 2%;
		z-index: 30;
	}
	.item-wrap .side .side-in{
		width: 25px;
		position: sticky;
		top: 10%;
	}
	
	/*item-m*/
	.item-m{
		width: 100%;
		max-width: 1000px;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: space-between;
		border-bottom: 1px solid #eee;
		padding: 0 0 5% 0;
	}
	.item-m .img{
		width: 50%;
		overflow: hidden;
	}
	.item-m .data{
		width: 45%;
		padding: 2% 0 0 0;
	}
	.item-m .data .style{
		width: 100%;
		margin: 0 0 5% 0;
	}
	.item-m .data .style img{
		height: 80px;
		display: block;
		margin: 0 auto;
	}
	.item-m .data .style02{
		width: 100%;
		margin: 0 0 10% 0;
	}
	.item-m .data .style02 img{
		height: 55px;
		display: block;
		margin: 0 auto;
	}
	.item-m .data .txt-box{
        width: 80%;
        margin: 0 auto;
        position: relative;
		margin: 0 10% 5% 10%;
		box-sizing: border-box;
    }
    .item-m .data .txt-box .txt{
        width: 100%;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		text-align: center;
		font-size: 18px;
		letter-spacing: 3px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }
    .square{
        width: 100%;
    }
    .square.active{
        width: 100%;
        height: 50px;
        background-image: 
        linear-gradient(00deg, #C5C6C6, #C5C6C6),
        linear-gradient(00deg, #C5C6C6, #C5C6C6),
        linear-gradient(00deg, #C5C6C6, #C5C6C6),
        linear-gradient(00deg, #C5C6C6, #C5C6C6);
        background-repeat: no-repeat;
        background-size: 1px 100%, 100% 1px, 1px 100%, 100% 1px;
        background-position: left bottom, left top, right top, right bottom;
        animation: square_anim 1s linear forwards;
        animation-delay: 1s;
        opacity: 0;
		background-color: rgba(255,255,255,0.7);
    }

    @keyframes square_anim{
      00%{
        opacity: 0;
        background-size: 
        1px 0, 0 1px,
        1px 0, 0 1px; 
      }
      25%{
        opacity: 1;
        background-size: 
        1px 100%, 0 1px,
        1px 0, 0 1px;
      }
      50%{
        opacity: 1;
        background-size: 
        1px 100%, 100% 1px,
        1px 0, 0 1px;
      }
      75%{
        opacity: 1;
        background-size: 
        1px 100%, 100% 1px,
        1px 100%, 0 1px;
      }
      100%{
        opacity: 1;
        background-size: 
        1px 100%, 100% 1px,
        1px 100%, 100% 1px;
      }
    }
	.item-m .data .sub-txt{
        width: 100%;
		text-align: center;
		font-size: 16px;
		letter-spacing: 3px;
		line-height: 2.3em;
		margin: 0 0 7% 0;
		font-weight: bold;
    }
	.item-m .data .link-box{
        width: 90%;
		margin: 0 auto;
    }
	
	.item-m02{
		width: 100%;
		max-width: 1000px;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 0 5% 0;
	}
	.item-m02-line{
		width: 100%;
		border-bottom: 1px solid #8D908F;
	}
	.item-m02 .img{
		width: 50%;
		overflow: hidden;
	}
	.item-m02 .data{
		width: 45%;
		padding: 5% 0 0 0;
	}
	.item-m02 .data .style{
		width: 100%;
		margin: 0 0 10% 0;
	}
	.item-m02 .data .style img{
		height: 45px;
		display: block;
		margin: 0 auto;
	}
	.item-m02 .data .txt{
        width: 90%;
		text-align: justify;
		font-size: 14px;
		letter-spacing: 3px;
		line-height: 2em;
		margin: 0 auto 20% auto;
    }
	.item-m02 .data .link-box{
        width: 90%;
		margin: 0 auto;
    }
	
	/*item-b*/
	.item-b{
		width: 100%;
		max-width: 1000px;
		margin: 0 auto 5% auto;
		border-bottom: 1px solid #eee;
		padding: 0 0 5% 0;
		position: relative;
	}
	.item-b .img{
		width: 100%;
		overflow: hidden;
	}
	.item-b .img .data{
		width: 45%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		left: 7%;
	}
	.item-b .img .data .style{
		width: 100%;
		margin: 0 0 5% 0;
	}
	.item-b .img .data .style img{
		height: 100px;
		display: block;
		margin: 0 auto;
	}
	.item-b .img .data .txt-box{
        width: 80%;
        margin: 0 auto;
        position: relative;
		margin: 0 10% 5% 10%;
		box-sizing: border-box;
    }
    .item-b .img .data .txt-box .txt{
        width: 100%;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		text-align: center;
		font-size: 21px;
		letter-spacing: 3px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }
	.item-b .img .data .sub-txt{
        width: 100%;
		text-align: center;
		font-size: 16px;
		letter-spacing: 3px;
		line-height: 2.3em;
		font-weight: bold;
    }
	.item-b .link-list{
		width: 80%;
		display: flex;
		justify-content: space-between;
		margin: 30px auto 30px auto;
	}
	.item-b .link-list li{
		width: 33%;
	}
	.item-b .link-box{
		width: 40%;
		margin: 0 auto;
	}
	
	/*col02*/
	.col02{
		width: 100%;
		max-width: 1000px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 5% auto;
		border-bottom: 1px solid #eee;
		padding: 0 0 5% 0;
		position: relative;
	}
	.col2-line{
		width: 1px;
		height: 95%;
		background: #eee;
		position: absolute;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	
	.item-2{
		width: 45%;
	}
	.item-2 .title{
        width: 200px;
		border: 1px solid #000;
		margin: 0 auto 15px auto;
		position: relative;
    }
	.bg-p{
        width: 100%;
		height: 100%;
		z-index: -1;
		left: 0;
		top: 0;
		position: absolute;
		background: #BFADD7;
    }
	.bg-p.active{
		opacity : 1;
		animation-name: bg-p;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
	}
	@keyframes bg-p {
		0% {
		  transform: translate(0, 0);
		}
		100% {
		  transform: translate(10px, 10px);
		}
	}
	.item-2 .min-txt{
		font-size: 14px;
		letter-spacing: 2px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		text-align: center;
		margin: 0 0 2% 0;
    }
	.item-2 .sub-txt{
        width: 100%;
		text-align: center;
		font-size: 16px;
		letter-spacing: 3px;
		line-height: 2.3em;
		margin: 0 0 5% 0;
		font-weight: bold;
    }
	.item-2 .img{
		width: 100%;
		overflow: hidden;
		margin: 0 auto 5% auto;
	}
	.item-2 .link-box{
		width: 90%;
		margin: 0 auto;
	}
	
	/*other-wrap*/
	.other-wrap{
		width: 100%;
		background: #F9F9F9;
		padding: 3% 0 0 0;
	}
	.other-wrap .main-title{
		width: 100%;
		max-width: 500px;
		margin: 0 auto 3% auto;
	}
	.other-wrap .main-title .line{
		width: 1px;
		height: 150px;
		background: #8D908F;
		margin: 0 auto 5% auto;
		display: block;
	}
	
	/*end-banner*/
	.end-banner{
		width: 100%;
		max-width: 600px;
		margin: 0 auto 10% auto;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.end-banner:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	
	/*marker*/
	.marker01{
		display: inline;
        background-image: linear-gradient(90deg, rgba(61,59,98,1), rgba(61,59,98,1));
        background-repeat: no-repeat;
        background-position: left bottom;
        background-size: 0 1px;
		padding: 0 0 4px 0;
		color: rgba(61,59,98,1);
        transition: all 0.8s ease;
	}
	.marker01.active {
		background-size: 100% 1px;
	}
	
	/*acd*/
	.acd-check{
		display: none;
	}
	.acd-label{
		width: 100%;
		color: #000;
		font-size: 13px;
		letter-spacing: 2px;
		text-align: center;
		display: block;
		margin-bottom: 1px;
		padding: 10px 15px;
		position: relative;
		border: 1px solid #9a9a9b;
		box-sizing: border-box;
		margin: 3% 0 3% 0;
		background: #F0F0F0;
	}
	.acd-label:after{
		box-sizing: border-box;
		content: '';
		background: url("../img/acd-icon01.svg") no-repeat;
		display: block;
		width: 20px;
		height: 20px;
		position: absolute;
		right: 15px;
		top: 10px;
	}
	.acd-content{
		display: block;
		height: 0;
		opacity: 0;
		transition: .5s;
		visibility: hidden;
	}
	.acd-check:checked + .acd-label:after{
		content: '';
		background: url("../img/acd-icon02.svg") no-repeat;
		display: block;
		width: 20px;
		height: 20px;
		position: absolute;
		right: 15px;
		top: 10px;
		z-index: 99;
	}
	.acd-check:checked + .acd-label + .acd-content{
		height: auto;
		opacity: 1;
		visibility: visible;
	}
	
	.l-icon::before{
        content: url("../img/l-size.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: -3px;
    }
    .s-icon::before{
        content: url("../img/s-size.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: -3px;
    }
	
	/*sid-nav*/
    .side-nav{
		position: fixed;
		display: block;
		width: 80px;
		right: 20px;
        top: 0;
		height: 100vh;
		z-index: 10;
	}
	.side-nav-in{
		width: 80px;
		position: absolute;
		top: 40%;
		-webkit-transform: translateY(-40%); /* Safari用 */
		transform: translateY(-40%);
	}
	.side-nav-in a{
		opacity: 1;
		transition: .3s;
		display: block;
        text-align: center;
        font-size: 12px;
        color: #000;
        text-decoration: none;
        line-height: 2em;
		padding: 0 0 20px 0;
	}
	.side-nav-in a:hover{
		opacity: .5;
		transition: .3s;
	}
	
	/*f-banner*/
	.f-banner{
		width: 100%;
		max-width: 500px;
		margin: 0 auto 5% auto;
	}
	.f-banner-list{
		width: 100%;
		margin: 0 auto;
	}
	.f-banner-list li{
		width: 100%;
		margin: 0 0 3% 0;
	}
	.f-banner-list li a{
		width: 100%;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.f-banner-list li a:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	/*f-banner02*/
	.f-banner02{
		border-top: 1px solid #000;
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 5% auto;
		padding: 5% 0 0 0;
	}
	.f-banner02-list{
		width: 100%;
		max-width: 500px;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.f-banner02-list li{
		width: 47%;
	}
	.f-banner02-list li a{
		width: 100%;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.f-banner02-list li a:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	/*footer*/
	.footer {
		color: #000;
		letter-spacing: 0.3em;
		padding: 0 0 2% 0;
		position: relative;
		text-align: center;
	}
	.footer .insta{
		display: block;
		width: 450px;
		border: 1px solid #eee;
		margin: 0 auto 3% auto;
		transition: .3s;
	}
	.footer .insta:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	.footer_sns {
		margin: 26px 0 0;
	}
	.footer_snsNode {
		display: inline-block;
		margin: 0 10px;
		width: 30px;
	}
	.f-ow{
		width: 120px;
		margin: 25px auto 0 auto;
	}
	.footer_copyright {
		font-family: "Helvetica",serif;
		font-size: 10px;
		letter-spacing: 0.02em;
		margin: 34px 0 0;
	}
	#pagetop{
		position: fixed;
		right: 15px;
		bottom: 20px;
		width: 35px;
		display: block;
		z-index: 99;
	}
	
	/*cart-btm*/
	.cart-btm{
		width: 100%;
		text-decoration: none;
		color: #000;
		transition: 0.3s;
		line-height: 1.5em;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 2% 0;
		font-family: "Noto Sans JP", sans-serif !important;
	}
	.cart-title{
		font-size: 14px;
        letter-spacing: 1px;
        width: 70%;
        position: relative;
        line-height: 1.5em;
        white-space: nowrap;
	}
    .cart-title span{
		font-size: 12px;
		color: #fff;
		background: #99999a;
		padding: 1px 5px 1px 5px;
		margin: 0 0 0 10px;
		border-radius: 2px;
        display: inline-block;
	}
    .cart-yen{
		font-size: 15px;
		line-height: 1.9;
    	letter-spacing: 0.05em;
        width: 80%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        white-space: nowrap;
		font-family: "Noto Sans JP", sans-serif !important;
	}
	.cart-yen span{
		font-size: 11px;
    	letter-spacing: 0;
		margin: 0 0 0 5px;
		position: relative;
		top: 0px;
	}
	
	.link-line{
		width: 100%;
		height: 1px;
		background: #eee;
		margin: 5% 0;
	}
	
	.cart-btm .btn00{
		font-size: 11px;
		line-height: 1.5em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #fff;
		border: 1px solid #231815;
		display: inline-block;
		text-align: center;
		color: #000;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn00 {
	  background: #231815;
	  border-color: #231815;
	  color: #fff;
	}
	
	.cart-btm .btn01{
		font-size: 11px;
		line-height: 1.5em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #9C8680;
		border: 1px solid #9C8680;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn01 {
	  background: #fff;
	  border-color: #9C8680;
	  color: #9C8680;
	}
	
	.cart-btm .btn02{
		font-size: 11px;
		line-height: 1em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #84b250;
		border: 1px solid #84b250;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn02 {
	  background: #fff;
	  border-color: #84b250;
	  color: #84b250;
	}
	
	.cart-btm .btn03{
		font-size: 11px;
		line-height: 1em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #abaab6;
		border: 1px solid #abaab6;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn03 {
	  background: #fff;
	  border-color: #abaab6;
	  color: #abaab6;
	}
	
	.cart-btm .btn04{
		font-size: 11px;
		line-height: 1em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #67bbde;
		border: 1px solid #67bbde;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn04 {
	  background: #fff;
	  border-color: #67bbde;
	  color: #67bbde;
	}
	
	.btn-border {
	  background-color: transparent;
	  color: #1d1d1d;
	}
	.btn-arrow {
	  position: relative;
	  -webkit-transition: background-color 300ms ease-out;
	  transition: background-color 300ms ease-out;
	}
	.btn-arrow span {
	  display: inline-block;
	  position: relative;
	  -webkit-transition: all 300ms ease-out;
	  transition: all 300ms ease-out;
	  will-change: transform;
	}
	.cart-btm:hover .btn-arrow span {
	  -webkit-transform: translate3d(-.5rem, 0, 0);
			  transform: translate3d(-.5rem, 0, 0);
	}
	.btn-arrow img {
	  position: absolute;
	  width: 1.1em;
	  right: 0px;
	  right: 0rem;
	  opacity: 0;
	  top: 50%;
	  -webkit-transform: translateY(-50%);
			  transform: translateY(-50%);
	  -webkit-transition: all 300ms ease-out;
	  transition: all 300ms ease-out;
	  will-change: right, opacity;
	}
	.btn-arrow img * {
	  stroke-width: 5;
	  stroke-color: transparent;
	}
	.cart-btm:hover .btn-arrow img {
	  opacity: 1;
	  right: -1rem;
	}
	
	
	/*anime----------------------------------------------------*/
	/*fade01*/
	.fade01 {
		animation-name: fade-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 4.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade02 {
		animation-name: fade-in;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 4.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade03 {
		animation-name: fade-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade04 {
		animation-name: fade-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 1.6s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fade-in {
		0% {
		  opacity: 0;
		}
		100% {
		  opacity: 1;
		}
	}

	.fadein-up {
		opacity : 0;
	}
	.fadein-up.active{
		opacity : 1;
		animation-name: fadein-up;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fadein-up {
		0% {
		  opacity: 0;
		  transform: translateY(50px)
		}
		100% {
		  opacity: 1;
		  transform: translateY(0px)
		}
	}
	
	.fadein-up02 {
		opacity : 0;
	}
	.fadein-up02.active{
		opacity : 1;
		animation-name: fadein-up02;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fadein-up02 {
		0% {
		  opacity: 0;
		  transform: scale(1.2);
		}
		100% {
		  opacity: 1;
		  transform: scale(1);
		}
	}
	
	.fadein-l {
		opacity : 0;
	}
	.fadein-l.active{
		opacity : 1;
		animation-name: fadein-l;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fadein-l {
		0% {
		  opacity: 0;
		  transform: translateX(-50px)
		}
		100% {
		  opacity: 1;
		  transform: translateX(0px)
		}
	}
	
	.popup1{
		width: 100%;
		display: block;
		opacity: 0;
	}
	.popup1.active{
		animation: popup 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
		animation-delay: 0s;
	}
	.popup2{
		width: 100%;
		display: block;
		opacity: 0;
	}
	.popup2.active{
		animation: popup 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
		animation-delay: 0.5s;
	}
	@keyframes popup {
	  0% {
		transform: translateY(10%);
		opacity: 0;
	  }
	  100% {
		transform: translateX(0);
	  }
	  60%,100% {
		opacity: 1;
	  }
	}
	
	.display {
		opacity : 1;
		transform : translateX(-100%);
		transition : all 0.5s;
	}
	.display.active{
		opacity : 1;
		transform : translateX(0%);
	}
	
	.gbc-mv{
		background: #3D3B62;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc01{
		background: #BFADD7;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc02{
		background: #FDDC93;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc03{
		background: #FED7BE;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc04{
		background: #ADDBC3;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc05{
		background: #A6C4DC;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc06{
		background: #fff;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	
	@keyframes bggradient{
		0% {
			background-position: 0% 50%;
		}
		50% {
			background-position: 100% 50%;
		}
		100% {
			background-position: 0% 50%;
		}
	}
	
	
	.gb01 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity : 1;
		transform : translate(0, 0);
		transition : all 1s;
		z-index: 9999;
	}
	.gb01.active{
		position: absolute;
		top: 0;
		left: 0;
		animation-name: fade-in-img01;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 1s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		
	}
	@keyframes fade-in-img01 {
		0% {
		  opacity: 1;
		  transform : translateX(0%);
		}
		60% {
		  opacity: .7;
		  transform : translateX(100%);
		}
		100% {
		  opacity: 0;
		  transform : translateX(100%);
		}
	}
	
	.mvbg01 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity : 1;
		transform : translate(0, 0);
		transition : all 1s;
		z-index: 9999;
	}
	.mvbg01.active{
		position: absolute;
		top: 0;
		left: 0;
		animation-name: fade-in-mvbg01;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 3.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		
	}
	@keyframes fade-in-mvbg01 {
		0% {
		  transform : translateX(0%);
		}
		60% {
		  transform : translateX(100%);
		}
		100% {
		  transform : translateX(100%);
		}
	}
	.mvbg02 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity : 1;
		transform : translate(0, 0);
		transition : all 1s;
		z-index: 9999;
	}
	.mvbg02.active{
		position: absolute;
		top: 0;
		left: 0;
		animation-name: fade-in-mvbg02;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 3.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		
	}
	@keyframes fade-in-mvbg02 {
		0% {
		  transform : translateX(0%);
		}
		60% {
		  transform : translateX(-100%);
		}
		100% {
		  transform : translateX(-100%);
		}
	}

}

/*pad*/
@media screen and (min-width: 767px) and (max-width: 1024px) {
	.sp-on{
		display: none !important;
	}
	
	/* Loading Block */
	#loading {
		width: 100vw;
		height: 100vh;
		transition: all 1s;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
	}
	.loading-logo {
		width: 100vw;
		height: 100vh;
		transition: all 1s;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
		overflow: hidden;
		animation: fade-out 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
		animation-delay: 3s;
		background: #3D3B62;
	}
	.loading-logo .logo{
		width: 30%;
		position: absolute;
		display: block;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		left: 0;
		right: 0;
		margin: 0 auto;
		z-index: 99;
	}
	
    /*header*/
	header{
		width: 100%;
		position: relative;
		overflow: hidden;
		margin: 0 auto 3% auto;
		padding: 0;
	}
	.mv-box{
		width: 100%;
		display: flex;
		justify-content: flex-start;
	}
	.mv-box .img{
		width: 50%;
		overflow: hidden;
	}
	.mv-title-box{
		width: 30%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
		z-index: 3;
		background: #3D3B62;
	}
	.mv-title-box-in{
		width: 100%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
	}
	.mv-title{
		width: 90%;
		margin: 0 auto 30% auto;
	}
	.mv-logo{
		width: 20%;
		margin: 0 auto;
	}
	.scrolldown1{
        position:absolute;
        right: 2%;
        bottom: 0%;
        height:100px;
		filter: drop-shadow(2px 0px 10px #0d1f29);
	}
	.scrolldown1 span{
	  width: 11px;
	  position: absolute;
	  right: 0;
	  left: -7px;
	  top: -40px;
      -webkit-transform: translateY(-50%); /* Safari用 */
      transform: translateY(-50%);
	  color: #fff;
	  font-size: 14px;
	  letter-spacing: 2px;
	}
	.scrolldown1::after{
	  content: "";
	  position: absolute;
	  top: 0;
	  width: 1px;
	  height: 100px;
	  background: #fff;
	  animation: pathmove 1.4s ease-in-out infinite;
	  opacity:0;
	}
	@keyframes pathmove{
	  0%{
		height:0;
		top:0;
		opacity: 0;
	  }
	  30%{
		height:50px;
		opacity: 1;
	  }
	  100%{
		height:0;
		top:100px;
		opacity: 0;
	  }
	}
	
	/*read*/
	.read{
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.read .txt{
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2.5em;
		text-align: center;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		margin: 0 0 0 0;
		color: #474545;
	}
	
	/*door*/
	.door{
		width: 100%;
		position: relative;
		margin: 0 auto 5% auto;
	}
	.door .icon{
		width: 110px;
		position: absolute;
		top: -50px;
		left: 2%;
	}
	.door .title-box{
		width: 100%;
		position: relative;
		border-bottom: 1px solid #000;
		margin: 0 0 3% 0;
		padding: 0 0 2% 0;
	}
	.door .title-box .num{
		width: 10%;
		height: 100%;
		border-right: 1px solid #000;
		position: absolute;
		top: 0;
		left: 0;
		padding: 0 3% 0 3%;
	}
	.door .title-box .num span{
		width: 100%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
	}
	.door .title-box .num span img{
		height: 35px;
	}
	.door .title-box .title{
		width: 100%;
	}
	.door .title-box .title .main{
		width: 100%;
		font-size: 35px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		letter-spacing: 4px;
		text-align: center;
		line-height: 1.8em;
	}
	.door .title-box .title .sub{
		width: 100%;
		font-size: 16px;
		font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
		letter-spacing: 4px;
		text-align: center;
		display: block;
		line-height: 1.8em;
		color: #3D3B62;
	}
	.door .txt{
		width: 95%;
		box-sizing: border-box;
		padding: 3% 5%;
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2em;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		background: rgba(239,230,211,0.30);
		text-align: justify;
		margin: 0 auto;
	}
	
	/*common*/
	.item-wrap{
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	.item-wrap .side{
		width: 25px;
		height: 100%;
		position: absolute;
		top: 0;
		left: 2%;
		z-index: 30;
	}
	.item-wrap .side .side-in{
		display: none;
	}
	
	/*item-m*/
	.item-m{
		width: 95%;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: space-between;
		border-bottom: 1px solid #eee;
		padding: 0 0 5% 0;
	}
	.item-m .img{
		width: 50%;
		overflow: hidden;
	}
	.item-m .data{
		width: 45%;
		padding: 2% 0 0 0;
	}
	.item-m .data .style{
		width: 100%;
		margin: 0 0 5% 0;
	}
	.item-m .data .style img{
		height: 80px;
		display: block;
		margin: 0 auto;
	}
	.item-m .data .style02{
		width: 100%;
		margin: 0 0 10% 0;
	}
	.item-m .data .style02 img{
		height: 55px;
		display: block;
		margin: 0 auto;
	}
	.item-m .data .txt-box{
        width: 80%;
        margin: 0 auto;
        position: relative;
		margin: 0 10% 5% 10%;
		box-sizing: border-box;
    }
    .item-m .data .txt-box .txt{
        width: 100%;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		text-align: center;
		font-size: 18px;
		letter-spacing: 3px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }
    .square{
        width: 100%;
    }
    .square.active{
        width: 100%;
        height: 50px;
        background-image: 
        linear-gradient(00deg, #C5C6C6, #C5C6C6),
        linear-gradient(00deg, #C5C6C6, #C5C6C6),
        linear-gradient(00deg, #C5C6C6, #C5C6C6),
        linear-gradient(00deg, #C5C6C6, #C5C6C6);
        background-repeat: no-repeat;
        background-size: 1px 100%, 100% 1px, 1px 100%, 100% 1px;
        background-position: left bottom, left top, right top, right bottom;
        animation: square_anim 1s linear forwards;
        animation-delay: 1s;
        opacity: 0;
		background-color: rgba(255,255,255,0.7);
    }

    @keyframes square_anim{
      00%{
        opacity: 0;
        background-size: 
        1px 0, 0 1px,
        1px 0, 0 1px; 
      }
      25%{
        opacity: 1;
        background-size: 
        1px 100%, 0 1px,
        1px 0, 0 1px;
      }
      50%{
        opacity: 1;
        background-size: 
        1px 100%, 100% 1px,
        1px 0, 0 1px;
      }
      75%{
        opacity: 1;
        background-size: 
        1px 100%, 100% 1px,
        1px 100%, 0 1px;
      }
      100%{
        opacity: 1;
        background-size: 
        1px 100%, 100% 1px,
        1px 100%, 100% 1px;
      }
    }
	.item-m .data .sub-txt{
        width: 100%;
		text-align: center;
		font-size: 16px;
		letter-spacing: 3px;
		line-height: 2.3em;
		margin: 0 0 7% 0;
		font-weight: bold;
    }
	.item-m .data .link-box{
        width: 90%;
		margin: 0 auto;
    }
	
	.item-m02{
		width: 95%;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 0 5% 0;
	}
	.item-m02-line{
		width: 95%;
		border-bottom: 1px solid #8D908F;
	}
	.item-m02 .img{
		width: 50%;
		overflow: hidden;
	}
	.item-m02 .data{
		width: 45%;
		padding: 5% 0 0 0;
	}
	.item-m02 .data .style{
		width: 100%;
		margin: 0 0 10% 0;
	}
	.item-m02 .data .style img{
		height: 45px;
		display: block;
		margin: 0 auto;
	}
	.item-m02 .data .txt{
        width: 90%;
		text-align: justify;
		font-size: 14px;
		letter-spacing: 3px;
		line-height: 2em;
		margin: 0 auto 20% auto;
    }
	.item-m02 .data .link-box{
        width: 90%;
		margin: 0 auto;
    }
	
	/*item-b*/
	.item-b{
		width: 95%;
		margin: 0 auto 5% auto;
		border-bottom: 1px solid #eee;
		padding: 0 0 5% 0;
		position: relative;
	}
	.item-b .img{
		width: 100%;
		overflow: hidden;
	}
	.item-b .img .data{
		width: 45%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		left: 7%;
	}
	.item-b .img .data .style{
		width: 100%;
		margin: 0 0 5% 0;
	}
	.item-b .img .data .style img{
		height: 100px;
		display: block;
		margin: 0 auto;
	}
	.item-b .img .data .txt-box{
        width: 80%;
        margin: 0 auto;
        position: relative;
		margin: 0 10% 5% 10%;
		box-sizing: border-box;
    }
    .item-b .img .data .txt-box .txt{
        width: 100%;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		text-align: center;
		font-size: 21px;
		letter-spacing: 3px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }
	.item-b .img .data .sub-txt{
        width: 100%;
		text-align: center;
		font-size: 16px;
		letter-spacing: 3px;
		line-height: 2.3em;
		font-weight: bold;
    }
	.item-b .link-list{
		width: 80%;
		display: flex;
		justify-content: space-between;
		margin: 30px auto 30px auto;
	}
	.item-b .link-list li{
		width: 33%;
	}
	.item-b .link-box{
		width: 40%;
		margin: 0 auto;
	}
	
	/*col02*/
	.col02{
		width: 95%;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 5% auto;
		border-bottom: 1px solid #eee;
		padding: 0 0 5% 0;
		position: relative;
	}
	.col2-line{
		width: 1px;
		height: 95%;
		background: #eee;
		position: absolute;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	
	.item-2{
		width: 47%;
	}
	.item-2 .title{
        width: 200px;
		border: 1px solid #000;
		margin: 0 auto 15px auto;
		position: relative;
    }
	.bg-p{
        width: 100%;
		height: 100%;
		z-index: -1;
		left: 0;
		top: 0;
		position: absolute;
		background: #BFADD7;
    }
	.bg-p.active{
		opacity : 1;
		animation-name: bg-p;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
	}
	@keyframes bg-p {
		0% {
		  transform: translate(0, 0);
		}
		100% {
		  transform: translate(10px, 10px);
		}
	}
	.item-2 .min-txt{
		font-size: 14px;
		letter-spacing: 2px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		text-align: center;
		margin: 0 0 2% 0;
    }
	.item-2 .sub-txt{
        width: 100%;
		text-align: center;
		font-size: 16px;
		letter-spacing: 3px;
		line-height: 2.3em;
		margin: 0 0 5% 0;
		font-weight: bold;
    }
	.item-2 .img{
		width: 100%;
		overflow: hidden;
		margin: 0 auto 5% auto;
	}
	.item-2 .link-box{
		width: 90%;
		margin: 0 auto;
	}
	
	/*other-wrap*/
	.other-wrap{
		width: 100%;
		background: #F9F9F9;
		padding: 3% 0 0 0;
	}
	.other-wrap .main-title{
		width: 100%;
		max-width: 500px;
		margin: 0 auto 3% auto;
	}
	.other-wrap .main-title .line{
		width: 1px;
		height: 150px;
		background: #8D908F;
		margin: 0 auto 5% auto;
		display: block;
	}
	
	/*end-banner*/
	.end-banner{
		width: 100%;
		max-width: 600px;
		margin: 0 auto 10% auto;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.end-banner:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	
	/*marker*/
	.marker01{
		display: inline;
        background-image: linear-gradient(90deg, rgba(61,59,98,1), rgba(61,59,98,1));
        background-repeat: no-repeat;
        background-position: left bottom;
        background-size: 0 1px;
		padding: 0 0 4px 0;
		color: rgba(61,59,98,1);
        transition: all 0.8s ease;
	}
	.marker01.active {
		background-size: 100% 1px;
	}
	
	/*acd*/
	.acd-check{
		display: none;
	}
	.acd-label{
		width: 100%;
		color: #000;
		font-size: 13px;
		letter-spacing: 2px;
		text-align: center;
		display: block;
		margin-bottom: 1px;
		padding: 10px 15px;
		position: relative;
		border: 1px solid #9a9a9b;
		box-sizing: border-box;
		margin: 3% 0 3% 0;
		background: #F0F0F0;
	}
	.acd-label:after{
		box-sizing: border-box;
		content: '';
		background: url("../img/acd-icon01.svg") no-repeat;
		display: block;
		width: 20px;
		height: 20px;
		position: absolute;
		right: 15px;
		top: 10px;
	}
	.acd-content{
		display: block;
		height: 0;
		opacity: 0;
		transition: .5s;
		visibility: hidden;
	}
	.acd-check:checked + .acd-label:after{
		content: '';
		background: url("../img/acd-icon02.svg") no-repeat;
		display: block;
		width: 20px;
		height: 20px;
		position: absolute;
		right: 15px;
		top: 10px;
		z-index: 99;
	}
	.acd-check:checked + .acd-label + .acd-content{
		height: auto;
		opacity: 1;
		visibility: visible;
	}
	
	.l-icon::before{
        content: url("../img/l-size.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: -3px;
    }
    .s-icon::before{
        content: url("../img/s-size.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: -3px;
    }
	
	/*sid-nav*/
    .side-nav{
		display: none;
	}
	.side-nav-in{
		display: none;
	}
	.side-nav-in a{
		display: none;
	}
	.side-nav-in a:hover{
		opacity: .5;
		transition: .3s;
	}
	
	/*f-banner*/
	.f-banner{
		width: 60%;
		margin: 0 auto 5% auto;
	}
	.f-banner-list{
		width: 100%;
		margin: 0 auto;
	}
	.f-banner-list li{
		width: 100%;
		margin: 0 0 3% 0;
	}
	.f-banner-list li a{
		width: 100%;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.f-banner-list li a:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	/*f-banner02*/
	.f-banner02{
		border-top: 1px solid #000;
		width: 100%;
		margin: 0 auto 5% auto;
		padding: 5% 0 0 0;
	}
	.f-banner02-list{
		width: 60%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.f-banner02-list li{
		width: 47%;
	}
	.f-banner02-list li a{
		width: 100%;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.f-banner02-list li a:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	/*footer*/
	.footer {
		color: #000;
		letter-spacing: 0.3em;
		padding: 0 0 2% 0;
		position: relative;
		text-align: center;
	}
	.footer .insta{
		display: block;
		width: 450px;
		border: 1px solid #eee;
		margin: 0 auto 3% auto;
		transition: .3s;
	}
	.footer .insta:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	.footer_sns {
		margin: 26px 0 0;
	}
	.footer_snsNode {
		display: inline-block;
		margin: 0 10px;
		width: 30px;
	}
	.f-ow{
		width: 120px;
		margin: 25px auto 0 auto;
	}
	.footer_copyright {
		font-family: "Helvetica",serif;
		font-size: 10px;
		letter-spacing: 0.02em;
		margin: 34px 0 0;
	}
	#pagetop{
		position: fixed;
		right: 15px;
		bottom: 20px;
		width: 35px;
		display: block;
		z-index: 99;
	}
	
	/*cart-btm*/
	.cart-btm{
		width: 100%;
		text-decoration: none;
		color: #000;
		transition: 0.3s;
		line-height: 1.5em;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 2% 0;
		font-family: "Noto Sans JP", sans-serif !important;
	}
	.cart-title{
		font-size: 14px;
        letter-spacing: 1px;
        width: 70%;
        position: relative;
        line-height: 1.5em;
        white-space: nowrap;
	}
    .cart-title span{
		font-size: 12px;
		color: #fff;
		background: #99999a;
		padding: 1px 5px 1px 5px;
		margin: 0 0 0 10px;
		border-radius: 2px;
        display: inline-block;
	}
    .cart-yen{
		font-size: 15px;
		line-height: 1.9;
    	letter-spacing: 0.05em;
        width: 80%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        white-space: nowrap;
		font-family: "Noto Sans JP", sans-serif !important;
	}
	.cart-yen span{
		font-size: 11px;
    	letter-spacing: 0;
		margin: 0 0 0 5px;
		position: relative;
		top: 0px;
	}
	
	.link-line{
		width: 100%;
		height: 1px;
		background: #eee;
		margin: 5% 0;
	}
	
	.cart-btm .btn00{
		font-size: 11px;
		line-height: 1.5em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #fff;
		border: 1px solid #231815;
		display: inline-block;
		text-align: center;
		color: #000;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn00 {
	  background: #231815;
	  border-color: #231815;
	  color: #fff;
	}
	
	.cart-btm .btn01{
		font-size: 11px;
		line-height: 1.5em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #9C8680;
		border: 1px solid #9C8680;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn01 {
	  background: #fff;
	  border-color: #9C8680;
	  color: #9C8680;
	}
	
	.cart-btm .btn02{
		font-size: 11px;
		line-height: 1em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #84b250;
		border: 1px solid #84b250;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn02 {
	  background: #fff;
	  border-color: #84b250;
	  color: #84b250;
	}
	
	.cart-btm .btn03{
		font-size: 11px;
		line-height: 1em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #abaab6;
		border: 1px solid #abaab6;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn03 {
	  background: #fff;
	  border-color: #abaab6;
	  color: #abaab6;
	}
	
	.cart-btm .btn04{
		font-size: 11px;
		line-height: 1em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #67bbde;
		border: 1px solid #67bbde;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn04 {
	  background: #fff;
	  border-color: #67bbde;
	  color: #67bbde;
	}
	
	.btn-border {
	  background-color: transparent;
	  color: #1d1d1d;
	}
	.btn-arrow {
	  position: relative;
	  -webkit-transition: background-color 300ms ease-out;
	  transition: background-color 300ms ease-out;
	}
	.btn-arrow span {
	  display: inline-block;
	  position: relative;
	  -webkit-transition: all 300ms ease-out;
	  transition: all 300ms ease-out;
	  will-change: transform;
	}
	.cart-btm:hover .btn-arrow span {
	  -webkit-transform: translate3d(-.5rem, 0, 0);
			  transform: translate3d(-.5rem, 0, 0);
	}
	.btn-arrow img {
	  position: absolute;
	  width: 1.1em;
	  right: 0px;
	  right: 0rem;
	  opacity: 0;
	  top: 50%;
	  -webkit-transform: translateY(-50%);
			  transform: translateY(-50%);
	  -webkit-transition: all 300ms ease-out;
	  transition: all 300ms ease-out;
	  will-change: right, opacity;
	}
	.btn-arrow img * {
	  stroke-width: 5;
	  stroke-color: transparent;
	}
	.cart-btm:hover .btn-arrow img {
	  opacity: 1;
	  right: -1rem;
	}
	
	
	/*anime----------------------------------------------------*/
	/*fade01*/
	.fade01 {
		animation-name: fade-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 4.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade02 {
		animation-name: fade-in;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 4.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade03 {
		animation-name: fade-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade04 {
		animation-name: fade-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 1.6s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fade-in {
		0% {
		  opacity: 0;
		}
		100% {
		  opacity: 1;
		}
	}

	.fadein-up {
		opacity : 0;
	}
	.fadein-up.active{
		opacity : 1;
		animation-name: fadein-up;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fadein-up {
		0% {
		  opacity: 0;
		  transform: translateY(50px)
		}
		100% {
		  opacity: 1;
		  transform: translateY(0px)
		}
	}
	
	.fadein-up02 {
		opacity : 0;
	}
	.fadein-up02.active{
		opacity : 1;
		animation-name: fadein-up02;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fadein-up02 {
		0% {
		  opacity: 0;
		  transform: scale(1.2);
		}
		100% {
		  opacity: 1;
		  transform: scale(1);
		}
	}
	
	.fadein-l {
		opacity : 0;
	}
	.fadein-l.active{
		opacity : 1;
		animation-name: fadein-l;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fadein-l {
		0% {
		  opacity: 0;
		  transform: translateX(-50px)
		}
		100% {
		  opacity: 1;
		  transform: translateX(0px)
		}
	}
	
	.popup1{
		width: 100%;
		display: block;
		opacity: 0;
	}
	.popup1.active{
		animation: popup 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
		animation-delay: 0s;
	}
	.popup2{
		width: 100%;
		display: block;
		opacity: 0;
	}
	.popup2.active{
		animation: popup 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
		animation-delay: 0.5s;
	}
	@keyframes popup {
	  0% {
		transform: translateY(10%);
		opacity: 0;
	  }
	  100% {
		transform: translateX(0);
	  }
	  60%,100% {
		opacity: 1;
	  }
	}
	
	.display {
		opacity : 1;
		transform : translateX(-100%);
		transition : all 0.5s;
	}
	.display.active{
		opacity : 1;
		transform : translateX(0%);
	}
	
	.gbc-mv{
		background: #3D3B62;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc01{
		background: #BFADD7;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc02{
		background: #FDDC93;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc03{
		background: #FED7BE;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc04{
		background: #ADDBC3;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc05{
		background: #A6C4DC;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc06{
		background: #fff;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	
	@keyframes bggradient{
		0% {
			background-position: 0% 50%;
		}
		50% {
			background-position: 100% 50%;
		}
		100% {
			background-position: 0% 50%;
		}
	}
	
	
	.gb01 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity : 1;
		transform : translate(0, 0);
		transition : all 1s;
		z-index: 9999;
	}
	.gb01.active{
		position: absolute;
		top: 0;
		left: 0;
		animation-name: fade-in-img01;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 1s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		
	}
	@keyframes fade-in-img01 {
		0% {
		  opacity: 1;
		  transform : translateX(0%);
		}
		60% {
		  opacity: .7;
		  transform : translateX(100%);
		}
		100% {
		  opacity: 0;
		  transform : translateX(100%);
		}
	}
	
	.mvbg01 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity : 1;
		transform : translate(0, 0);
		transition : all 1s;
		z-index: 9999;
	}
	.mvbg01.active{
		position: absolute;
		top: 0;
		left: 0;
		animation-name: fade-in-mvbg01;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 3.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		
	}
	@keyframes fade-in-mvbg01 {
		0% {
		  transform : translateX(0%);
		}
		60% {
		  transform : translateX(100%);
		}
		100% {
		  transform : translateX(100%);
		}
	}
	.mvbg02 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity : 1;
		transform : translate(0, 0);
		transition : all 1s;
		z-index: 9999;
	}
	.mvbg02.active{
		position: absolute;
		top: 0;
		left: 0;
		animation-name: fade-in-mvbg02;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 3.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		
	}
	@keyframes fade-in-mvbg02 {
		0% {
		  transform : translateX(0%);
		}
		60% {
		  transform : translateX(-100%);
		}
		100% {
		  transform : translateX(-100%);
		}
	}
	
}

/*//////////////////////////////// for iphone ////////////////////////////*/
@media (min-width:0px) and ( max-width:766px) {
	.pc-on{
		display: none !important;
	}
	
	/* Loading Block */
	#loading {
		width: 100vw;
		height: 100vh;
		transition: all 1s;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
	}
	.loading-logo {
		width: 100vw;
		height: 100vh;
		transition: all 1s;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
		overflow: hidden;
		animation: fade-out 2s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
		animation-delay: 3s;
		background: #3D3B62;
	}
	.loading-logo .logo{
		width: 20%;
		position: absolute;
		display: block;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		left: 0;
		right: 0;
		margin: 0 auto;
		z-index: 99;
	}
	
    /*header*/
	header{
		width: 100%;
		overflow: hidden;
		position: relative;
		padding: 0;
	}
	.mv-box{
		width: 100%;
		position: relative;
	}
	.mv-box .img{
		width: 100%;
	}
	.mv-title-box{
		width: 100%;
		margin: 0 auto;
		background: #3D3B62;
	}
	.mv-title-box-in{
		width: 100%;
	}
	.mv-title{
		width: 90%;
		margin: 0 auto;
		padding: 5% 0;
	}
	.mv-logo{
		width: 15%;
		position: absolute;
		top: 2%;
		left: 5%;
	}
	.scrolldown1{
        position:absolute;
        right: 5%;
        bottom: 0%;
        height: 60px;
		filter: drop-shadow(2px 0px 10px #0d1f29);
	}
	.scrolldown1 span{
	  width: 8px;
	  position: absolute;
	  right: 0;
	  left: -6px;
	  top: -20px;
      -webkit-transform: translateY(-50%); /* Safari用 */
      transform: translateY(-50%);
	  color: #fff;
	  font-size: 14px;
	  letter-spacing: 2px;
	}
	.scrolldown1::after{
	  content: "";
	  position: absolute;
	  top: 0;
	  width: 1px;
	  height: 60px;
	  background: #fff;
	  animation: pathmove 1.4s ease-in-out infinite;
	  opacity:0;
	}
	@keyframes pathmove{
	  0%{
		height:0;
		top:0;
		opacity: 0;
	  }
	  30%{
		height:30px;
		opacity: 1;
	  }
	  100%{
		height:0;
		top:60px;
		opacity: 0;
	  }
	}
	
	/*read*/
	.read{
		width: 100%;
		margin: 0 auto 15% auto;
		background: #F9F9F9;
		padding: 10% 0;
	}
	.read .txt{
		width: 90%;
		font-size: 15px;
		letter-spacing: 2px;
		line-height: 2.5em;
		text-align: center;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		margin: 0 auto;
		color: #474545;
	}
	
	/*door*/
	.door{
		width: 95%;
		margin: 0 auto 10% auto;
		position: relative;
	}
	.door .icon{
		width: 80px;
		margin: 0 auto 3% auto;
	}
	.door .title-box{
		width: 100%;
		position: relative;
		border-bottom: 1px solid #000;
		margin: 0 0 7% 0;
		padding: 0 0 5% 0;
	}
	.door .title-box .num{
		width: 100%;
		border-bottom: 1px solid #000;
		padding: 0 0 7% 0;
		display: block;
		margin: 0 0 7% 0;
		position: relative;
		left: -15px;
	}
	.door .title-box .num span{
		width: 100%;
	}
	.door .title-box .num span img{
		height: 35px;
		display: block;
		margin: 0 auto;
	}
	.door .title-box .title{
		width: 100%;
	}
	.door .title-box .title .main{
		width: 100%;
		font-size: 24px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		letter-spacing: 1px;
		text-align: center;
		line-height: 1.5em;
	}
	.door .title-box .title .sub{
		width: 100%;
		font-size: 14px;
		font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
		letter-spacing: 3px;
		text-align: center;
		display: block;
		line-height: 1.8em;
		color: #3D3B62;
	}
	.door .txt{
		width: 100%;
		box-sizing: border-box;
		padding: 5% 5%;
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 2em;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		background: rgba(239,230,211,0.30);
		text-align: justify;
		margin: 0 auto;
	}
	
	/*common*/
	.item-wrap{
		width: 100%;
		margin: 0 auto;
		position: relative;
	}
	.item-wrap .side{
		width: 100%;
		margin: 15% 0 10% 0;
	}
	.item-wrap .side .side-in{
		width: 100%;
	}
	
	/*item-m*/
	.item-m{
		width: 100%;
		margin: 0 auto 10% auto;
		border-bottom: 1px solid #eee;
		padding: 0 0 10% 0;
	}
	.item-m .img{
		width: 100%;
		overflow: hidden;
		margin: 0 auto 5% auto;
	}
	.item-m .data{
		width: 90%;
		margin: 0 auto;
	}
	.item-m .data .style{
		width: 100%;
		margin: 0 0 5% 0;
	}
	.item-m .data .style img{
		height: 80px;
		display: block;
		margin: 0 auto;
	}
	.item-m .data .style02{
		width: 100%;
		margin: 0 0 10% 0;
	}
	.item-m .data .style02 img{
		height: 55px;
		display: block;
		margin: 0 auto;
	}
	.item-m .data .txt-box{
        width: 90%;
        margin: 0 auto;
        position: relative;
		margin: 0 auto 7% auto;
		box-sizing: border-box;
    }
    .item-m .data .txt-box .txt{
        width: 100%;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		text-align: center;
		font-size: 18px;
		letter-spacing: 3px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }
    .square{
        width: 100%;
    }
    .square.active{
        width: 100%;
        height: 50px;
        background-image: 
        linear-gradient(00deg, #C5C6C6, #C5C6C6),
        linear-gradient(00deg, #C5C6C6, #C5C6C6),
        linear-gradient(00deg, #C5C6C6, #C5C6C6),
        linear-gradient(00deg, #C5C6C6, #C5C6C6);
        background-repeat: no-repeat;
        background-size: 1px 100%, 100% 1px, 1px 100%, 100% 1px;
        background-position: left bottom, left top, right top, right bottom;
        animation: square_anim 1s linear forwards;
        animation-delay: 1s;
        opacity: 0;
		background-color: rgba(255,255,255,0.7);
    }

    @keyframes square_anim{
      00%{
        opacity: 0;
        background-size: 
        1px 0, 0 1px,
        1px 0, 0 1px; 
      }
      25%{
        opacity: 1;
        background-size: 
        1px 100%, 0 1px,
        1px 0, 0 1px;
      }
      50%{
        opacity: 1;
        background-size: 
        1px 100%, 100% 1px,
        1px 0, 0 1px;
      }
      75%{
        opacity: 1;
        background-size: 
        1px 100%, 100% 1px,
        1px 100%, 0 1px;
      }
      100%{
        opacity: 1;
        background-size: 
        1px 100%, 100% 1px,
        1px 100%, 100% 1px;
      }
    }
	.item-m .data .sub-txt{
        width: 100%;
		text-align: center;
		font-size: 15px;
		letter-spacing: 2px;
		line-height: 2.3em;
		margin: 0 0 7% 0;
		font-weight: bold;
    }
	.item-m .data .link-box{
        width: 100%;
		margin: 0 auto;
    }
	
	.item-m02{
		width: 100%;
		margin: 0 auto 10% auto;
		padding: 0 0 10% 0;
	}
	.item-m02-line{
		width: 100%;
		border-bottom: 1px solid #8D908F;
	}
	.item-m02 .img{
		width: 100%;
		overflow: hidden;
	}
	.item-m02 .data{
		width: 100%;
		padding: 5% 0 0 0;
	}
	.item-m02 .style{
		width: 100%;
		margin: 0 0 5% 0;
	}
	.item-m02 .style img{
		height: 35px;
		display: block;
		margin: 0 auto;
	}
	.item-m02 .data .txt{
        width: 90%;
		text-align: justify;
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 2em;
		margin: 0 auto 5% auto;
    }
	.item-m02 .data .link-box{
        width: 90%;
		margin: 0 auto;
    }
	
	/*item-b*/
	.item-b{
		width: 100%;
		margin: 0 auto 10% auto;
		border-bottom: 1px solid #eee;
		padding: 0 0 10% 0;
		position: relative;
	}
	.item-b .img{
		width: 100%;
		overflow: hidden;
		margin: 0 auto 5% auto;
	}
	.item-b .data{
		width: 90%;
		margin: 0 auto;
	}
	.item-b .data .style{
		width: 100%;
		margin: 0 0 5% 0;
	}
	.item-b .data .style img{
		height: 80px;
		display: block;
		margin: 0 auto;
	}
	.item-b .data .txt-box{
        width: 90%;
		position: relative;
		margin: 0 auto 7% auto;
		box-sizing: border-box;
    }
    .item-b .data .txt-box .txt{
        width: 100%;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%); /* Safari用 */
        transform: translateY(-50%);
		text-align: center;
		font-size: 18px;
		letter-spacing: 3px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    }
	.item-b .data .sub-txt{
        width: 100%;
		text-align: center;
		font-size: 15px;
		letter-spacing: 2px;
		line-height: 2.3em;
		font-weight: bold;
		margin: 0 auto 7% auto;
    }
	.item-b .link-list{
		width: 90%;
		margin: 0 auto;
	}
	.item-b .link-list li{
		width: 100%;
	}
	.item-b .link-box{
		width: 90%;
		margin: 0 auto;
	}
	
	/*col02*/
	.col02{
		width: 100%;
		margin: 0 auto 15% auto;
	}
	.col2-line{
		width: 100%;
		height: 1px;
		background: #eee;
		margin: 10% auto;
	}
	
	.item-2{
		width: 100%;
	}
	.item-2 .title{
        width: 170px;
		border: 1px solid #000;
		margin: 0 auto 15px auto;
		position: relative;
    }
	.bg-p{
        width: 100%;
		height: 100%;
		z-index: -1;
		left: 0;
		top: 0;
		position: absolute;
		background: #BFADD7;
    }
	.bg-p.active{
		opacity : 1;
		animation-name: bg-p;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
	}
	@keyframes bg-p {
		0% {
		  transform: translate(0, 0);
		}
		100% {
		  transform: translate(7px, 7px);
		}
	}
	.item-2 .min-txt{
		font-size: 12px;
		letter-spacing: 2px;
		font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
		text-align: center;
		margin: 0 0 2% 0;
    }
	.item-2 .sub-txt{
        width: 100%;
		text-align: center;
		font-size: 15px;
		letter-spacing: 2px;
		line-height: 2.3em;
		margin: 0 0 5% 0;
		font-weight: bold;
    }
	.item-2 .img{
		width: 100%;
		overflow: hidden;
		margin: 0 auto 5% auto;
	}
	.item-2 .link-box{
		width: 90%;
		margin: 0 auto;
	}
	
	/*other-wrap*/
	.other-wrap{
		width: 100%;
		background: #F9F9F9;
		padding: 5% 0 0 0;
	}
	.other-wrap .main-title{
		width: 90%;
		margin: 0 auto 10% auto;
	}
	.other-wrap .main-title .line{
		width: 1px;
		height: 50px;
		background: #8D908F;
		margin: 0 auto 5% auto;
		display: block;
	}
	
	/*end-banner*/
	.end-banner{
		width: 90%;
		margin: 0 auto 20% auto;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.end-banner:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	
	/*marker*/
	.marker01{
		display: inline;
        background-image: linear-gradient(90deg, rgba(61,59,98,1), rgba(61,59,98,1));
        background-repeat: no-repeat;
        background-position: left bottom;
        background-size: 0 1px;
		padding: 0 0 4px 0;
		color: rgba(61,59,98,1);
        transition: all 0.8s ease;
	}
	.marker01.active {
		background-size: 100% 1px;
	}
	
	/*acd*/
	.acd-check{
		display: none;
	}
	.acd-label{
		width: 100%;
		color: #000;
		font-size: 13px;
		letter-spacing: 2px;
		text-align: center;
		display: block;
		margin-bottom: 1px;
		padding: 10px 15px;
		position: relative;
		border: 1px solid #9a9a9b;
		box-sizing: border-box;
		margin: 3% 0 3% 0;
		background: #F0F0F0;
	}
	.acd-label:after{
		box-sizing: border-box;
		content: '';
		background: url("../img/acd-icon01.svg") no-repeat;
		display: block;
		width: 20px;
		height: 20px;
		position: absolute;
		right: 15px;
		top: 10px;
	}
	.acd-content{
		display: block;
		height: 0;
		opacity: 0;
		transition: .5s;
		visibility: hidden;
	}
	.acd-check:checked + .acd-label:after{
		content: '';
		background: url("../img/acd-icon02.svg") no-repeat;
		display: block;
		width: 20px;
		height: 20px;
		position: absolute;
		right: 15px;
		top: 10px;
		z-index: 99;
	}
	.acd-check:checked + .acd-label + .acd-content{
		height: auto;
		opacity: 1;
		visibility: visible;
	}
	
	.l-icon::before{
        content: url("../img/l-size.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: -2px;
    }
    .s-icon::before{
        content: url("../img/s-size.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: -2px;
    }
	
	/*sid-nav*/
    .side-nav{
		display: none;
	}
	.side-nav-in{
		display: none;
	}
	.side-nav-in a{
		display: none;
	}
	.side-nav-in a:hover{
		opacity: .5;
		transition: .3s;
	}
	
	/*f-banner*/
	.f-banner{
		width: 90%;
		margin: 0 auto 10% auto;
	}
	.f-banner-list{
		width: 100%;
		margin: 0 auto;
	}
	.f-banner-list li{
		width: 100%;
		margin: 0 0 3% 0;
	}
	.f-banner-list li a{
		width: 100%;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.f-banner-list li a:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	/*f-banner02*/
	.f-banner02{
		border-top: 1px solid #000;
		width: 100%;
		margin: 0 auto 10% auto;
		padding: 10% 0 0 0;
	}
	.f-banner02-list{
		width: 90%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.f-banner02-list li{
		width: 47%;
	}
	.f-banner02-list li a{
		width: 100%;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.f-banner02-list li a:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	/*footer*/
	.footer {
		color: #000;
		letter-spacing: 0.3em;
		padding: 0 0 20% 0;
		position: relative;
		text-align: center;
	}
	.footer .insta{
		display: block;
		width: 450px;
		border: 1px solid #eee;
		margin: 0 auto 3% auto;
		transition: .3s;
	}
	.footer .insta:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	.footer_sns {
		margin: 26px 0 0;
	}
	.footer_snsNode {
		display: inline-block;
		margin: 0 10px;
		width: 30px;
	}
	.f-ow{
		width: 120px;
		margin: 25px auto 0 auto;
	}
	.footer_copyright {
		font-family: "Helvetica",serif;
		font-size: 10px;
		letter-spacing: 0.02em;
		margin: 34px 0 0;
	}
	#pagetop{
		position: fixed;
		right: 15px;
		bottom: 20px;
		width: 35px;
		display: block;
		z-index: 99;
	}
	
	/*cart-btm*/
	.cart-btm{
		width: 100%;
		text-decoration: none;
		color: #000;
		transition: 0.3s;
		line-height: 1.5em;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 2% 0;
		font-family: "Noto Sans JP", sans-serif !important;
	}
	.cart-title{
		font-size: 13px;
        letter-spacing: 1px;
        width: 70%;
        position: relative;
        line-height: 1.5em;
        white-space: nowrap;
	}
    .cart-title span{
		font-size: 12px;
		color: #fff;
		background: #99999a;
		padding: 1px 5px 1px 5px;
		margin: 0 0 0 10px;
		border-radius: 2px;
        display: inline-block;
	}
    .cart-yen{
		font-size: 14px;
		line-height: 1.9;
    	letter-spacing: 0.05em;
        width: 80%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        white-space: nowrap;
		font-family: "Noto Sans JP", sans-serif !important;
	}
	.cart-yen span{
		font-size: 10px;
    	letter-spacing: 0;
		margin: 0 0 0 5px;
		position: relative;
		top: 0px;
	}
	
	.link-line{
		width: 100%;
		height: 1px;
		background: #eee;
		margin: 5% 0;
	}
	
	.cart-btm .btn00{
		font-size: 11px;
		line-height: 1.5em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #fff;
		border: 1px solid #231815;
		display: inline-block;
		text-align: center;
		color: #000;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn00 {
	  background: #231815;
	  border-color: #231815;
	  color: #fff;
	}
	
	.cart-btm .btn01{
		font-size: 11px;
		line-height: 1.5em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #9C8680;
		border: 1px solid #9C8680;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn01 {
	  background: #fff;
	  border-color: #9C8680;
	  color: #9C8680;
	}
	
	.cart-btm .btn02{
		font-size: 11px;
		line-height: 1em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #84b250;
		border: 1px solid #84b250;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn02 {
	  background: #fff;
	  border-color: #84b250;
	  color: #84b250;
	}
	
	.cart-btm .btn03{
		font-size: 11px;
		line-height: 1em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #abaab6;
		border: 1px solid #abaab6;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn03 {
	  background: #fff;
	  border-color: #abaab6;
	  color: #abaab6;
	}
	
	.cart-btm .btn04{
		font-size: 11px;
		line-height: 1em;
		width: 150px!important;
		padding: 7px 0 7px 0;
		background: #67bbde;
		border: 1px solid #67bbde;
		display: inline-block;
		text-align: center;
		color: #fff;
		margin: 0 0 0 10px;
	}
	.cart-btm:hover .btn04 {
	  background: #fff;
	  border-color: #67bbde;
	  color: #67bbde;
	}
	
	.btn-border {
	  background-color: transparent;
	  color: #1d1d1d;
	}
	.btn-arrow {
	  position: relative;
	  -webkit-transition: background-color 300ms ease-out;
	  transition: background-color 300ms ease-out;
	}
	.btn-arrow span {
	  display: inline-block;
	  position: relative;
	  -webkit-transition: all 300ms ease-out;
	  transition: all 300ms ease-out;
	  will-change: transform;
	}
	.cart-btm:hover .btn-arrow span {
	  -webkit-transform: translate3d(-.5rem, 0, 0);
			  transform: translate3d(-.5rem, 0, 0);
	}
	.btn-arrow img {
	  position: absolute;
	  width: 1.1em;
	  right: 0px;
	  right: 0rem;
	  opacity: 0;
	  top: 50%;
	  -webkit-transform: translateY(-50%);
			  transform: translateY(-50%);
	  -webkit-transition: all 300ms ease-out;
	  transition: all 300ms ease-out;
	  will-change: right, opacity;
	}
	.btn-arrow img * {
	  stroke-width: 5;
	  stroke-color: transparent;
	}
	.cart-btm:hover .btn-arrow img {
	  opacity: 1;
	  right: -1rem;
	}
	
	
	/*anime----------------------------------------------------*/
	/*fade01*/
	.fade01 {
		animation-name: fade-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 4.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade02 {
		animation-name: fade-in;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 4.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade03 {
		animation-name: fade-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 2s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	.fade04 {
		animation-name: fade-in;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 1.6s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fade-in {
		0% {
		  opacity: 0;
		}
		100% {
		  opacity: 1;
		}
	}

	.fadein-up {
		opacity : 0;
	}
	.fadein-up.active{
		opacity : 1;
		animation-name: fadein-up;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fadein-up {
		0% {
		  opacity: 0;
		  transform: translateY(50px)
		}
		100% {
		  opacity: 1;
		  transform: translateY(0px)
		}
	}
	
	.fadein-up02 {
		opacity : 0;
	}
	.fadein-up02.active{
		opacity : 1;
		animation-name: fadein-up02;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fadein-up02 {
		0% {
		  opacity: 0;
		  transform: scale(1.2);
		}
		100% {
		  opacity: 1;
		  transform: scale(1);
		}
	}
	
	.fadein-l {
		opacity : 0;
	}
	.fadein-l.active{
		opacity : 1;
		animation-name: fadein-l;
		animation-duration: 1s;
		animation-timing-function: ease-out;
		animation-delay: 0s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		opacity: 0;
	}
	@keyframes fadein-l {
		0% {
		  opacity: 0;
		  transform: translateX(-50px)
		}
		100% {
		  opacity: 1;
		  transform: translateX(0px)
		}
	}
	
	.popup1{
		width: 100%;
		display: block;
		opacity: 0;
	}
	.popup1.active{
		animation: popup 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
		animation-delay: 0s;
	}
	.popup2{
		width: 100%;
		display: block;
		opacity: 0;
	}
	.popup2.active{
		animation: popup 1s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
		animation-delay: 0.5s;
	}
	@keyframes popup {
	  0% {
		transform: translateY(10%);
		opacity: 0;
	  }
	  100% {
		transform: translateX(0);
	  }
	  60%,100% {
		opacity: 1;
	  }
	}
	
	.display {
		opacity : 1;
		transform : translateX(-100%);
		transition : all 0.5s;
	}
	.display.active{
		opacity : 1;
		transform : translateX(0%);
	}
	
	.gbc-mv{
		background: #3D3B62;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc01{
		background: #BFADD7;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc02{
		background: #FDDC93;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc03{
		background: #FED7BE;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc04{
		background: #ADDBC3;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc05{
		background: #A6C4DC;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	.gbc06{
		background: #fff;
		background-size: 200% 200%;
		animation: bggradient 3s linear infinite;
	}
	
	@keyframes bggradient{
		0% {
			background-position: 0% 50%;
		}
		50% {
			background-position: 100% 50%;
		}
		100% {
			background-position: 0% 50%;
		}
	}
	
	
	.gb01 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity : 1;
		transform : translate(0, 0);
		transition : all 1s;
		z-index: 9999;
	}
	.gb01.active{
		position: absolute;
		top: 0;
		left: 0;
		animation-name: fade-in-img01;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 1s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		
	}
	@keyframes fade-in-img01 {
		0% {
		  opacity: 1;
		  transform : translateX(0%);
		}
		60% {
		  opacity: .7;
		  transform : translateX(100%);
		}
		100% {
		  opacity: 0;
		  transform : translateX(100%);
		}
	}
	
	.mvbg01 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity : 1;
		transform : translate(0, 0);
		transition : all 1s;
		z-index: 9999;
	}
	.mvbg01.active{
		position: absolute;
		top: 0;
		left: 0;
		animation-name: fade-in-mvbg01;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 3.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		
	}
	@keyframes fade-in-mvbg01 {
		0% {
		  transform : translateX(0%);
		}
		60% {
		  transform : translateX(100%);
		}
		100% {
		  transform : translateX(100%);
		}
	}
	.mvbg02 {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity : 1;
		transform : translate(0, 0);
		transition : all 1s;
		z-index: 9999;
	}
	.mvbg02.active{
		position: absolute;
		top: 0;
		left: 0;
		animation-name: fade-in-mvbg02;
		animation-duration: 1.5s;
		animation-timing-function: ease-out;
		animation-delay: 3.5s;
		animation-iteration-count: 1;
		animation-direction: normal;
		animation-fill-mode: forwards;
		
	}
	@keyframes fade-in-mvbg02 {
		0% {
		  transform : translateX(0%);
		}
		60% {
		  transform : translateX(-100%);
		}
		100% {
		  transform : translateX(-100%);
		}
	}
	
	.nav{
		width: 100%;
		margin: 0 auto;
		display: flex;
		position: fixed;
		background: rgba(255,255,255,0.8);
		backdrop-filter: blur(10px);
		-ms-backdrop-filter: blur(10px);
		z-index: 999;
		bottom: -1px;
	}
	.nav-sp{
		width: 100%;
		border-top: 1px solid #000;
		display: flex;
		justify-content: flex-start;
	}
	.nav-sp li{
		width: 30%;
		border-right: 1px solid #000;
		box-sizing: border-box;
		padding: 5px 0;
	}
	.nav-sp li:last-child{
		width: 10%;
		box-sizing: border-box;
		background: #3D3B62;
	}
	
}
