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;
	color: #1a1311;
}
a{
	color: #000;
	text-decoration: none;
}
.item-s-sp{
	line-height: 0;
}
.item-s{
	line-height: 0;
}

/* js_ani */
.img-opa {
	opacity: 0;
	transition: opacity 0.3s ease-out;
}
.img-opa img {
	display: block;
	width: 100%;
	height: auto;
}

/* txt-ani */
.anime-txt {
	opacity: 0;
	margin: 0;
}
.anime-txt.animating {
	opacity: 1;
}
.char {
	display: inline-block;
	opacity: 0;
	transform: translateX(-10px);
	transition: all 0.6s ease;
}
.char.show {
	opacity: 1;
	transform: translateX(0);
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.mv-wave {
	width: 100%;
	overflow: hidden;
	display: block;
}

.mv-wave .slick-list {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

.mv-wave .slick-track {
	display: flex;
	margin: 0 !important;
	padding: 0 !important;
}

.mv-wave .slick-slide {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

.mv-wave .slick-slide img,
.mv-wave .slick-slide > * {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}

.video-container {
	position: relative;
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	background: #000;
	overflow: hidden;
}
.video-container video {
	width: 100%;
	height: auto;
	display: block;
}
.video-controls {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
	padding: 20px 15px 15px;
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
}
.video-container:hover .video-controls {
	opacity: 1;
	pointer-events: auto;
}
.progress-bar {
	position: relative;
	width: 100%;
	height: 4px;
	background: rgba(255,255,255,0.3);
	border-radius: 2px;
	margin-bottom: 10px;
	cursor: pointer;
}
.progress-fill {
	position: absolute;
	height: 100%;
	background: #ff0000;
	border-radius: 2px;
	width: 0%;
}
.seek-bar {
	position: absolute;
	top: -6px;
	left: 0;
	width: 100%;
	height: 16px;
	opacity: 0;
	cursor: pointer;
	z-index: 5;
}
.controls-bottom {
	display: flex;
	align-items: center;
	gap: 10px;
	color: white;
	font-size: 12px;
}
.play-btn,
.volume-btn,
.fullscreen-btn {
	background: none;
	border: none;
	color: white;
	font-size: 18px;
	cursor: pointer;
	padding: 5px;
	transition: opacity 0.2s;
	flex-shrink: 0;
}
.play-btn:hover,
.volume-btn:hover,
.fullscreen-btn:hover {
	opacity: 0.8;
}
/* 音量コントロール */
.volume-control {
	display: flex;
	align-items: center;
	gap: 8px;
}
.volume-bar {
	width: 60px;
	height: 4px;
	cursor: pointer;
	accent-color: #ff0000;
	transition: width 0.2s;
}
.volume-bar:hover {
	height: 6px;
}
.time-display {
	margin-left: auto;
}


/* 
font-family: "itc-avant-garde-gothic-pro", sans-serif;
font-weight: 700;
font-style: normal;
 */

/* font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif; */


/* 

font-family: "baskerville-urw", serif;
font-weight: 400;
font-style: normal;

font-family: garamond-premier-pro, serif;
font-weight: 400;

font-family: "garamond-premier-pro-display", serif;
font-weight: 300;
font-style: normal;

font-family: "garamond-premier-pro-display", serif;
font-weight: 300;
font-style: italic;

Didot LT Pro Headline
font-family: "linotype-didot-headline", serif;
font-weight: 400;
font-style: normal;

font-family: "tangier", sans-serif;
font-weight: 500;
font-style: normal;

Leander Script Pro Regular
font-family: "leander-script-pro", sans-serif;
font-weight: 400;
font-style: normal;


*/

/*imac*/
@media screen and (min-width: 2560px) and (max-width: 5120px) {
	.sp-on{
		display: none !important;
	}

	.l-icon::before{
        content: url("../img/l-size.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #000;
		border-radius: 3px;
    }
    .s-icon::before{
        content: url("../img/s-size.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #000;
		border-radius: 3px;
    }

	.l-icon01::before{
        content: url("../img/l-size01.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #b63f6c;
		border-radius: 3px;
    }
    .s-icon01::before{
        content: url("../img/s-size01.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #b63f6c;
		border-radius: 3px;
    }

	.l-icon02::before{
        content: url("../img/l-size02.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #84b250;
		border-radius: 3px;
    }
    .s-icon02::before{
        content: url("../img/s-size02.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #84b250;
		border-radius: 3px;
    }

	.l-icon03::before{
        content: url("../img/l-size03.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #be9665;
		border-radius: 3px;
    }
    .s-icon03::before{
        content: url("../img/s-size03.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #be9665;
		border-radius: 3px;
    }

	/* header */
	header{
		width: 100%;
		overflow: hidden;
		display: flex;
		justify-content: flex-start;
		margin: 0 auto 7% auto;
		background: #f0e2d6;
		position: relative;
	}
	.mv-img{
		width: 55%;
		overflow: hidden;
		position: relative;
	}
	.mv-img .line{
		width: 2%;
		height: 100%;
		background: linear-gradient(180deg,rgba(165, 108, 11, 1) 0%, rgba(234, 209, 106, 1) 100%);
		overflow: hidden;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
	}
	.mv-img .mv-bg{
		width: 100%;
        height: 100%;
        background: #fff;
        position: absolute;
        top: 0;
        left: 0;
        overflow: visible;
	}
	.mv-img .mv-bg::before {
        content: '';
        position: absolute;
        top: -200px;
        left: 0;
        right: 0;
        height: 200px;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
        pointer-events: none;
    }
	.mv-data{
		width: 45%;
		position: relative;
	}
	.mv-title-box{
		width: 80%;
		margin: 10% auto 0 auto;
	}
	.mv-title01{
		width: 100%;
		margin: 0 auto 10% auto;
		position: relative;
	}
	.mv-title01 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.mv-title02{
		width: 85%;
		margin: 0 auto 5% auto;
		position: relative;
	}
	.mv-title02 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.mv-title03{
		width: 85%;
		margin: 0 auto 5% auto;
		position: relative;
	}
	.mv-title04{
		width: 85%;
		margin: 0 auto 5% auto;
		position: relative;
	}
	.mv-title04 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.mv-title05{
		width: 85%;
		margin: 0 auto;
		position: relative;
	}

	.wave-border {
		position: absolute;
		bottom: 0px;
		left: 0;
		line-height: 0;
		width: 100%;
		margin: 0;
		overflow: hidden;
		z-index: 10;
	}
	.wave-border02 {
		position: absolute;
		top: 0px;
		left: 0;
		line-height: 0;
		width: 100%;
		margin: 0;
		overflow: hidden;
		background: #f7f0ea;
		z-index: 10;
	}
	.mv-cam{
		width: 15%;
		position: absolute;
		right: 2%;
		bottom: 0%;
		z-index: 10;
	}
	.mv-cam .bg{
		width: 100%;
	}
	@keyframes rotation {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
	}
	.mv-cam .on{
		width: 100%;
		position: absolute;
		right: 0%;
		bottom: 0%;
	}

	/* common */
	.js-scroll-overlap:not(.is-disabled) {
		--sticky-offset: -1px;
		position: sticky;
		top: var(--sticky-offset);
	}
	.relative {
		position: relative;
		border-radius: 30px 30px 0px 0;
	}

	/* read */
	.read{
		width: 80%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		overflow: hidden;
		margin: 0 auto 5% auto;
	}
	.read .img{
		width: 40%;
	}
	.read .img .title{
		width: 80%;
		margin: 0 auto 15% auto;
	}
	.read .img .title li:nth-child(1){
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.read .img .title li:nth-child(2){
		width: 60%;
		margin: 0 auto;
	}
	.read .img .img-box{
		width: 50%;
		position: relative;
		overflow: hidden;
		margin: 0 auto;
	}
	.read .img .img-box .bg{
		width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 10;
        background: linear-gradient(to bottom, #fff 0%, #fff 70%, transparent 100%);
	}
	.read .data{
		width: 50%;
		overflow: hidden;
		position: relative;
	}
	.read .data .read-bg{
		width: 100%;
        height: 100%;
        background: #fff;
        position: absolute;
        top: 0;
        left: 0;
        overflow: visible;
	}
	.read .data .read-bg::before {
        content: '';
        position: absolute;
        top: -200px;
        left: 0;
        right: 0;
        height: 200px;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
        pointer-events: none;
    }
	.read .data .icon{
		width: 27%;
		position: absolute;
		top: 13%;
		right: 0;
		z-index: -1;
	}
	.read .data .txt{
		font-size: 15px;
		letter-spacing: 3px;
		line-height: 3em;
		color: #40210f;
	}
	.read .data .sub{
		font-size: 10px;
		letter-spacing: 2px;
		line-height: 3em;
		color: #40210f;
		margin: 5% 0 0 0;
	}
	/* pro */
	.pro{
		width: 50%;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin: 0 auto;
		padding: 0 0 10% 0;
	}
	.pro .line{
		width: 100%;
		height: 1px;
		background: #a56c0b;
	}
	.pro .name span{
		color: #a56c0b;
		font-size: 35px;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		letter-spacing: 5px;
		display: block;
		margin: 0 0 4% 0;
		white-space: nowrap;
	}
	.pro .name{
		width: 25%;
		font-size: 14px;
		letter-spacing: 3px;
		color: #a56c0b;
		padding: 3% 0% 3% 3%;
		box-sizing: border-box;
	}
	.pro .data{
		width: 70%;
		font-size: 13px;
		letter-spacing: 3px;
		line-height: 3em;
		padding: 3% 0;
		box-sizing: border-box;
	}
	
	/* cont-wrap */
	.cont-wrap{
		width: 100%;
		background: #f7f0ea;
		position: relative;
		padding: 5% 0 0 0;
		border-radius: 50px 50px 0 0;
	}

	/* main-door */
	.main-door{
		width: 45%;
		position: relative;
		margin: 0 auto 5% auto;
		padding: 1% 0;
	}
	.main-door .line01{
		width: 5%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		left: 0;
	}
	.main-door .line02{
		width: 5%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		right: 0;
	}
	.main-door .title{
		width: 35%;
		position: relative;
		margin: 0 auto 3% auto;
	}
	.main-door .title .on{
		width: 100%;
		position: relative;
		z-index: 10;
	}
	.main-door .title .line{
		width: 100%;
		height: 15px;
		background: #fff;
		position: absolute;
		bottom: 0;
		left: 0;
	}
	.main-door .txt{
		width: 55%;
		position: relative;
		margin: 0 auto;
	}
	/* top-nav */
	.top-nav{
		width: 70%;
		margin: 0 auto 10% auto;
	}
	.top-nav-list{
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.top-nav-list li{
		width: 28%;
	}
	.top-nav-list li a{
		width: 100%;
		background: #fff;
		box-sizing: border-box;
		padding: 10% 10%;
		display: block;
		position: relative;
		box-shadow: 0px 13px 15px -5px #b8b8b8;
		transition: .3s;
	}
	.top-nav-list li a:hover{
		box-shadow: 0px 0px 0px 0px #b8b8b8;
		transition: .3s;
	}
	.top-nav-list li a .icon{
		width: 5%;
		position: absolute;
		top: 5%;
		right: 4.5%;
	}
	.top-nav-list li a .icon-pop{
		width: 27%;
		position: absolute;
		top: 66%;
		right: -7%;
		z-index: 10;
	}
	.top-nav-list li a .icon-com{
		width: 50%;
		position: absolute;
		top: 55%;
		right: 5%;
		z-index: 10;
	}
	.top-nav-list li a .bg01{
		width: 100%;
		height: 50%;
		background: #b63f6c;
		position: absolute;
		top: 0;
		left: 0;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg01{
		height: 100%;
		transition: .3s;
	}
	.top-nav-list li a .bg02{
		width: 100%;
		height: 50%;
		background: #84b250;
		position: absolute;
		top: 0;
		left: 0;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg02{
		height: 100%;
		transition: .3s;
	}
	.top-nav-list li a .bg03{
		width: 100%;
		height: 50%;
		background: #be9665;
		position: absolute;
		top: 0;
		left: 0;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg03{
		height: 100%;
		transition: .3s;
	}
	.top-nav-list li a .img{
		width: 90%;
		margin: 0 auto 7% auto;
		position: relative;
		overflow: hidden;
		z-index: 10;
	}
	.top-nav-list li a .img .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 10;
		background: rgba(0, 0, 0, .6);
		backdrop-filter: blur(2px);
		-ms-backdrop-filter: blur(2px);
		-webkit-backdrop-filter: blur(2px);
	}
	.top-nav-list li a .txt{
		font-size: 19px;
		letter-spacing: 3px;
		position: relative;
		z-index: 10;
		transition: .3s;
	}
	.top-nav-list li a:hover .txt{
		color: #fff;
		transition: .3s;
	}
	.top-nav-list li a .txt .color01{
		display: block;
		color: #b63f6c;
		font-size: 26px;
		letter-spacing: 3px;
		font-weight: bold;
		transition: .3s;
	}
	.top-nav-list li a:hover .txt .color01{
		color: #fff;
		transition: .3s;
	}
	.top-nav-list li a .txt .color02{
		display: block;
		color: #84b250;
		font-size: 26px;
		letter-spacing: 3px;
		font-weight: bold;
		transition: .3s;
	}
	.top-nav-list li a:hover .txt .color02{
		color: #fff;
		transition: .3s;
	}
	.top-nav-list li a .txt .color03{
		display: block;
		color: #be9665;
		font-size: 26px;
		letter-spacing: 3px;
		font-weight: bold;
		transition: .3s;
	}
	.top-nav-list li a:hover .txt .color03{
		color: #fff;
		transition: .3s;
	}
	/* door */
	.door{
		width: 100%;
		position: relative;
		margin: 0 0 5% 0;
	}
	.door .num{
		width: 80px;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		left: 20%;
	}
	.door .img{
		width: 12%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		right: 10%;
	}
	.door .main-title{
		width: max-content;
		position: relative;
		margin: 0 auto;
	}
	.door .main-title .sub{
		width: 300px;
		margin: 0 0 3% 0;
	}
	.door .main-title .title{
		font-size: 80px;
        letter-spacing: 1px;
		line-height: 1em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	}
	.door .main-title .title .color01{
		color: #b63f6c;
	}
	.door .main-title .title .color02{
		color: #84b250;
	}
	.door .main-title .title .color03{
		color: #be9665;
	}
	.door .main-title .title .line{
		width: 100px;
		height: 1px;
		background: #000;
		display: inline-block;
		position: relative;
		top: -30px;
		margin: 0 10px 0 0;
	}
	.door .main-title .title .line01{
		background: #b63f6c;
	}
	.door .main-title .title .line02{
		background: #84b250;
	}
	.door .main-title .title .line03{
		background: #be9665;
	}
	.door .main-title .title .min{
		font-size: 40px;
		margin: 0 0 0 10px;
	}
	.door .main-title .icon{
		width: 50px;
		position: absolute;
		right: -10px;
		bottom: 0;
	}
	/* main-cont */
	.main-cont{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		margin: 0 auto 5% auto;
	}
	.movie-cont{
		width: 50%;
		position: relative;
	}
	.movie-cont .movie-cont-in{
		width: 100%;
		position: relative;
		padding: 0 0 10% 0;
	}
	.movie-cont .movie-cont-in .bg01{
		width: 100%;
		height: 40%;
		position: absolute;
		bottom: 0;
		left: 0;
		background: #b63f6c;
	}
	.movie-cont .movie-cont-in .bg02{
		width: 100%;
		height: 40%;
		position: absolute;
		bottom: 0;
		left: 0;
		background: #65A04D;
	}
	.movie-cont .movie-cont-in .bg03{
		width: 100%;
		height: 40%;
		position: absolute;
		bottom: 0;
		left: 0;
		background: #be9665;
	}
	.movie-box{
		width: 60%;
		margin: 0 auto 2% auto;
		position: relative;
	}
	.movie-box .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: rgba(0, 0, 0, .6);
        backdrop-filter: blur(2px);
        -ms-backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
	}
	.movie-box a .icon{
		width: 30%;
		margin: 0 auto;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		left: 0;
		right: 0;
	}
	.movie-box a .icon .on{
		width: 100%;
		position: absolute;
		animation: rotation 20s linear infinite;
		top: 0;
	}
	.movie-box a .icon .cn{
		width: 20%;
		margin: 0 auto;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		left: 0;
		right: 0;
		transition: .3s;
	}
	.movie-box a:hover .icon .cn{
		right: -10%;
		transition: .3s;
	}
	.movie-data{
		width: 60%;
		margin: 0 auto;
		position: relative;
	}
	.movie-data .icon{
		width: 3%;
		position: absolute;
		top: 23%;
		left: 0;
	}
	.movie-data .sub{
		width: 30%;
		margin: 0 0 5% 70%;
	}
	.movie-data .txt{
		width: 80%;
		margin: 0 0 10% 10%;
	}
	.movie-data .txt02{
		width: 90%;
		color: #fff;
		margin: 0 0 0 10%;
		font-size: 13px;
		letter-spacing: 2px;
		white-space: nowrap;
	}
	.movie-data .txt02 span{
		width: max-content;
		display: block;
		border: 1px solid #fff;
		font-size: 12px;
		letter-spacing: 3px;
		line-height: 2em;
		padding: 0 10px;
		margin: 0 0 3% 0;
	}
	.data-cont{
		width: 50%;
		background: #fff;
		position: relative;
		padding: 5% 0 7% 0;
	}
	.item-img{
		width: 85%;
		overflow: hidden;
		margin: 0 0 5% 15%;
		position: relative;
	}
	.item-img .bg{
		width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 10;
        background: linear-gradient(to bottom, #fff 0%, #fff 70%, transparent 100%);
	}
	.item-title-box{
		width: 70%;
		position: relative;
		margin: 0 auto 2% auto;
	}
	.item-title-box .num{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin: 0 0 5% 0;
	}
	.item-title-box .num li:nth-child(1){
		width: 25%;
		margin: 0 7% 0 0;
	}
	.item-title-box .num li:nth-child(2){
		width: 20%;
	}
	.item-title-box .title{
		font-size: 30px;
        letter-spacing: 5px;
		line-height: 2em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		padding: 0 0 5% 0;
	}
	.item-title-box .line{
		width: 50%;
		position: absolute;
		left: 0;
		bottom: 0;
	}
	.item-title-box .icon{
		width: 3%;
		position: absolute;
		right: 0;
		top: 25%;
	}
	.item-title-box .img{
		width: 26%;
        position: absolute;
        right: 10%;
        top: 20%;
	}
	.data-cont .link-block{
		width: 70%;
		margin: 0 auto;
		position: relative;
	}
	.data-cont .link-block .icon{
		width: 15%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.data-cont .link-block .link-box{
		width: 70%;
		margin: 0 0 0 25%;
	}
	.data-cont .link-block .link-box .top-icon{
		width: 80%;
		margin: 0 0 5% 0;
	}
	/* a-item */
	.a-item{
		width: 100%;
		margin: 0 auto 0 auto;
		padding: 0 0 2% 0;
	}
	.a-item .title{
		width: 40%;
		margin: 0 auto 1% auto;
	}
	.a-item .txt{
		margin: 0 auto 3% auto;
		font-size: 14px;
		letter-spacing: 2px;
		text-align: center;
	}
	.a-item .link-box{
		width: 25%;
		margin: 3% auto 0 auto;
	}
	.photo-box-container {
		width: 100%;
		height: 2000px;
		position: relative;
		margin: 0 auto 3% auto;
	}
	.photo-box01 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		left: 0;
	}
	.photo-box02 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		left: 20%;
		z-index: 2;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateX(30px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	.photo-box03 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		left: 40%;
		z-index: 3;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateX(30px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	.photo-box04 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		left: 60%;
		z-index: 4;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateX(30px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	.photo-box05 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		right: 0%;
		z-index: 5;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateX(0px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	/* フェードイン後の状態 */
	.photo-box02.fade-in,
	.photo-box03.fade-in,
	.photo-box04.fade-in,
	.photo-box05.fade-in {
		opacity: 1;
		transform: translateY(0);
	}
	.photo-in {
		width: 100%;
		position: sticky;
		top: 0;
		padding: 40% 0 0 0;
	}

	/* cont-wrap02 */
	.cont-wrap02{
		width: 100%;
		background: #f0e2d6;
		position: relative;
		padding: 5% 0 13% 0;
	}
	/* side */
	.side01{
		width: 4%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		border-right: 1px solid #fff;
	}
	.side02{
		width: 4%;
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
		border-left: 1px solid #fff;
	}
	.side-in{
		width: 100%;
		height: 100vh;
		position: sticky;
		top: 0;
		box-sizing: border-box;
		padding: 0 30%;
		overflow: hidden;
	}
	.mv-slick02{
		transform: rotateX(180deg);
	}
	/* cam-main-door */
	.cam-main-door{
		width: 80%;
		margin: 0 auto 5% auto;
		position: relative;
		z-index: 10;
		color: #a56c0b;
		padding: 10% 0 0 0;
	}
	.cam-main-door .icon{
		width: 20%;
		margin: 0 auto;
	}
	.cam-main-door .title{
		width: 40%;
		margin: 0 auto 3% auto;
	}
	.cam-main-door .txt{
		width: max-content;
		font-size: 21px;
		letter-spacing: 4px;
		line-height: 2.5em;
		color: #fff;
		background: #a56c0b;
		margin: 0 auto 3% auto;
		padding: 0 30px;
	}
	.cam-main-door .line{
		width: 100%;
		height: 1px;
		background: #a56c0b;
		margin: 0 auto 3% auto;
	}
	.cam-main-door .cou{
		font-size: 14px;
		letter-spacing: 4px;
		line-height: 2.5em;
		text-align: center;
	}
	/* cam-door */
	.cam-door{
		width: 70%;
		position: relative;
		margin: 0 auto 5% auto;
		color: #a56c0b;
	}
	.cam-door .num{
		width: 100px;
		position: absolute;
		top: 0;
		left: 0;
	}
	.cam-door .title{
		width: 50%;
		margin: 0 auto 3% auto;
	}
	.cam-door .icon{
		width: 30%;
		margin: 0 auto 3% auto;
	}
	.cam-door .txt{
		font-size: 30px;
        letter-spacing: 5px;
		line-height: 2em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		text-align: center;
	}
	.cam-door .cou{
		font-size: 14px;
		letter-spacing: 4px;
		line-height: 2.5em;
		text-align: center;
	}
	.cam-door .img{
		width: 15%;
		position: absolute;
		top: 0;
		right: 0;
	}
	.cam-door .title01{
		width: 35%;
		margin: 0 auto 3% auto;
	}
	.cam-door .title02{
		width: 60%;
		margin: 0 auto 3% auto;
	}
	/* cam01-list */
	.cam01-list{
		width: 70%;
		margin: 0 auto 10% auto;
		display: flex;
		justify-content: space-between;
	}
	.cam01-list li{
		width: 26%;
		position: relative;
	}
	.cam01-list li .title{
		width: 80%;
		margin: 0 auto 5% auto;
	}
	.cam01-list li .img{
		width: 100%;
		overflow: hidden;
	}
	.cam01-list li .icon{
		width: 50%;
		position: absolute;
		right: -15%;
		bottom: -10%;
	}
	.cam01-txt{
		font-size: 30px;
        letter-spacing: 5px;
        line-height: 2em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
        text-align: center;
		color: #a56c0b;
		margin: 0 auto 10% auto;
	}
	/* cam02-box */
	.cam02-box{
		width: 70%;
		background: #fff;
		margin: 0 auto 10% auto;
		box-sizing: border-box;
		padding: 5% 5%;
		color: #a56c0b;
	}
	.cam02-box .main-title{
		font-size: 21px;
		letter-spacing: 4px;
		line-height: 2.5em;
		text-align: center;
		font-weight: bold;
	}
	.cam02-box .line{
		width: 100%;
		height: 1px;
		background: #a56c0b;
		margin: 0 auto 5% auto;
	}
	.cam02-list01{
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 5% auto;
	}
	.cam02-list01 li{
		width: 30%;
		margin: 0 auto;
	}
	.cam02-list01 li .title{
		width: 50%;
		margin: 0 auto 2% auto;
	}
	.cam02-list01 li .txt{
		font-size: 14px;
		letter-spacing: 3px;
		line-height: 2.5em;
		text-align: center;
	}
	.cam02-list02{
		width: 100%;
	}
	.cam02-list02 li{
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin: 0 0 5% 0;
		position: relative;
	}
	.cam02-list02 li:last-child{
		margin: 0 0 0% 0;
	}
	.cam02-list02 li .title{
		width: 20%;
		display: flex;
		align-items: center;
		justify-content: center;
		border-right: 1px solid #a56c0b;
		text-align: center;
		font-size: 14px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-weight: bold;
	}
	.cam02-list02 li .txt{
		width: 70%;
		padding: 2% 0;
		font-size: 14px;
        letter-spacing: 2px;
        line-height: 2.5em;
	}
	.cam02-list02 li .txt span{
		font-size: 12px;
        letter-spacing: 2px;
        line-height: 2.5em;
		display: block;
		margin: 3% 0 0 0;
	}
	.cam02-list02 li .logo{
		width: 20%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		right: 0;
	}
	/* cam03-box */
	.cam03-box{
		width: 70%;
		margin: 0 auto 7% auto;
		position: relative;
		box-sizing: border-box;
	}
	.cam03-box .title01{
		width: 35%;
		margin: 0 auto 5% auto;
	}
	.cam03-box .title02{
		width: 30%;
		position: relative;
		margin: 0 auto 0% auto;
	}
	.cam03-box .title02 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.cam03-box .icon{
		width: 15%;
		position: relative;
		margin: 0 auto 2% auto;
	}
	.cam03-box .icon .un{
		animation: rotation 20s linear infinite;
	}
	.cam03-box .icon .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.cam03-box .icon .on02{
		width: 30%;
		position: absolute;
		top: 0;
		left: -10%;
	}
	.cam03-box .ph01{
		width: 30%;
		position: absolute;
		top: 0;
		left: 0%;
	}
	.cam03-box .ph02{
		width: 20%;
        position: absolute;
        top: 27%;
        right: 14%;
	}
	.cam03-box .ph03{
		width: 22%;
		position: absolute;
		top: 0;
		right: 0%;
		z-index: 10;
	}
	.cam03-box .cou{
		font-size: 12px;
		letter-spacing: 2px;
		color: #a56c0b;
		position: relative;
		left: 10%;
		margin: 0 0 5% 0;
	}
	.cam03-box .btn{
		width: 40%;
		display: block;
		margin: 0 auto;
		background: #a56c0b;
		font-size: 21px;
        letter-spacing: 5px;
        line-height: 3em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
        text-align: center;
		color: #fff;
		position: relative;
	}
	.cam03-box .btn span{
		width: 7%;
		line-height: 0;
		display: block;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		right: 10%;
		transition: .3s;
	}
	.cam03-box:hover .btn span{
		right: 5%;
		transition: .3s;
	}
	/* cam04-box */
	.cam04-box{
		width: 25%;
		margin: 0 auto;
	}
	/* f-data */
	.f-data{
		width: 30%;
		margin: 0 auto 5% auto;
	}
	.f-data .img{
		width: 80%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 7% auto;
	}
	.f-data .img li{
		width: 45%;
	}
	.f-data .title{
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.f-data .txt{
		width: 100%;
		font-size: 14px;
        letter-spacing: 2px;
        line-height: 2.5em;
		text-align: justify;
	}
	/* f-data02 */
	.f-data02{
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.f-data02 .img{
		width: 150px;
		line-height: 0;
		margin: 0 auto 4% auto;
	}
	.f-data02 .title{
		width: 100%;
		font-size: 28px;
        letter-spacing: 3px;
        line-height: 1em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		text-align: center;
		margin: 0 auto 2% auto;
	}
	.f-data02 .txt{
		width: 100%;
		font-size: 16px;
        letter-spacing: 4px;
        line-height: 2.5em;
		text-align: center;
	}
	/* modal */
	.js_modalBtnWrap {
		width: 300px;
		max-width: 100%;
		margin: 0 auto;
		text-align: center;
	}
	.js_modalBtnCont {
		display: block;
		transition: 0.3s;
	}
	.js_modalBtnCont .img{
		transform: scale(1);
		transition: 0.3s;
	}
	.js_modalBtnCont:hover .img{
		transform: scale(1.05);
		transition: 0.3s;
	}
	.js_modalWrap {
	opacity: 0;
	z-index: -1;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	backdrop-filter: blur(5px);
	-ms-backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	}
	.js_modalWrap.active {
	animation: modalOpen 0.3s ease forwards;
	}
	.js_modalWrap.active2 {
	animation: modalClose 0.3s ease forwards;
	}
	.js_modalBG {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(255, 255, 255, 0.3);
	}
	.js_modalContInner {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
		width: 65%;
		background-color: #fff;
		max-height: 100%;
	}
	.js_modalCont {
		overflow-y: scroll;
		height: 90vh;
		box-sizing: border-box;
		padding: 10% 10%;
	}
	.js_modalCont > * + * {
	margin-top: 10px;
	}
	.js_modalContInner > .js_modalClose + * {
	margin-top: 0;
	}
	.js_modalClose {
		display: block;
		position: absolute;
		top: 5% !important;
		right: 3%;
		overflow: hidden;
		cursor: pointer;
		z-index: 1001;
		margin: 0 auto;
		width: 6%;
		line-height: 0;
	}
	@keyframes modalOpen {
		0% {
			opacity: 0;
		}
		100% {
			opacity: 1;
			z-index: 1000;
		}
	}
	@keyframes modalClose {
		0% {
			opacity: 1;
			z-index: 1000;
		}
		100% {
			opacity: 0;
		}
	}
	.modal-list{
		width: 100%;
		margin: 0 0 0% 0;
	}
	.modal-list li{
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.modal-list li:nth-child(1){
		width: 100%;
		border: 1px solid #000;
		text-align: center;
		font-size: 14px;
		letter-spacing: 5px;
		font-weight: bold;
		line-height: 3em;
		margin: 0 auto 5% auto;
	}
	.modal-list li:last-child{
		width: 100%;
		margin: 0;
	}
	.modal-list li .title{
		width: 100%;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
	}
	.modal-list li .txt{
		width: 100%;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
        text-align: justify;
	}
	.modal-list li .txt span{
		width: 100%;
		display: block;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
        text-align: justify;
		margin: 3% 0 0 0;
	}
	.modal-list li .txt a{
		border-bottom: 1px solid #000;
	}
	.modal-list02{
		width: 100%;
		margin: 0 0 10% 0;
	}
	.modal-list02 li{
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	.modal-list02 li:last-child{
		width: 100%;
		margin: 5% 0 0 0;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
        text-align: right;
		display: block;
	}
	.modal-list02 li .title{
		width: 25%;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
		border-right: 1px solid #000;
		padding: 3% 0;
	}
	.modal-list02 li .txt{
		width: 65%;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
        text-align: justify;
		padding: 3% 0;
	}

	/*sid-nav*/
    .side-nav{
		position: fixed;
		display: block;
		width: 70px;
		left: 0px;
        top: 0;
		height: 100vh;
		z-index: 10;
	}
	.side-nav-in{
		width: 100%;
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
	}
	.side-nav-in li{
		width: 100%;
		margin: 0 0 30px 0;
	}
	.side-nav-in li:last-child{
		width: 100%;
		margin: 0 0 0px 0;
	}
	.side-nav-in a{
		opacity: 1;
		transition: .3s;
		display: block;
		width: 100%;
		overflow: hidden;
		position: relative;
	}

	/*cart-btm*/
	.cart-btm{
		width: 100%;
		text-decoration: none;
		color: #000;
		transition: 0.3s;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 0 0 1% 0;
		font-family: "yu-mincho-pr6n", sans-serif;
		position: relative;
	}
	.cart-btm02{
		width: 100%;
		text-decoration: none;
		color: #000;
		transition: 0.3s;
        display: flex;
        justify-content: space-between;
        align-items: center;
		flex-wrap: wrap;
        margin: 0 0 1% 0;
		font-family: "yu-mincho-pr6n", sans-serif;
		position: relative;
	}
	.cert-btm-color01{
		color: #b63f6c !important;
	}
	.cert-btm-color02{
		color: #84b250 !important;
	}
	.cert-btm-color03{
		color: #be9665 !important;
	}
	.cart-title{
        width: max-content;
		font-size: 14px;
        letter-spacing: 0px;
        position: absolute;
        line-height: 1.5em;
        white-space: nowrap;
	}
	.cart-title span{
		font-size: 11px;
		margin: 0 0 0 0px;
		position: relative;
		top: -2px;
	}
	.cart-title02{
        width: 100%;
		font-size: 14px;
        letter-spacing: 0px;
        line-height: 1.5em;
        white-space: nowrap;
	}
    .cart-yen{
		font-size: 16px;
		letter-spacing: 0px;
        width: 85%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        white-space: nowrap;
		font-family: "yu-mincho-pr6n", sans-serif;
		box-sizing: border-box;
		padding: 0 10px 0 0;
	}
	.cart-yen .yen-icon{
		margin: 0 2px 0 0;
	}
	.cart-yen .tax{
		font-size: 11px;
		letter-spacing: 0;
		margin: 0 0 0 5px;
		position: relative;
		top: 1px;
	}
    .cart-yen02{
		font-size: 16px;
		letter-spacing: 0px;
        width: max-content;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        white-space: nowrap;
		font-family: "yu-mincho-pr6n", sans-serif;
		box-sizing: border-box;
	}
	.cart-yen02 .yen-icon{
		margin: 0 2px 0 0;
	}
	.cart-yen02 .tax{
		font-size: 10px;
		letter-spacing: 0;
		margin: 0 0 0 5px;
		position: relative;
		top: 1px;
	}
	
	.link-line01{
		width: 100%;
		height: 1px;
		background: #b63f6c;
		margin: 10px 0 10px 0;
		opacity: .5;
	}
	.link-line02{
		width: 100%;
		height: 1px;
		background: #84b250;
		margin: 10px 0 10px 0;
		opacity: .5;
	}
	.link-line03{
		width: 100%;
		height: 1px;
		background: #be9665;
		margin: 10px 0 10px 0;
		opacity: .5;
	}

	.cart-btm .btn00_1 {
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 3px 0 3px 0;
		display: inline-block;
		text-align: center;
		color: #b63f6c;
		position: relative;
	}
	.cart-btm .btn00_1::before {
		background: #b63f6c;
		content: '';
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
		margin: auto;
		transform-origin: right top;
		transform: scale(0, 1);
		transition: transform .3s;
	}
	.cart-btm:hover .btn00_1::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.cart-btm .btn00_2 {
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 3px 0 3px 0;
		display: inline-block;
		text-align: center;
		color: #84b250;
		position: relative;
	}
	.cart-btm .btn00_2::before {
		background: #84b250;
		content: '';
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
		margin: auto;
		transform-origin: right top;
		transform: scale(0, 1);
		transition: transform .3s;
	}
	.cart-btm:hover .btn00_2::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.cart-btm .btn00_3 {
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 3px 0 3px 0;
		display: inline-block;
		text-align: center;
		color: #be9665;
		position: relative;
	}
	.cart-btm .btn00_3::before {
		background: #be9665;
		content: '';
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
		margin: auto;
		transform-origin: right top;
		transform: scale(0, 1);
		transition: transform .3s;
	}
	.cart-btm:hover .btn00_3::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.cart-btm .btn01{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #b63f6c;
		border: .5px solid #b63f6c;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn01 {
		background: #fff;
		border-color: #b63f6c;
		color: #b63f6c;
	}

	.cart-btm .btn02{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #84b250;
		border: .5px solid #84b250;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn02 {
		background: #fff;
		border-color: #84b250;
		color: #84b250;
	}

	.cart-btm .btn03{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #be9665;
		border: .5px solid #be9665;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn03 {
		background: #fff;
		border-color: #be9665;
		color: #be9665;
	}

	.cart-btm .btn04{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #aea094;
		border: .5px solid #aea094;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn04 {
		background: #fff;
		border-color: #aea094;
		color: #aea094;
	}

	.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);
	}
	.cart-btm02: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;
	}
	.cart-btm02:hover .btn-arrow img {
		opacity: 1;
		right: -1rem;
	}

	/*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-banner-list li .txt{
		width: 100%;
		font-size: 12px;
		letter-spacing: 2px;
		line-height: 2em;
		text-align: center;
		margin: 2% 0 0 0;
	}
	
	/*f-banner02*/
	.f-banner02{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 5% auto;
		padding: 0 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: 15px;
		width: 50px;
		height: 50px;
		display: block;
		z-index: 99;
	}
	#pagetop .btn-loading {
		display: inline-flex;
		text-decoration: none;
		font-weight: 700;
		color: #111;
		width: 100%;
		height: 100%;
		position: relative;
		opacity: 1 !important;
		transition: all 0.3s;
		background-color: #CCC;
		border-radius: 100%;
		transition: color 0.2s;
		overflow: hidden;
	}
	#pagetop .btn-loading01:before,
	#pagetop .btn-loading01:after {
		content: "";
		display: block;
		position: absolute;
		width: 50%;
		height: 0;
		background-color: #231815;
		pointer-events: none;
	}
	#pagetop .btn-loading:before {
		bottom: 0;
		left: 0;
	}
	#pagetop .btn-loading:after {
		top: 0;
		right: 0;
	}
	#pagetop:hover .btn-loading {
		color: #65A04D;
	}
	#pagetop:hover .btn-loading:before,
	#pagetop:hover .btn-loading:after {
		height: 100%;
	}
	#pagetop:hover .btn-loading:before {
		transition: height 0.1s 0.1s linear;
	}
	#pagetop:hover .btn-loading:after {
		transition: height 0.1s linear;
	}
	#pagetop .btn-loading span {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: calc(100% - 1px);
		height: calc(100% - 1px);
		background-color: #FFF;
		border-radius: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 99;
	}
	#pagetop .btn-loading span img{
		width: 20px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	
	.in-btn{
		width: 40px;
		margin: 0 auto 1% auto;
		display: block;
		opacity: 1;
	}

}

/*pc*/
@media screen and (min-width: 1281px) and (max-width: 2559px) {
    .sp-on{
		display: none !important;
	}

	.l-icon::before{
        content: url("../img/l-size.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #000;
		border-radius: 3px;
    }
    .s-icon::before{
        content: url("../img/s-size.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #000;
		border-radius: 3px;
    }

	.l-icon01::before{
        content: url("../img/l-size01.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #b63f6c;
		border-radius: 3px;
    }
    .s-icon01::before{
        content: url("../img/s-size01.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #b63f6c;
		border-radius: 3px;
    }

	.l-icon02::before{
        content: url("../img/l-size02.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #84b250;
		border-radius: 3px;
    }
    .s-icon02::before{
        content: url("../img/s-size02.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #84b250;
		border-radius: 3px;
    }

	.l-icon03::before{
        content: url("../img/l-size03.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #be9665;
		border-radius: 3px;
    }
    .s-icon03::before{
        content: url("../img/s-size03.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #be9665;
		border-radius: 3px;
    }

	/* header */
	header{
		width: 100%;
		overflow: hidden;
		display: flex;
		justify-content: flex-start;
		margin: 0 auto 7% auto;
		background: #f0e2d6;
		position: relative;
	}
	.mv-img{
		width: 55%;
		overflow: hidden;
		position: relative;
	}
	.mv-img .line{
		width: 2%;
		height: 100%;
		background: linear-gradient(180deg,rgba(165, 108, 11, 1) 0%, rgba(234, 209, 106, 1) 100%);
		overflow: hidden;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
	}
	.mv-img .mv-bg{
		width: 100%;
        height: 100%;
        background: #fff;
        position: absolute;
        top: 0;
        left: 0;
        overflow: visible;
	}
	.mv-img .mv-bg::before {
        content: '';
        position: absolute;
        top: -200px;
        left: 0;
        right: 0;
        height: 200px;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
        pointer-events: none;
    }
	.mv-data{
		width: 45%;
		position: relative;
	}
	.mv-title-box{
		width: 80%;
		margin: 10% auto 0 auto;
	}
	.mv-title01{
		width: 100%;
		margin: 0 auto 10% auto;
		position: relative;
	}
	.mv-title01 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.mv-title02{
		width: 85%;
		margin: 0 auto 5% auto;
		position: relative;
	}
	.mv-title02 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.mv-title03{
		width: 85%;
		margin: 0 auto 5% auto;
		position: relative;
	}
	.mv-title04{
		width: 85%;
		margin: 0 auto 5% auto;
		position: relative;
	}
	.mv-title04 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.mv-title05{
		width: 85%;
		margin: 0 auto;
		position: relative;
	}

	.wave-border {
		position: absolute;
		bottom: 0px;
		left: 0;
		line-height: 0;
		width: 100%;
		margin: 0;
		overflow: hidden;
		z-index: 10;
	}
	.wave-border02 {
		position: absolute;
		top: 0px;
		left: 0;
		line-height: 0;
		width: 100%;
		margin: 0;
		overflow: hidden;
		background: #f7f0ea;
		z-index: 10;
	}
	.mv-cam{
		width: 15%;
		position: absolute;
		right: 2%;
		bottom: 0%;
		z-index: 10;
	}
	.mv-cam .bg{
		width: 100%;
	}
	@keyframes rotation {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
	}
	.mv-cam .on{
		width: 100%;
		position: absolute;
		right: 0%;
		bottom: 0%;
	}

	/* common */
	.js-scroll-overlap:not(.is-disabled) {
		--sticky-offset: -1px;
		position: sticky;
		top: var(--sticky-offset);
	}
	.relative {
		position: relative;
		border-radius: 30px 30px 0px 0;
	}

	/* read */
	.read{
		width: 80%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		overflow: hidden;
		margin: 0 auto 5% auto;
	}
	.read .img{
		width: 40%;
	}
	.read .img .title{
		width: 80%;
		margin: 0 auto 15% auto;
	}
	.read .img .title li:nth-child(1){
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.read .img .title li:nth-child(2){
		width: 60%;
		margin: 0 auto;
	}
	.read .img .img-box{
		width: 50%;
		position: relative;
		overflow: hidden;
		margin: 0 auto;
	}
	.read .img .img-box .bg{
		width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 10;
        background: linear-gradient(to bottom, #fff 0%, #fff 70%, transparent 100%);
	}
	.read .data{
		width: 50%;
		overflow: hidden;
		position: relative;
	}
	.read .data .read-bg{
		width: 100%;
        height: 100%;
        background: #fff;
        position: absolute;
        top: 0;
        left: 0;
        overflow: visible;
	}
	.read .data .read-bg::before {
        content: '';
        position: absolute;
        top: -200px;
        left: 0;
        right: 0;
        height: 200px;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
        pointer-events: none;
    }
	.read .data .icon{
		width: 27%;
		position: absolute;
		top: 13%;
		right: 0;
		z-index: -1;
	}
	.read .data .txt{
		font-size: 15px;
		letter-spacing: 3px;
		line-height: 3em;
		color: #40210f;
	}
	.read .data .sub{
		font-size: 10px;
		letter-spacing: 2px;
		line-height: 3em;
		color: #40210f;
		margin: 5% 0 0 0;
	}
	/* pro */
	.pro{
		width: 50%;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin: 0 auto;
		padding: 0 0 10% 0;
	}
	.pro .line{
		width: 100%;
		height: 1px;
		background: #a56c0b;
	}
	.pro .name span{
		color: #a56c0b;
		font-size: 35px;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		letter-spacing: 5px;
		display: block;
		margin: 0 0 4% 0;
		white-space: nowrap;
	}
	.pro .name{
		width: 25%;
		font-size: 14px;
		letter-spacing: 3px;
		color: #a56c0b;
		padding: 3% 0% 3% 3%;
		box-sizing: border-box;
	}
	.pro .data{
		width: 70%;
		font-size: 13px;
		letter-spacing: 3px;
		line-height: 3em;
		padding: 3% 0;
		box-sizing: border-box;
	}
	
	/* cont-wrap */
	.cont-wrap{
		width: 100%;
		background: #f7f0ea;
		position: relative;
		padding: 5% 0 0 0;
		border-radius: 50px 50px 0 0;
	}

	/* main-door */
	.main-door{
		width: 45%;
		position: relative;
		margin: 0 auto 5% auto;
		padding: 1% 0;
	}
	.main-door .line01{
		width: 5%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		left: 0;
	}
	.main-door .line02{
		width: 5%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		right: 0;
	}
	.main-door .title{
		width: 35%;
		position: relative;
		margin: 0 auto 3% auto;
	}
	.main-door .title .on{
		width: 100%;
		position: relative;
		z-index: 10;
	}
	.main-door .title .line{
		width: 100%;
		height: 15px;
		background: #fff;
		position: absolute;
		bottom: 0;
		left: 0;
	}
	.main-door .txt{
		width: 55%;
		position: relative;
		margin: 0 auto;
	}
	/* top-nav */
	.top-nav{
		width: 70%;
		margin: 0 auto 10% auto;
	}
	.top-nav-list{
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.top-nav-list li{
		width: 28%;
	}
	.top-nav-list li a{
		width: 100%;
		background: #fff;
		box-sizing: border-box;
		padding: 10% 10%;
		display: block;
		position: relative;
		box-shadow: 0px 13px 15px -5px #b8b8b8;
		transition: .3s;
	}
	.top-nav-list li a:hover{
		box-shadow: 0px 0px 0px 0px #b8b8b8;
		transition: .3s;
	}
	.top-nav-list li a .icon{
		width: 5%;
		position: absolute;
		top: 5%;
		right: 4.5%;
	}
	.top-nav-list li a .icon-pop{
		width: 27%;
		position: absolute;
		top: 66%;
		right: -7%;
		z-index: 10;
	}
	.top-nav-list li a .icon-com{
		width: 50%;
		position: absolute;
		top: 55%;
		right: 5%;
		z-index: 10;
	}
	.top-nav-list li a .bg01{
		width: 100%;
		height: 50%;
		background: #b63f6c;
		position: absolute;
		top: 0;
		left: 0;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg01{
		height: 100%;
		transition: .3s;
	}
	.top-nav-list li a .bg02{
		width: 100%;
		height: 50%;
		background: #84b250;
		position: absolute;
		top: 0;
		left: 0;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg02{
		height: 100%;
		transition: .3s;
	}
	.top-nav-list li a .bg03{
		width: 100%;
		height: 50%;
		background: #be9665;
		position: absolute;
		top: 0;
		left: 0;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg03{
		height: 100%;
		transition: .3s;
	}
	.top-nav-list li a .img{
		width: 90%;
		margin: 0 auto 7% auto;
		position: relative;
		overflow: hidden;
		z-index: 10;
	}
	.top-nav-list li a .img .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 10;
		background: rgba(0, 0, 0, .6);
		backdrop-filter: blur(2px);
		-ms-backdrop-filter: blur(2px);
		-webkit-backdrop-filter: blur(2px);
	}
	.top-nav-list li a .txt{
		font-size: 19px;
		letter-spacing: 3px;
		position: relative;
		z-index: 10;
		transition: .3s;
	}
	.top-nav-list li a:hover .txt{
		color: #fff;
		transition: .3s;
	}
	.top-nav-list li a .txt .color01{
		display: block;
		color: #b63f6c;
		font-size: 26px;
		letter-spacing: 3px;
		font-weight: bold;
		transition: .3s;
	}
	.top-nav-list li a:hover .txt .color01{
		color: #fff;
		transition: .3s;
	}
	.top-nav-list li a .txt .color02{
		display: block;
		color: #84b250;
		font-size: 26px;
		letter-spacing: 3px;
		font-weight: bold;
		transition: .3s;
	}
	.top-nav-list li a:hover .txt .color02{
		color: #fff;
		transition: .3s;
	}
	.top-nav-list li a .txt .color03{
		display: block;
		color: #be9665;
		font-size: 26px;
		letter-spacing: 3px;
		font-weight: bold;
		transition: .3s;
	}
	.top-nav-list li a:hover .txt .color03{
		color: #fff;
		transition: .3s;
	}
	/* door */
	.door{
		width: 100%;
		position: relative;
		margin: 0 0 5% 0;
	}
	.door .num{
		width: 80px;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		left: 20%;
	}
	.door .img{
		width: 12%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		right: 10%;
	}
	.door .main-title{
		width: max-content;
		position: relative;
		margin: 0 auto;
	}
	.door .main-title .sub{
		width: 300px;
		margin: 0 0 3% 0;
	}
	.door .main-title .title{
		font-size: 80px;
        letter-spacing: 1px;
		line-height: 1em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	}
	.door .main-title .title .color01{
		color: #b63f6c;
	}
	.door .main-title .title .color02{
		color: #84b250;
	}
	.door .main-title .title .color03{
		color: #be9665;
	}
	.door .main-title .title .line{
		width: 100px;
		height: 1px;
		background: #000;
		display: inline-block;
		position: relative;
		top: -30px;
		margin: 0 10px 0 0;
	}
	.door .main-title .title .line01{
		background: #b63f6c;
	}
	.door .main-title .title .line02{
		background: #84b250;
	}
	.door .main-title .title .line03{
		background: #be9665;
	}
	.door .main-title .title .min{
		font-size: 40px;
		margin: 0 0 0 10px;
	}
	.door .main-title .icon{
		width: 50px;
		position: absolute;
		right: -10px;
		bottom: 0;
	}
	/* main-cont */
	.main-cont{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		margin: 0 auto 5% auto;
	}
	.movie-cont{
		width: 50%;
		position: relative;
	}
	.movie-cont .movie-cont-in{
		width: 100%;
		position: relative;
		padding: 0 0 10% 0;
	}
	.movie-cont .movie-cont-in .bg01{
		width: 100%;
		height: 40%;
		position: absolute;
		bottom: 0;
		left: 0;
		background: #b63f6c;
	}
	.movie-cont .movie-cont-in .bg02{
		width: 100%;
		height: 40%;
		position: absolute;
		bottom: 0;
		left: 0;
		background: #65A04D;
	}
	.movie-cont .movie-cont-in .bg03{
		width: 100%;
		height: 40%;
		position: absolute;
		bottom: 0;
		left: 0;
		background: #be9665;
	}
	.movie-box{
		width: 60%;
		margin: 0 auto 2% auto;
		position: relative;
	}
	.movie-box .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: rgba(0, 0, 0, .6);
        backdrop-filter: blur(2px);
        -ms-backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
	}
	.movie-box a .icon{
		width: 30%;
		margin: 0 auto;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		left: 0;
		right: 0;
	}
	.movie-box a .icon .on{
		width: 100%;
		position: absolute;
		animation: rotation 20s linear infinite;
		top: 0;
	}
	.movie-box a .icon .cn{
		width: 20%;
		margin: 0 auto;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		left: 0;
		right: 0;
		transition: .3s;
	}
	.movie-box a:hover .icon .cn{
		right: -10%;
		transition: .3s;
	}
	.movie-data{
		width: 60%;
		margin: 0 auto;
		position: relative;
	}
	.movie-data .icon{
		width: 3%;
		position: absolute;
		top: 23%;
		left: 0;
	}
	.movie-data .sub{
		width: 30%;
		margin: 0 0 5% 70%;
	}
	.movie-data .txt{
		width: 80%;
		margin: 0 0 10% 10%;
	}
	.movie-data .txt02{
		width: 90%;
		color: #fff;
		margin: 0 0 0 10%;
		font-size: 13px;
		letter-spacing: 2px;
		white-space: nowrap;
	}
	.movie-data .txt02 span{
		width: max-content;
		display: block;
		border: 1px solid #fff;
		font-size: 12px;
		letter-spacing: 3px;
		line-height: 2em;
		padding: 0 10px;
		margin: 0 0 3% 0;
	}
	.data-cont{
		width: 50%;
		background: #fff;
		position: relative;
		padding: 5% 0 7% 0;
	}
	.item-img{
		width: 85%;
		overflow: hidden;
		margin: 0 0 5% 15%;
		position: relative;
	}
	.item-img .bg{
		width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 10;
        background: linear-gradient(to bottom, #fff 0%, #fff 70%, transparent 100%);
	}
	.item-title-box{
		width: 70%;
		position: relative;
		margin: 0 auto 2% auto;
	}
	.item-title-box .num{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin: 0 0 5% 0;
	}
	.item-title-box .num li:nth-child(1){
		width: 25%;
		margin: 0 7% 0 0;
	}
	.item-title-box .num li:nth-child(2){
		width: 20%;
	}
	.item-title-box .title{
		font-size: 30px;
        letter-spacing: 5px;
		line-height: 2em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		padding: 0 0 5% 0;
	}
	.item-title-box .line{
		width: 50%;
		position: absolute;
		left: 0;
		bottom: 0;
	}
	.item-title-box .icon{
		width: 3%;
		position: absolute;
		right: 0;
		top: 25%;
	}
	.item-title-box .img{
		width: 26%;
        position: absolute;
        right: 10%;
        top: 20%;
	}
	.data-cont .link-block{
		width: 70%;
		margin: 0 auto;
		position: relative;
	}
	.data-cont .link-block .icon{
		width: 15%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.data-cont .link-block .link-box{
		width: 70%;
		margin: 0 0 0 25%;
	}
	.data-cont .link-block .link-box .top-icon{
		width: 80%;
		margin: 0 0 5% 0;
	}
	/* a-item */
	.a-item{
		width: 100%;
		margin: 0 auto 0 auto;
		padding: 0 0 2% 0;
	}
	.a-item .title{
		width: 40%;
		margin: 0 auto 1% auto;
	}
	.a-item .txt{
		margin: 0 auto 3% auto;
		font-size: 14px;
		letter-spacing: 2px;
		text-align: center;
	}
	.a-item .link-box{
		width: 25%;
		margin: 3% auto 0 auto;
	}
	.photo-box-container {
		width: 100%;
		height: 2000px;
		position: relative;
		margin: 0 auto 3% auto;
	}
	.photo-box01 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		left: 0;
	}
	.photo-box02 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		left: 20%;
		z-index: 2;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateX(30px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	.photo-box03 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		left: 40%;
		z-index: 3;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateX(30px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	.photo-box04 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		left: 60%;
		z-index: 4;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateX(30px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	.photo-box05 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		right: 0%;
		z-index: 5;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateX(0px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	/* フェードイン後の状態 */
	.photo-box02.fade-in,
	.photo-box03.fade-in,
	.photo-box04.fade-in,
	.photo-box05.fade-in {
		opacity: 1;
		transform: translateY(0);
	}
	.photo-in {
		width: 100%;
		position: sticky;
		top: 0;
		padding: 40% 0 0 0;
	}

	/* cont-wrap02 */
	.cont-wrap02{
		width: 100%;
		background: #f0e2d6;
		position: relative;
		padding: 5% 0 13% 0;
	}
	/* side */
	.side01{
		width: 4%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		border-right: 1px solid #fff;
	}
	.side02{
		width: 4%;
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
		border-left: 1px solid #fff;
	}
	.side-in{
		width: 100%;
		height: 100vh;
		position: sticky;
		top: 0;
		box-sizing: border-box;
		padding: 0 30%;
		overflow: hidden;
	}
	.mv-slick02{
		transform: rotateX(180deg);
	}
	/* cam-main-door */
	.cam-main-door{
		width: 80%;
		margin: 0 auto 5% auto;
		position: relative;
		z-index: 10;
		color: #a56c0b;
		padding: 10% 0 0 0;
	}
	.cam-main-door .icon{
		width: 20%;
		margin: 0 auto;
	}
	.cam-main-door .title{
		width: 40%;
		margin: 0 auto 3% auto;
	}
	.cam-main-door .txt{
		width: max-content;
		font-size: 21px;
		letter-spacing: 4px;
		line-height: 2.5em;
		color: #fff;
		background: #a56c0b;
		margin: 0 auto 3% auto;
		padding: 0 30px;
	}
	.cam-main-door .line{
		width: 100%;
		height: 1px;
		background: #a56c0b;
		margin: 0 auto 3% auto;
	}
	.cam-main-door .cou{
		font-size: 14px;
		letter-spacing: 4px;
		line-height: 2.5em;
		text-align: center;
	}
	/* cam-door */
	.cam-door{
		width: 70%;
		position: relative;
		margin: 0 auto 5% auto;
		color: #a56c0b;
	}
	.cam-door .num{
		width: 100px;
		position: absolute;
		top: 0;
		left: 0;
	}
	.cam-door .title{
		width: 50%;
		margin: 0 auto 3% auto;
	}
	.cam-door .icon{
		width: 30%;
		margin: 0 auto 3% auto;
	}
	.cam-door .txt{
		font-size: 30px;
        letter-spacing: 5px;
		line-height: 2em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		text-align: center;
	}
	.cam-door .cou{
		font-size: 14px;
		letter-spacing: 4px;
		line-height: 2.5em;
		text-align: center;
	}
	.cam-door .img{
		width: 15%;
		position: absolute;
		top: 0;
		right: 0;
	}
	.cam-door .title01{
		width: 35%;
		margin: 0 auto 3% auto;
	}
	.cam-door .title02{
		width: 60%;
		margin: 0 auto 3% auto;
	}
	/* cam01-list */
	.cam01-list{
		width: 70%;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: space-between;
	}
	.cam01-list li{
		width: 26%;
		position: relative;
	}
	.cam01-list li .title{
		width: 80%;
		margin: 0 auto 5% auto;
	}
	.cam01-list li .img{
		width: 100%;
		overflow: hidden;
	}
	.cam01-list li .icon{
		width: 50%;
		position: absolute;
		right: -15%;
		bottom: -10%;
	}
	.cam01-txt{
		font-size: 30px;
        letter-spacing: 5px;
        line-height: 2em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
        text-align: center;
		color: #a56c0b;
		margin: 0 auto 10% auto;
	}
	/* cam02-box */
	.cam02-box{
		width: 70%;
		background: #fff;
		margin: 0 auto 10% auto;
		box-sizing: border-box;
		padding: 5% 5%;
		color: #a56c0b;
	}
	.cam02-box .main-title{
		font-size: 21px;
		letter-spacing: 4px;
		line-height: 2.5em;
		text-align: center;
		font-weight: bold;
	}
	.cam02-box .line{
		width: 100%;
		height: 1px;
		background: #a56c0b;
		margin: 0 auto 5% auto;
	}
	.cam02-list01{
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 5% auto;
	}
	.cam02-list01 li{
		width: 30%;
		margin: 0 auto;
	}
	.cam02-list01 li .title{
		width: 50%;
		margin: 0 auto 2% auto;
	}
	.cam02-list01 li .txt{
		font-size: 14px;
		letter-spacing: 3px;
		line-height: 2.5em;
		text-align: center;
	}
	.cam02-list02{
		width: 100%;
	}
	.cam02-list02 li{
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin: 0 0 5% 0;
		position: relative;
	}
	.cam02-list02 li:last-child{
		margin: 0 0 0% 0;
	}
	.cam02-list02 li .title{
		width: 20%;
		display: flex;
		align-items: center;
		justify-content: center;
		border-right: 1px solid #a56c0b;
		text-align: center;
		font-size: 14px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-weight: bold;
	}
	.cam02-list02 li .txt{
		width: 70%;
		padding: 2% 0;
		font-size: 14px;
        letter-spacing: 2px;
        line-height: 2.5em;
	}
	.cam02-list02 li .txt span{
		font-size: 12px;
        letter-spacing: 2px;
        line-height: 2.5em;
		display: block;
		margin: 3% 0 0 0;
	}
	.cam02-list02 li .logo{
		width: 20%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		right: 0;
	}
	/* cam03-box */
	.cam03-box{
		width: 70%;
		margin: 0 auto 7% auto;
		position: relative;
		box-sizing: border-box;
	}
	.cam03-box .title01{
		width: 35%;
		margin: 0 auto 5% auto;
	}
	.cam03-box .title02{
		width: 30%;
		position: relative;
		margin: 0 auto 0% auto;
	}
	.cam03-box .title02 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.cam03-box .icon{
		width: 15%;
		position: relative;
		margin: 0 auto 2% auto;
	}
	.cam03-box .icon .un{
		animation: rotation 20s linear infinite;
	}
	.cam03-box .icon .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.cam03-box .icon .on02{
		width: 30%;
		position: absolute;
		top: 0;
		left: -10%;
	}
	.cam03-box .ph01{
		width: 30%;
		position: absolute;
		top: 0;
		left: 0%;
	}
	.cam03-box .ph02{
		width: 20%;
        position: absolute;
        top: 27%;
        right: 14%;
	}
	.cam03-box .ph03{
		width: 22%;
		position: absolute;
		top: 0;
		right: 0%;
		z-index: 10;
	}
	.cam03-box .cou{
		font-size: 12px;
		letter-spacing: 2px;
		color: #a56c0b;
		position: relative;
		left: 10%;
		margin: 0 0 5% 0;
	}
	.cam03-box .btn{
		width: 40%;
		display: block;
		margin: 0 auto;
		background: #a56c0b;
		font-size: 21px;
        letter-spacing: 5px;
        line-height: 3em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
        text-align: center;
		color: #fff;
		position: relative;
	}
	.cam03-box .btn span{
		width: 7%;
		line-height: 0;
		display: block;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		right: 10%;
		transition: .3s;
	}
	.cam03-box:hover .btn span{
		right: 5%;
		transition: .3s;
	}
	/* cam04-box */
	.cam04-box{
		width: 25%;
		margin: 0 auto;
	}
	/* f-data */
	.f-data{
		width: 30%;
		margin: 0 auto 5% auto;
	}
	.f-data .img{
		width: 80%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 7% auto;
	}
	.f-data .img li{
		width: 45%;
	}
	.f-data .title{
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.f-data .txt{
		width: 100%;
		font-size: 14px;
        letter-spacing: 2px;
        line-height: 2.5em;
		text-align: justify;
	}
	/* f-data02 */
	.f-data02{
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.f-data02 .img{
		width: 150px;
		line-height: 0;
		margin: 0 auto 4% auto;
	}
	.f-data02 .title{
		width: 100%;
		font-size: 28px;
        letter-spacing: 3px;
        line-height: 1em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		text-align: center;
		margin: 0 auto 2% auto;
	}
	.f-data02 .txt{
		width: 100%;
		font-size: 16px;
        letter-spacing: 4px;
        line-height: 2.5em;
		text-align: center;
	}
	/* modal */
	.js_modalBtnWrap {
		width: 300px;
		max-width: 100%;
		margin: 0 auto;
		text-align: center;
	}
	.js_modalBtnCont {
		display: block;
		transition: 0.3s;
	}
	.js_modalBtnCont .img{
		transform: scale(1);
		transition: 0.3s;
	}
	.js_modalBtnCont:hover .img{
		transform: scale(1.05);
		transition: 0.3s;
	}
	.js_modalWrap {
	opacity: 0;
	z-index: -1;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	backdrop-filter: blur(5px);
	-ms-backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	}
	.js_modalWrap.active {
	animation: modalOpen 0.3s ease forwards;
	}
	.js_modalWrap.active2 {
	animation: modalClose 0.3s ease forwards;
	}
	.js_modalBG {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(255, 255, 255, 0.3);
	}
	.js_modalContInner {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
		width: 65%;
		background-color: #fff;
		max-height: 100%;
	}
	.js_modalCont {
		overflow-y: scroll;
		height: 90vh;
		box-sizing: border-box;
		padding: 10% 10%;
	}
	.js_modalCont > * + * {
	margin-top: 10px;
	}
	.js_modalContInner > .js_modalClose + * {
	margin-top: 0;
	}
	.js_modalClose {
		display: block;
		position: absolute;
		top: 5% !important;
		right: 3%;
		overflow: hidden;
		cursor: pointer;
		z-index: 1001;
		margin: 0 auto;
		width: 6%;
		line-height: 0;
	}
	@keyframes modalOpen {
		0% {
			opacity: 0;
		}
		100% {
			opacity: 1;
			z-index: 1000;
		}
	}
	@keyframes modalClose {
		0% {
			opacity: 1;
			z-index: 1000;
		}
		100% {
			opacity: 0;
		}
	}
	.modal-list{
		width: 100%;
		margin: 0 0 0% 0;
	}
	.modal-list li{
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.modal-list li:nth-child(1){
		width: 100%;
		border: 1px solid #000;
		text-align: center;
		font-size: 14px;
		letter-spacing: 5px;
		font-weight: bold;
		line-height: 3em;
		margin: 0 auto 5% auto;
	}
	.modal-list li:last-child{
		width: 100%;
		margin: 0;
	}
	.modal-list li .title{
		width: 100%;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
	}
	.modal-list li .txt{
		width: 100%;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
        text-align: justify;
	}
	.modal-list li .txt span{
		width: 100%;
		display: block;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
        text-align: justify;
		margin: 3% 0 0 0;
	}
	.modal-list li .txt a{
		border-bottom: 1px solid #000;
	}
	.modal-list02{
		width: 100%;
		margin: 0 0 10% 0;
	}
	.modal-list02 li{
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	.modal-list02 li:last-child{
		width: 100%;
		margin: 5% 0 0 0;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
        text-align: right;
		display: block;
	}
	.modal-list02 li .title{
		width: 25%;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
		border-right: 1px solid #000;
		padding: 3% 0;
	}
	.modal-list02 li .txt{
		width: 65%;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
        text-align: justify;
		padding: 3% 0;
	}

	/*sid-nav*/
    .side-nav{
		position: fixed;
		display: block;
		width: 70px;
		left: 0px;
        top: 0;
		height: 100vh;
		z-index: 10;
	}
	.side-nav-in{
		width: 100%;
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		transition: opacity 0.3s ease;
	}
	.side-nav-in li{
		width: 100%;
		margin: 0 0 30px 0;
	}
	.side-nav-in li:last-child{
		width: 100%;
		margin: 0 0 0px 0;
	}
	.side-nav-in a{
		opacity: 1;
		transition: .3s;
		display: block;
		width: 100%;
		overflow: hidden;
		position: relative;
	}

	/*cart-btm*/
	.cart-btm{
		width: 100%;
		text-decoration: none;
		color: #000;
		transition: 0.3s;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 0 0 1% 0;
		font-family: "yu-mincho-pr6n", sans-serif;
		position: relative;
	}
	.cart-btm02{
		width: 100%;
		text-decoration: none;
		color: #000;
		transition: 0.3s;
        display: flex;
        justify-content: space-between;
        align-items: center;
		flex-wrap: wrap;
        margin: 0 0 1% 0;
		font-family: "yu-mincho-pr6n", sans-serif;
		position: relative;
	}
	.cert-btm-color01{
		color: #b63f6c !important;
	}
	.cert-btm-color02{
		color: #84b250 !important;
	}
	.cert-btm-color03{
		color: #be9665 !important;
	}
	.cart-title{
        width: max-content;
		font-size: 14px;
        letter-spacing: 0px;
        position: absolute;
        line-height: 1.5em;
        white-space: nowrap;
	}
	.cart-title span{
		font-size: 11px;
		margin: 0 0 0 0px;
		position: relative;
		top: -2px;
	}
	.cart-title02{
        width: 100%;
		font-size: 14px;
        letter-spacing: 0px;
        line-height: 1.5em;
        white-space: nowrap;
	}
    .cart-yen{
		font-size: 16px;
		letter-spacing: 0px;
        width: 85%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        white-space: nowrap;
		font-family: "yu-mincho-pr6n", sans-serif;
		box-sizing: border-box;
		padding: 0 10px 0 0;
	}
	.cart-yen .yen-icon{
		margin: 0 2px 0 0;
	}
	.cart-yen .tax{
		font-size: 11px;
		letter-spacing: 0;
		margin: 0 0 0 5px;
		position: relative;
		top: 1px;
	}
    .cart-yen02{
		font-size: 16px;
		letter-spacing: 0px;
        width: max-content;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        white-space: nowrap;
		font-family: "yu-mincho-pr6n", sans-serif;
		box-sizing: border-box;
	}
	.cart-yen02 .yen-icon{
		margin: 0 2px 0 0;
	}
	.cart-yen02 .tax{
		font-size: 10px;
		letter-spacing: 0;
		margin: 0 0 0 5px;
		position: relative;
		top: 1px;
	}
	
	.link-line01{
		width: 100%;
		height: 1px;
		background: #b63f6c;
		margin: 10px 0 10px 0;
		opacity: .5;
	}
	.link-line02{
		width: 100%;
		height: 1px;
		background: #84b250;
		margin: 10px 0 10px 0;
		opacity: .5;
	}
	.link-line03{
		width: 100%;
		height: 1px;
		background: #be9665;
		margin: 10px 0 10px 0;
		opacity: .5;
	}

	.cart-btm .btn00_1 {
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 3px 0 3px 0;
		display: inline-block;
		text-align: center;
		color: #b63f6c;
		position: relative;
	}
	.cart-btm .btn00_1::before {
		background: #b63f6c;
		content: '';
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
		margin: auto;
		transform-origin: right top;
		transform: scale(0, 1);
		transition: transform .3s;
	}
	.cart-btm:hover .btn00_1::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.cart-btm .btn00_2 {
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 3px 0 3px 0;
		display: inline-block;
		text-align: center;
		color: #84b250;
		position: relative;
	}
	.cart-btm .btn00_2::before {
		background: #84b250;
		content: '';
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
		margin: auto;
		transform-origin: right top;
		transform: scale(0, 1);
		transition: transform .3s;
	}
	.cart-btm:hover .btn00_2::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.cart-btm .btn00_3 {
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 3px 0 3px 0;
		display: inline-block;
		text-align: center;
		color: #be9665;
		position: relative;
	}
	.cart-btm .btn00_3::before {
		background: #be9665;
		content: '';
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
		margin: auto;
		transform-origin: right top;
		transform: scale(0, 1);
		transition: transform .3s;
	}
	.cart-btm:hover .btn00_3::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.cart-btm .btn01{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #b63f6c;
		border: .5px solid #b63f6c;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn01 {
		background: #fff;
		border-color: #b63f6c;
		color: #b63f6c;
	}

	.cart-btm .btn02{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #84b250;
		border: .5px solid #84b250;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn02 {
		background: #fff;
		border-color: #84b250;
		color: #84b250;
	}

	.cart-btm .btn03{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #be9665;
		border: .5px solid #be9665;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn03 {
		background: #fff;
		border-color: #be9665;
		color: #be9665;
	}

	.cart-btm .btn04{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #aea094;
		border: .5px solid #aea094;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn04 {
		background: #fff;
		border-color: #aea094;
		color: #aea094;
	}

	.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);
	}
	.cart-btm02: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;
	}
	.cart-btm02:hover .btn-arrow img {
		opacity: 1;
		right: -1rem;
	}

	/*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-banner-list li .txt{
		width: 100%;
		font-size: 12px;
		letter-spacing: 2px;
		line-height: 2em;
		text-align: center;
		margin: 2% 0 0 0;
	}
	
	/*f-banner02*/
	.f-banner02{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 5% auto;
		padding: 0 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: 15px;
		width: 50px;
		height: 50px;
		display: block;
		z-index: 99;
	}
	#pagetop .btn-loading {
		display: inline-flex;
		text-decoration: none;
		font-weight: 700;
		color: #111;
		width: 100%;
		height: 100%;
		position: relative;
		opacity: 1 !important;
		transition: all 0.3s;
		background-color: #CCC;
		border-radius: 100%;
		transition: color 0.2s;
		overflow: hidden;
	}
	#pagetop .btn-loading01:before,
	#pagetop .btn-loading01:after {
		content: "";
		display: block;
		position: absolute;
		width: 50%;
		height: 0;
		background-color: #231815;
		pointer-events: none;
	}
	#pagetop .btn-loading:before {
		bottom: 0;
		left: 0;
	}
	#pagetop .btn-loading:after {
		top: 0;
		right: 0;
	}
	#pagetop:hover .btn-loading {
		color: #65A04D;
	}
	#pagetop:hover .btn-loading:before,
	#pagetop:hover .btn-loading:after {
		height: 100%;
	}
	#pagetop:hover .btn-loading:before {
		transition: height 0.1s 0.1s linear;
	}
	#pagetop:hover .btn-loading:after {
		transition: height 0.1s linear;
	}
	#pagetop .btn-loading span {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: calc(100% - 1px);
		height: calc(100% - 1px);
		background-color: #FFF;
		border-radius: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 99;
	}
	#pagetop .btn-loading span img{
		width: 20px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	
	.in-btn{
		width: 40px;
		margin: 0 auto 1% auto;
		display: block;
		opacity: 1;
	}

}

/*note pc*/
@media screen and (min-width: 1025px) and (max-width: 1280px) {
    .sp-on{
		display: none !important;
	}

	.l-icon::before{
        content: url("../img/l-size.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #000;
		border-radius: 3px;
    }
    .s-icon::before{
        content: url("../img/s-size.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #000;
		border-radius: 3px;
    }

	.l-icon01::before{
        content: url("../img/l-size01.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #b63f6c;
		border-radius: 3px;
    }
    .s-icon01::before{
        content: url("../img/s-size01.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #b63f6c;
		border-radius: 3px;
    }

	.l-icon02::before{
        content: url("../img/l-size02.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #84b250;
		border-radius: 3px;
    }
    .s-icon02::before{
        content: url("../img/s-size02.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #84b250;
		border-radius: 3px;
    }

	.l-icon03::before{
        content: url("../img/l-size03.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #be9665;
		border-radius: 3px;
    }
    .s-icon03::before{
        content: url("../img/s-size03.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #be9665;
		border-radius: 3px;
    }

	/* header */
	header{
		width: 100%;
		overflow: hidden;
		display: flex;
		justify-content: flex-start;
		margin: 0 auto 7% auto;
		background: #f0e2d6;
		position: relative;
	}
	.mv-img{
		width: 55%;
		overflow: hidden;
		position: relative;
	}
	.mv-img .line{
		width: 2%;
		height: 100%;
		background: linear-gradient(180deg,rgba(165, 108, 11, 1) 0%, rgba(234, 209, 106, 1) 100%);
		overflow: hidden;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
	}
	.mv-img .mv-bg{
		width: 100%;
        height: 100%;
        background: #fff;
        position: absolute;
        top: 0;
        left: 0;
        overflow: visible;
	}
	.mv-img .mv-bg::before {
        content: '';
        position: absolute;
        top: -200px;
        left: 0;
        right: 0;
        height: 200px;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
        pointer-events: none;
    }
	.mv-data{
		width: 45%;
		position: relative;
	}
	.mv-title-box{
		width: 80%;
		margin: 10% auto 0 auto;
	}
	.mv-title01{
		width: 100%;
		margin: 0 auto 10% auto;
		position: relative;
	}
	.mv-title01 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.mv-title02{
		width: 85%;
		margin: 0 auto 5% auto;
		position: relative;
	}
	.mv-title02 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.mv-title03{
		width: 85%;
		margin: 0 auto 5% auto;
		position: relative;
	}
	.mv-title04{
		width: 85%;
		margin: 0 auto 5% auto;
		position: relative;
	}
	.mv-title04 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.mv-title05{
		width: 85%;
		margin: 0 auto;
		position: relative;
	}

	.wave-border {
		position: absolute;
		bottom: -1px;
		left: 0;
		line-height: 0;
		width: 100%;
		margin: 0;
		overflow: hidden;
		z-index: 10;
	}
	.wave-border02 {
		position: absolute;
		top: 0px;
		left: 0;
		line-height: 0;
		width: 100%;
		margin: 0;
		overflow: hidden;
		background: #f7f0ea;
		z-index: 10;
	}
	.mv-cam{
		width: 15%;
		position: absolute;
		right: 2%;
		bottom: 0%;
		z-index: 10;
	}
	.mv-cam .bg{
		width: 100%;
	}
	@keyframes rotation {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
	}
	.mv-cam .on{
		width: 100%;
		position: absolute;
		right: 0%;
		bottom: 0%;
	}

	/* common */
	.js-scroll-overlap:not(.is-disabled) {
		--sticky-offset: -1px;
		position: sticky;
		top: var(--sticky-offset);
	}
	.relative {
		position: relative;
		border-radius: 30px 30px 0px 0;
	}

	/* read */
	.read{
		width: 90%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		overflow: hidden;
		margin: 0 auto 5% auto;
	}
	.read .img{
		width: 40%;
	}
	.read .img .title{
		width: 80%;
		margin: 0 auto 15% auto;
	}
	.read .img .title li:nth-child(1){
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.read .img .title li:nth-child(2){
		width: 60%;
		margin: 0 auto;
	}
	.read .img .img-box{
		width: 50%;
		position: relative;
		overflow: hidden;
		margin: 0 auto;
	}
	.read .img .img-box .bg{
		width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 10;
        background: linear-gradient(to bottom, #fff 0%, #fff 70%, transparent 100%);
	}
	.read .data{
		width: 55%;
		overflow: hidden;
		position: relative;
	}
	.read .data .read-bg{
		width: 100%;
        height: 100%;
        background: #fff;
        position: absolute;
        top: 0;
        left: 0;
        overflow: visible;
	}
	.read .data .read-bg::before {
        content: '';
        position: absolute;
        top: -200px;
        left: 0;
        right: 0;
        height: 200px;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
        pointer-events: none;
    }
	.read .data .icon{
		width: 27%;
		position: absolute;
		top: 13%;
		right: 0;
		z-index: -1;
	}
	.read .data .txt{
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 3em;
		color: #40210f;
	}
	.read .data .sub{
		font-size: 10px;
		letter-spacing: 2px;
		line-height: 3em;
		color: #40210f;
		margin: 5% 0 0 0;
	}
	/* pro */
	.pro{
		width: 70%;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin: 0 auto;
		padding: 0 0 10% 0;
	}
	.pro .line{
		width: 100%;
		height: 1px;
		background: #a56c0b;
	}
	.pro .name span{
		color: #a56c0b;
		font-size: 35px;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		letter-spacing: 5px;
		display: block;
		margin: 0 0 4% 0;
		white-space: nowrap;
	}
	.pro .name{
		width: 25%;
		font-size: 14px;
		letter-spacing: 3px;
		color: #a56c0b;
		padding: 3% 0% 3% 3%;
		box-sizing: border-box;
	}
	.pro .data{
		width: 70%;
		font-size: 13px;
		letter-spacing: 3px;
		line-height: 3em;
		padding: 3% 0;
		box-sizing: border-box;
	}
	
	/* cont-wrap */
	.cont-wrap{
		width: 100%;
		background: #f7f0ea;
		position: relative;
		padding: 5% 0 0 0;
		border-radius: 50px 50px 0 0;
	}

	/* main-door */
	.main-door{
		width: 45%;
		position: relative;
		margin: 0 auto 5% auto;
		padding: 1% 0;
	}
	.main-door .line01{
		width: 5%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		left: 0;
	}
	.main-door .line02{
		width: 5%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		right: 0;
	}
	.main-door .title{
		width: 35%;
		position: relative;
		margin: 0 auto 3% auto;
	}
	.main-door .title .on{
		width: 100%;
		position: relative;
		z-index: 10;
	}
	.main-door .title .line{
		width: 100%;
		height: 15px;
		background: #fff;
		position: absolute;
		bottom: 0;
		left: 0;
	}
	.main-door .txt{
		width: 55%;
		position: relative;
		margin: 0 auto;
	}
	/* top-nav */
	.top-nav{
		width: 80%;
		margin: 0 auto 10% auto;
	}
	.top-nav-list{
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.top-nav-list li{
		width: 28%;
	}
	.top-nav-list li a{
		width: 100%;
		background: #fff;
		box-sizing: border-box;
		padding: 10% 10%;
		display: block;
		position: relative;
		box-shadow: 0px 13px 15px -5px #b8b8b8;
		transition: .3s;
	}
	.top-nav-list li a:hover{
		box-shadow: 0px 0px 0px 0px #b8b8b8;
		transition: .3s;
	}
	.top-nav-list li a .icon{
		width: 5%;
		position: absolute;
		top: 5%;
		right: 4.5%;
	}
	.top-nav-list li a .icon-pop{
		width: 27%;
		position: absolute;
		top: 66%;
		right: -7%;
		z-index: 10;
	}
	.top-nav-list li a .icon-com{
		width: 50%;
		position: absolute;
		top: 55%;
		right: 5%;
		z-index: 10;
	}
	.top-nav-list li a .bg01{
		width: 100%;
		height: 50%;
		background: #b63f6c;
		position: absolute;
		top: 0;
		left: 0;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg01{
		height: 100%;
		transition: .3s;
	}
	.top-nav-list li a .bg02{
		width: 100%;
		height: 50%;
		background: #84b250;
		position: absolute;
		top: 0;
		left: 0;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg02{
		height: 100%;
		transition: .3s;
	}
	.top-nav-list li a .bg03{
		width: 100%;
		height: 50%;
		background: #be9665;
		position: absolute;
		top: 0;
		left: 0;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg03{
		height: 100%;
		transition: .3s;
	}
	.top-nav-list li a .img{
		width: 90%;
		margin: 0 auto 7% auto;
		position: relative;
		overflow: hidden;
		z-index: 10;
	}
	.top-nav-list li a .img .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 10;
		background: rgba(0, 0, 0, .6);
		backdrop-filter: blur(2px);
		-ms-backdrop-filter: blur(2px);
		-webkit-backdrop-filter: blur(2px);
	}
	.top-nav-list li a .txt{
		font-size: 16px;
		letter-spacing: 3px;
		position: relative;
		z-index: 10;
		transition: .3s;
	}
	.top-nav-list li a:hover .txt{
		color: #fff;
		transition: .3s;
	}
	.top-nav-list li a .txt .color01{
		display: block;
		color: #b63f6c;
		font-size: 23px;
		letter-spacing: 3px;
		font-weight: bold;
		transition: .3s;
	}
	.top-nav-list li a:hover .txt .color01{
		color: #fff;
		transition: .3s;
	}
	.top-nav-list li a .txt .color02{
		display: block;
		color: #84b250;
		font-size: 23px;
		letter-spacing: 3px;
		font-weight: bold;
		transition: .3s;
	}
	.top-nav-list li a:hover .txt .color02{
		color: #fff;
		transition: .3s;
	}
	.top-nav-list li a .txt .color03{
		display: block;
		color: #be9665;
		font-size: 23px;
		letter-spacing: 3px;
		font-weight: bold;
		transition: .3s;
	}
	.top-nav-list li a:hover .txt .color03{
		color: #fff;
		transition: .3s;
	}
	/* door */
	.door{
		width: 100%;
		position: relative;
		margin: 0 0 5% 0;
	}
	.door .num{
		width: 60px;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		left: 10%;
	}
	.door .img{
		width: 12%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		right: 5%;
	}
	.door .main-title{
		width: max-content;
		position: relative;
		margin: 0 auto;
	}
	.door .main-title .sub{
		width: 200px;
		margin: 0 0 3% 0;
	}
	.door .main-title .title{
		font-size: 65px;
        letter-spacing: 1px;
		line-height: 1em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	}
	.door .main-title .title .color01{
		color: #b63f6c;
	}
	.door .main-title .title .color02{
		color: #84b250;
	}
	.door .main-title .title .color03{
		color: #be9665;
	}
	.door .main-title .title .line{
		width: 100px;
		height: 1px;
		background: #000;
		display: inline-block;
		position: relative;
		top: -22px;
		margin: 0 20px 0 0;
	}
	.door .main-title .title .line01{
		background: #b63f6c;
	}
	.door .main-title .title .line02{
		background: #84b250;
	}
	.door .main-title .title .line03{
		background: #be9665;
	}
	.door .main-title .title .min{
		font-size: 30px;
		margin: 0 0 0 10px;
	}
	.door .main-title .icon{
		width: 50px;
		position: absolute;
		right: -10px;
		bottom: 0;
	}
	/* main-cont */
	.main-cont{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		margin: 0 auto 5% auto;
	}
	.movie-cont{
		width: 50%;
		position: relative;
	}
	.movie-cont .movie-cont-in{
		width: 100%;
		position: relative;
		padding: 0 0 10% 0;
	}
	.movie-cont .movie-cont-in .bg01{
		width: 100%;
		height: 40%;
		position: absolute;
		bottom: 0;
		left: 0;
		background: #b63f6c;
	}
	.movie-cont .movie-cont-in .bg02{
		width: 100%;
		height: 40%;
		position: absolute;
		bottom: 0;
		left: 0;
		background: #65A04D;
	}
	.movie-cont .movie-cont-in .bg03{
		width: 100%;
		height: 40%;
		position: absolute;
		bottom: 0;
		left: 0;
		background: #be9665;
	}
	.movie-box{
		width: 60%;
		margin: 0 auto 2% auto;
		position: relative;
	}
	.movie-box .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: rgba(0, 0, 0, .6);
        backdrop-filter: blur(2px);
        -ms-backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
	}
	.movie-box a .icon{
		width: 30%;
		margin: 0 auto;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		left: 0;
		right: 0;
	}
	.movie-box a .icon .on{
		width: 100%;
		position: absolute;
		animation: rotation 20s linear infinite;
		top: 0;
	}
	.movie-box a .icon .cn{
		width: 20%;
		margin: 0 auto;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		left: 0;
		right: 0;
		transition: .3s;
	}
	.movie-box a:hover .icon .cn{
		right: -10%;
		transition: .3s;
	}
	.movie-data{
		width: 60%;
		margin: 0 auto;
		position: relative;
	}
	.movie-data .icon{
		width: 3%;
		position: absolute;
		top: 23%;
		left: 0;
	}
	.movie-data .sub{
		width: 30%;
		margin: 0 0 5% 70%;
	}
	.movie-data .txt{
		width: 80%;
		margin: 0 0 10% 10%;
	}
	.movie-data .txt02{
		width: 100%;
		color: #fff;
		margin: 0 0 0 10%;
		font-size: 12px;
		letter-spacing: 2px;
		line-height: 2em;
	}
	.movie-data .txt02 span{
		width: max-content;
		display: block;
		border: 1px solid #fff;
		font-size: 12px;
		letter-spacing: 3px;
		line-height: 2em;
		padding: 0 10px;
		margin: 0 0 3% 0;
	}
	.data-cont{
		width: 50%;
		background: #fff;
		position: relative;
		padding: 5% 0 7% 0;
	}
	.item-img{
		width: 85%;
		overflow: hidden;
		margin: 0 0 5% 15%;
		position: relative;
	}
	.item-img .bg{
		width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 10;
        background: linear-gradient(to bottom, #fff 0%, #fff 70%, transparent 100%);
	}
	.item-title-box{
		width: 70%;
		position: relative;
		margin: 0 auto 2% auto;
	}
	.item-title-box .num{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin: 0 0 5% 0;
	}
	.item-title-box .num li:nth-child(1){
		width: 25%;
		margin: 0 7% 0 0;
	}
	.item-title-box .num li:nth-child(2){
		width: 20%;
	}
	.item-title-box .title{
		font-size: 23px;
        letter-spacing: 3px;
		line-height: 2em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		padding: 0 0 7% 0;
	}
	.item-title-box .line{
		width: 60%;
		position: absolute;
		left: 0;
		bottom: 0;
	}
	.item-title-box .icon{
		width: 3%;
		position: absolute;
		right: -10%;
		top: 25%;
	}
	.item-title-box .img{
		width: 26%;
        position: absolute;
        right: 0%;
        top: 20%;
	}
	.data-cont .link-block{
		width: 70%;
		margin: 0 auto;
		position: relative;
	}
	.data-cont .link-block .icon{
		width: 20%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.data-cont .link-block .link-box{
		width: 80%;
		margin: 0 0 0 25%;
	}
	.data-cont .link-block .link-box .top-icon{
		width: 90%;
		margin: 0 0 7% 0;
	}
	/* a-item */
	.a-item{
		width: 100%;
		margin: 0 auto 0 auto;
		padding: 0 0 2% 0;
	}
	.a-item .title{
		width: 40%;
		margin: 0 auto 1% auto;
	}
	.a-item .txt{
		margin: 0 auto 3% auto;
		font-size: 14px;
		letter-spacing: 2px;
		text-align: center;
	}
	.a-item .link-box{
		width: 30%;
		margin: 3% auto 0 auto;
	}
	.photo-box-container {
		width: 100%;
		height: 2000px;
		position: relative;
		margin: 0 auto 3% auto;
	}
	.photo-box01 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		left: 0;
	}
	.photo-box02 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		left: 20%;
		z-index: 2;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateX(30px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	.photo-box03 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		left: 40%;
		z-index: 3;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateX(30px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	.photo-box04 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		left: 60%;
		z-index: 4;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateX(30px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	.photo-box05 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		right: 0%;
		z-index: 5;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateX(0px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	/* フェードイン後の状態 */
	.photo-box02.fade-in,
	.photo-box03.fade-in,
	.photo-box04.fade-in,
	.photo-box05.fade-in {
		opacity: 1;
		transform: translateY(0);
	}
	.photo-in {
		width: 100%;
		position: sticky;
		top: 0;
		padding: 40% 0 0 0;
	}

	/* cont-wrap02 */
	.cont-wrap02{
		width: 100%;
		background: #f0e2d6;
		position: relative;
		padding: 5% 0 13% 0;
	}
	/* side */
	.side01{
		width: 4%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		border-right: 1px solid #fff;
	}
	.side02{
		width: 4%;
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
		border-left: 1px solid #fff;
	}
	.side-in{
		width: 100%;
		height: 100vh;
		position: sticky;
		top: 0;
		box-sizing: border-box;
		padding: 0 30%;
		overflow: hidden;
	}
	.mv-slick02{
		transform: rotateX(180deg);
	}
	/* cam-main-door */
	.cam-main-door{
		width: 80%;
		margin: 0 auto 5% auto;
		position: relative;
		z-index: 10;
		color: #a56c0b;
		padding: 10% 0 0 0;
	}
	.cam-main-door .icon{
		width: 20%;
		margin: 0 auto;
	}
	.cam-main-door .title{
		width: 40%;
		margin: 0 auto 3% auto;
	}
	.cam-main-door .txt{
		width: max-content;
		font-size: 21px;
		letter-spacing: 4px;
		line-height: 2.5em;
		color: #fff;
		background: #a56c0b;
		margin: 0 auto 3% auto;
		padding: 0 30px;
	}
	.cam-main-door .line{
		width: 100%;
		height: 1px;
		background: #a56c0b;
		margin: 0 auto 3% auto;
	}
	.cam-main-door .cou{
		font-size: 14px;
		letter-spacing: 4px;
		line-height: 2.5em;
		text-align: center;
	}
	/* cam-door */
	.cam-door{
		width: 70%;
		position: relative;
		margin: 0 auto 5% auto;
		color: #a56c0b;
	}
	.cam-door .num{
		width: 100px;
		position: absolute;
		top: 0;
		left: 0;
	}
	.cam-door .title{
		width: 50%;
		margin: 0 auto 3% auto;
	}
	.cam-door .icon{
		width: 30%;
		margin: 0 auto 3% auto;
	}
	.cam-door .txt{
		font-size: 24px;
        letter-spacing: 5px;
		line-height: 2em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		text-align: center;
	}
	.cam-door .cou{
		font-size: 13px;
		letter-spacing: 2px;
		line-height: 2.5em;
		text-align: center;
	}
	.cam-door .img{
		width: 15%;
		position: absolute;
		top: 0;
		right: 0;
	}
	.cam-door .title01{
		width: 35%;
		margin: 0 auto 3% auto;
	}
	.cam-door .title02{
		width: 60%;
		margin: 0 auto 3% auto;
	}
	/* cam01-list */
	.cam01-list{
		width: 70%;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: space-between;
	}
	.cam01-list li{
		width: 26%;
		position: relative;
	}
	.cam01-list li .title{
		width: 80%;
		margin: 0 auto 5% auto;
	}
	.cam01-list li .img{
		width: 100%;
		overflow: hidden;
	}
	.cam01-list li .icon{
		width: 50%;
		position: absolute;
		right: -15%;
		bottom: -10%;
	}
	.cam01-txt{
		font-size: 24px;
        letter-spacing: 5px;
        line-height: 2em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
        text-align: center;
		color: #a56c0b;
		margin: 0 auto 10% auto;
	}
	/* cam02-box */
	.cam02-box{
		width: 80%;
		background: #fff;
		margin: 0 auto 10% auto;
		box-sizing: border-box;
		padding: 5% 5%;
		color: #a56c0b;
	}
	.cam02-box .main-title{
		font-size: 21px;
		letter-spacing: 4px;
		line-height: 2.5em;
		text-align: center;
		font-weight: bold;
	}
	.cam02-box .line{
		width: 100%;
		height: 1px;
		background: #a56c0b;
		margin: 0 auto 5% auto;
	}
	.cam02-list01{
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 5% auto;
	}
	.cam02-list01 li{
		width: 30%;
		margin: 0 auto;
	}
	.cam02-list01 li .title{
		width: 50%;
		margin: 0 auto 2% auto;
	}
	.cam02-list01 li .txt{
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 2.5em;
		text-align: center;
	}
	.cam02-list02{
		width: 100%;
	}
	.cam02-list02 li{
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin: 0 0 5% 0;
		position: relative;
	}
	.cam02-list02 li:last-child{
		margin: 0 0 0% 0;
	}
	.cam02-list02 li .title{
		width: 20%;
		display: flex;
		align-items: center;
		justify-content: center;
		border-right: 1px solid #a56c0b;
		text-align: center;
		font-size: 14px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-weight: bold;
	}
	.cam02-list02 li .txt{
		width: 73%;
		padding: 2% 0;
		font-size: 13px;
        letter-spacing: 1px;
        line-height: 2.5em;
	}
	.cam02-list02 li .txt span{
		font-size: 12px;
        letter-spacing: 2px;
        line-height: 2.5em;
		display: block;
		margin: 3% 0 0 0;
	}
	.cam02-list02 li .logo{
		width: 20%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		right: 0;
	}
	/* cam03-box */
	.cam03-box{
		width: 80%;
		margin: 0 auto 7% auto;
		position: relative;
		box-sizing: border-box;
	}
	.cam03-box .title01{
		width: 30%;
		margin: 0 auto 5% auto;
	}
	.cam03-box .title02{
		width: 25%;
		position: relative;
		margin: 0 auto 0% auto;
	}
	.cam03-box .title02 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.cam03-box .icon{
		width: 15%;
		position: relative;
		margin: 0 auto 2% auto;
	}
	.cam03-box .icon .un{
		animation: rotation 20s linear infinite;
	}
	.cam03-box .icon .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.cam03-box .icon .on02{
		width: 30%;
		position: absolute;
		top: 0;
		left: -10%;
	}
	.cam03-box .ph01{
		width: 30%;
		position: absolute;
		top: 0;
		left: 0%;
	}
	.cam03-box .ph02{
		width: 20%;
        position: absolute;
        top: 27%;
        right: 14%;
	}
	.cam03-box .ph03{
		width: 22%;
		position: absolute;
		top: 0;
		right: 0%;
		z-index: 10;
	}
	.cam03-box .cou{
		font-size: 12px;
		letter-spacing: 2px;
		color: #a56c0b;
		position: relative;
		left: 10%;
		margin: 0 0 5% 0;
	}
	.cam03-box .btn{
		width: 40%;
		display: block;
		margin: 0 auto;
		background: #a56c0b;
		font-size: 18px;
        letter-spacing: 3px;
        line-height: 3.5em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
        text-align: center;
		color: #fff;
		position: relative;
	}
	.cam03-box .btn span{
		width: 7%;
		line-height: 0;
		display: block;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		right: 10%;
		transition: .3s;
	}
	.cam03-box:hover .btn span{
		right: 5%;
		transition: .3s;
	}
	/* cam04-box */
	.cam04-box{
		width: 25%;
		margin: 0 auto;
	}
	/* f-data */
	.f-data{
		width: 35%;
		margin: 0 auto 7% auto;
		padding: 5% 0 0 0;
	}
	.f-data .img{
		width: 70%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 7% auto;
	}
	.f-data .img li{
		width: 45%;
	}
	.f-data .title{
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.f-data .txt{
		width: 100%;
		font-size: 14px;
        letter-spacing: 2px;
        line-height: 2.5em;
		text-align: justify;
	}
	/* f-data02 */
	.f-data02{
		width: 100%;
		margin: 0 auto 7% auto;
	}
	.f-data02 .img{
		width: 110px;
		line-height: 0;
		margin: 0 auto 4% auto;
	}
	.f-data02 .title{
		width: 100%;
		font-size: 28px;
        letter-spacing: 3px;
        line-height: 1em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		text-align: center;
		margin: 0 auto 2% auto;
	}
	.f-data02 .txt{
		width: 100%;
		font-size: 16px;
        letter-spacing: 4px;
        line-height: 2.5em;
		text-align: center;
	}
	/* modal */
	.js_modalBtnWrap {
		width: 300px;
		max-width: 100%;
		margin: 0 auto;
		text-align: center;
	}
	.js_modalBtnCont {
		display: block;
		transition: 0.3s;
	}
	.js_modalBtnCont .img{
		transform: scale(1);
		transition: 0.3s;
	}
	.js_modalBtnCont:hover .img{
		transform: scale(1.05);
		transition: 0.3s;
	}
	.js_modalWrap {
	opacity: 0;
	z-index: -1;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	backdrop-filter: blur(5px);
	-ms-backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	}
	.js_modalWrap.active {
	animation: modalOpen 0.3s ease forwards;
	}
	.js_modalWrap.active2 {
	animation: modalClose 0.3s ease forwards;
	}
	.js_modalBG {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(255, 255, 255, 0.3);
	}
	.js_modalContInner {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
		width: 80%;
		background-color: #fff;
		max-height: 100%;
	}
	.js_modalCont {
		overflow-y: scroll;
		height: 90vh;
		box-sizing: border-box;
		padding: 10% 10%;
	}
	.js_modalCont > * + * {
	margin-top: 10px;
	}
	.js_modalContInner > .js_modalClose + * {
	margin-top: 0;
	}
	.js_modalClose {
		display: block;
		position: absolute;
		top: 5% !important;
		right: 3%;
		overflow: hidden;
		cursor: pointer;
		z-index: 1001;
		margin: 0 auto;
		width: 6%;
		line-height: 0;
	}
	@keyframes modalOpen {
		0% {
			opacity: 0;
		}
		100% {
			opacity: 1;
			z-index: 1000;
		}
	}
	@keyframes modalClose {
		0% {
			opacity: 1;
			z-index: 1000;
		}
		100% {
			opacity: 0;
		}
	}
	.modal-list{
		width: 100%;
		margin: 0 0 0% 0;
	}
	.modal-list li{
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.modal-list li:nth-child(1){
		width: 100%;
		border: 1px solid #000;
		text-align: center;
		font-size: 14px;
		letter-spacing: 5px;
		font-weight: bold;
		line-height: 3em;
		margin: 0 auto 5% auto;
	}
	.modal-list li:last-child{
		width: 100%;
		margin: 0;
	}
	.modal-list li .title{
		width: 100%;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
	}
	.modal-list li .txt{
		width: 100%;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
        text-align: justify;
	}
	.modal-list li .txt span{
		width: 100%;
		display: block;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
        text-align: justify;
		margin: 3% 0 0 0;
	}
	.modal-list li .txt a{
		border-bottom: 1px solid #000;
	}
	.modal-list02{
		width: 100%;
		margin: 0 0 10% 0;
	}
	.modal-list02 li{
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	.modal-list02 li:last-child{
		width: 100%;
		margin: 5% 0 0 0;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
        text-align: right;
		display: block;
	}
	.modal-list02 li .title{
		width: 25%;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
		border-right: 1px solid #000;
		padding: 3% 0;
	}
	.modal-list02 li .txt{
		width: 68%;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
        text-align: justify;
		padding: 3% 0;
	}

	/*sid-nav*/
    .side-nav{
		position: fixed;
		display: block;
		width: 60px;
		left: 0px;
        top: 0;
		height: 100vh;
		z-index: 10;
	}
	.side-nav-in{
		width: 100%;
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
	}
	.side-nav-in li{
		width: 100%;
		margin: 0 0 30px 0;
	}
	.side-nav-in li:last-child{
		width: 100%;
		margin: 0 0 0px 0;
	}
	.side-nav-in a{
		opacity: 1;
		transition: .3s;
		display: block;
		width: 100%;
		overflow: hidden;
		position: relative;
	}

	/*cart-btm*/
	.cart-btm{
		width: 100%;
		text-decoration: none;
		color: #000;
		transition: 0.3s;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 0 0 1% 0;
		font-family: "yu-mincho-pr6n", sans-serif;
		position: relative;
	}
	.cart-btm02{
		width: 100%;
		text-decoration: none;
		color: #000;
		transition: 0.3s;
        display: flex;
        justify-content: space-between;
        align-items: center;
		flex-wrap: wrap;
        margin: 0 0 1% 0;
		font-family: "yu-mincho-pr6n", sans-serif;
		position: relative;
	}
	.cert-btm-color01{
		color: #b63f6c !important;
	}
	.cert-btm-color02{
		color: #84b250 !important;
	}
	.cert-btm-color03{
		color: #be9665 !important;
	}
	.cart-title{
        width: max-content;
		font-size: 14px;
        letter-spacing: 0px;
        position: absolute;
        line-height: 1.5em;
        white-space: nowrap;
	}
	.cart-title span{
		font-size: 11px;
		margin: 0 0 0 0px;
		position: relative;
		top: -2px;
	}
	.cart-title02{
        width: 100%;
		font-size: 14px;
        letter-spacing: 0px;
        line-height: 1.5em;
        white-space: nowrap;
	}
    .cart-yen{
		font-size: 16px;
		letter-spacing: 0px;
        width: 85%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        white-space: nowrap;
		font-family: "yu-mincho-pr6n", sans-serif;
		box-sizing: border-box;
		padding: 0 10px 0 0;
	}
	.cart-yen .yen-icon{
		margin: 0 2px 0 0;
	}
	.cart-yen .tax{
		font-size: 11px;
		letter-spacing: 0;
		margin: 0 0 0 5px;
		position: relative;
		top: 1px;
	}
    .cart-yen02{
		font-size: 16px;
		letter-spacing: 0px;
        width: max-content;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        white-space: nowrap;
		font-family: "yu-mincho-pr6n", sans-serif;
		box-sizing: border-box;
	}
	.cart-yen02 .yen-icon{
		margin: 0 2px 0 0;
	}
	.cart-yen02 .tax{
		font-size: 10px;
		letter-spacing: 0;
		margin: 0 0 0 5px;
		position: relative;
		top: 1px;
	}
	
	.link-line01{
		width: 100%;
		height: 1px;
		background: #b63f6c;
		margin: 10px 0 10px 0;
		opacity: .5;
	}
	.link-line02{
		width: 100%;
		height: 1px;
		background: #84b250;
		margin: 10px 0 10px 0;
		opacity: .5;
	}
	.link-line03{
		width: 100%;
		height: 1px;
		background: #be9665;
		margin: 10px 0 10px 0;
		opacity: .5;
	}

	.cart-btm .btn00_1 {
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 3px 0 3px 0;
		display: inline-block;
		text-align: center;
		color: #b63f6c;
		position: relative;
	}
	.cart-btm .btn00_1::before {
		background: #b63f6c;
		content: '';
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
		margin: auto;
		transform-origin: right top;
		transform: scale(0, 1);
		transition: transform .3s;
	}
	.cart-btm:hover .btn00_1::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.cart-btm .btn00_2 {
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 3px 0 3px 0;
		display: inline-block;
		text-align: center;
		color: #84b250;
		position: relative;
	}
	.cart-btm .btn00_2::before {
		background: #84b250;
		content: '';
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
		margin: auto;
		transform-origin: right top;
		transform: scale(0, 1);
		transition: transform .3s;
	}
	.cart-btm:hover .btn00_2::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.cart-btm .btn00_3 {
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 3px 0 3px 0;
		display: inline-block;
		text-align: center;
		color: #be9665;
		position: relative;
	}
	.cart-btm .btn00_3::before {
		background: #be9665;
		content: '';
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
		margin: auto;
		transform-origin: right top;
		transform: scale(0, 1);
		transition: transform .3s;
	}
	.cart-btm:hover .btn00_3::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.cart-btm .btn01{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #b63f6c;
		border: .5px solid #b63f6c;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn01 {
		background: #fff;
		border-color: #b63f6c;
		color: #b63f6c;
	}

	.cart-btm .btn02{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #84b250;
		border: .5px solid #84b250;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn02 {
		background: #fff;
		border-color: #84b250;
		color: #84b250;
	}

	.cart-btm .btn03{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #be9665;
		border: .5px solid #be9665;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn03 {
		background: #fff;
		border-color: #be9665;
		color: #be9665;
	}

	.cart-btm .btn04{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #aea094;
		border: .5px solid #aea094;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn04 {
		background: #fff;
		border-color: #aea094;
		color: #aea094;
	}

	.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);
	}
	.cart-btm02: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;
	}
	.cart-btm02:hover .btn-arrow img {
		opacity: 1;
		right: -1rem;
	}

	/*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-banner-list li .txt{
		width: 100%;
		font-size: 12px;
		letter-spacing: 2px;
		line-height: 2em;
		text-align: center;
		margin: 2% 0 0 0;
	}
	
	/*f-banner02*/
	.f-banner02{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 5% auto;
		padding: 0 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: 15px;
		width: 50px;
		height: 50px;
		display: block;
		z-index: 99;
	}
	#pagetop .btn-loading {
		display: inline-flex;
		text-decoration: none;
		font-weight: 700;
		color: #111;
		width: 100%;
		height: 100%;
		position: relative;
		opacity: 1 !important;
		transition: all 0.3s;
		background-color: #CCC;
		border-radius: 100%;
		transition: color 0.2s;
		overflow: hidden;
	}
	#pagetop .btn-loading01:before,
	#pagetop .btn-loading01:after {
		content: "";
		display: block;
		position: absolute;
		width: 50%;
		height: 0;
		background-color: #231815;
		pointer-events: none;
	}
	#pagetop .btn-loading:before {
		bottom: 0;
		left: 0;
	}
	#pagetop .btn-loading:after {
		top: 0;
		right: 0;
	}
	#pagetop:hover .btn-loading {
		color: #65A04D;
	}
	#pagetop:hover .btn-loading:before,
	#pagetop:hover .btn-loading:after {
		height: 100%;
	}
	#pagetop:hover .btn-loading:before {
		transition: height 0.1s 0.1s linear;
	}
	#pagetop:hover .btn-loading:after {
		transition: height 0.1s linear;
	}
	#pagetop .btn-loading span {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: calc(100% - 1px);
		height: calc(100% - 1px);
		background-color: #FFF;
		border-radius: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 99;
	}
	#pagetop .btn-loading span img{
		width: 20px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	
	.in-btn{
		width: 40px;
		margin: 0 auto 1% auto;
		display: block;
		opacity: 1;
	}

}

/*pad*/
@media screen and (min-width: 767px) and (max-width: 1024px) {
	.sp-on{
		display: none !important;
	}

	.l-icon::before{
        content: url("../img/l-size.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #000;
		border-radius: 3px;
    }
    .s-icon::before{
        content: url("../img/s-size.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #000;
		border-radius: 3px;
    }

	.l-icon01::before{
        content: url("../img/l-size01.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #b63f6c;
		border-radius: 3px;
    }
    .s-icon01::before{
        content: url("../img/s-size01.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #b63f6c;
		border-radius: 3px;
    }

	.l-icon02::before{
        content: url("../img/l-size02.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #84b250;
		border-radius: 3px;
    }
    .s-icon02::before{
        content: url("../img/s-size02.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #84b250;
		border-radius: 3px;
    }

	.l-icon03::before{
        content: url("../img/l-size03.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #be9665;
		border-radius: 3px;
    }
    .s-icon03::before{
        content: url("../img/s-size03.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #be9665;
		border-radius: 3px;
    }

	/* header */
	header{
		width: 100%;
		overflow: hidden;
		display: flex;
		justify-content: flex-start;
		margin: 0 auto 7% auto;
		background: #f0e2d6;
		position: relative;
	}
	.mv-img{
		width: 55%;
		overflow: hidden;
		position: relative;
	}
	.mv-img .line{
		width: 2%;
		height: 100%;
		background: linear-gradient(180deg,rgba(165, 108, 11, 1) 0%, rgba(234, 209, 106, 1) 100%);
		overflow: hidden;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
	}
	.mv-img .mv-bg{
		width: 100%;
        height: 100%;
        background: #fff;
        position: absolute;
        top: 0;
        left: 0;
        overflow: visible;
	}
	.mv-img .mv-bg::before {
        content: '';
        position: absolute;
        top: -200px;
        left: 0;
        right: 0;
        height: 200px;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
        pointer-events: none;
    }
	.mv-data{
		width: 45%;
		position: relative;
	}
	.mv-title-box{
		width: 80%;
		margin: 10% auto 0 auto;
	}
	.mv-title01{
		width: 100%;
		margin: 0 auto 10% auto;
		position: relative;
	}
	.mv-title01 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.mv-title02{
		width: 85%;
		margin: 0 auto 5% auto;
		position: relative;
	}
	.mv-title02 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.mv-title03{
		width: 85%;
		margin: 0 auto 5% auto;
		position: relative;
	}
	.mv-title04{
		width: 85%;
		margin: 0 auto 5% auto;
		position: relative;
	}
	.mv-title04 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.mv-title05{
		width: 85%;
		margin: 0 auto;
		position: relative;
	}

	.wave-border {
		position: absolute;
		bottom: -1px;
		left: 0;
		line-height: 0;
		width: 100%;
		margin: 0;
		overflow: hidden;
		z-index: 10;
	}
	.wave-border02 {
		position: absolute;
		top: 0px;
		left: 0;
		line-height: 0;
		width: 100%;
		margin: 0;
		overflow: hidden;
		background: #f7f0ea;
		z-index: 10;
	}
	.mv-cam{
		width: 15%;
		position: absolute;
		right: 2%;
		bottom: 0%;
		z-index: 10;
	}
	.mv-cam .bg{
		width: 100%;
	}
	@keyframes rotation {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
	}
	.mv-cam .on{
		width: 100%;
		position: absolute;
		right: 0%;
		bottom: 0%;
	}

	/* common */
	.js-scroll-overlap:not(.is-disabled) {
		--sticky-offset: -1px;
		position: sticky;
		top: var(--sticky-offset);
	}
	.relative {
		position: relative;
	}

	/* read */
	.read{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		overflow: hidden;
		margin: 0 auto 5% auto;
	}
	.read .img{
		width: 40%;
	}
	.read .img .title{
		width: 70%;
		margin: 0 auto 15% auto;
	}
	.read .img .title li:nth-child(1){
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.read .img .title li:nth-child(2){
		width: 60%;
		margin: 0 auto;
	}
	.read .img .img-box{
		width: 50%;
		position: relative;
		overflow: hidden;
		margin: 0 auto;
	}
	.read .img .img-box .bg{
		width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 10;
        background: linear-gradient(to bottom, #fff 0%, #fff 70%, transparent 100%);
	}
	.read .data{
		width: 60%;
		overflow: hidden;
		position: relative;
	}
	.read .data .read-bg{
		width: 100%;
        height: 100%;
        background: #fff;
        position: absolute;
        top: 0;
        left: 0;
        overflow: visible;
	}
	.read .data .read-bg::before {
        content: '';
        position: absolute;
        top: -200px;
        left: 0;
        right: 0;
        height: 200px;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
        pointer-events: none;
    }
	.read .data .icon{
		width: 23%;
		position: absolute;
		top: 15%;
		right: 5%;
		z-index: -1;
	}
	.read .data .txt{
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 3em;
		color: #40210f;
	}
	.read .data .sub{
		font-size: 10px;
		letter-spacing: 2px;
		line-height: 3em;
		color: #40210f;
		margin: 5% 0 0 0;
	}
	/* pro */
	.pro{
		width: 90%;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin: 0 auto;
		padding: 0 0 10% 0;
	}
	.pro .line{
		width: 100%;
		height: 1px;
		background: #a56c0b;
	}
	.pro .name span{
		color: #a56c0b;
		font-size: 35px;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		letter-spacing: 5px;
		display: block;
		margin: 0 0 4% 0;
		white-space: nowrap;
	}
	.pro .name{
		width: 25%;
		font-size: 14px;
		letter-spacing: 3px;
		color: #a56c0b;
		padding: 3% 0% 3% 3%;
		box-sizing: border-box;
	}
	.pro .data{
		width: 70%;
		font-size: 13px;
		letter-spacing: 3px;
		line-height: 3em;
		padding: 3% 0;
		box-sizing: border-box;
	}
	
	/* cont-wrap */
	.cont-wrap{
		width: 100%;
		background: #f7f0ea;
		position: relative;
		padding: 5% 0 0 0;
		border-radius: 50px 50px 0 0;
	}

	/* main-door */
	.main-door{
		width: 45%;
		position: relative;
		margin: 0 auto 5% auto;
		padding: 1% 0;
	}
	.main-door .line01{
		width: 5%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		left: 0;
	}
	.main-door .line02{
		width: 5%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		right: 0;
	}
	.main-door .title{
		width: 35%;
		position: relative;
		margin: 0 auto 3% auto;
	}
	.main-door .title .on{
		width: 100%;
		position: relative;
		z-index: 10;
	}
	.main-door .title .line{
		width: 100%;
		height: 15px;
		background: #fff;
		position: absolute;
		bottom: 0;
		left: 0;
	}
	.main-door .txt{
		width: 55%;
		position: relative;
		margin: 0 auto;
	}
	/* top-nav */
	.top-nav{
		width: 90%;
		margin: 0 auto 10% auto;
	}
	.top-nav-list{
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.top-nav-list li{
		width: 30%;
	}
	.top-nav-list li a{
		width: 100%;
		background: #fff;
		box-sizing: border-box;
		padding: 10% 10%;
		display: block;
		position: relative;
		box-shadow: 0px 13px 15px -5px #b8b8b8;
		transition: .3s;
	}
	.top-nav-list li a:hover{
		box-shadow: 0px 0px 0px 0px #b8b8b8;
		transition: .3s;
	}
	.top-nav-list li a .icon{
		width: 5%;
		position: absolute;
		top: 5%;
		right: 4.5%;
	}
	.top-nav-list li a .icon-pop{
		width: 27%;
		position: absolute;
		top: 66%;
		right: -7%;
		z-index: 10;
	}
	.top-nav-list li a .icon-com{
		width: 50%;
		position: absolute;
		top: 55%;
		right: 5%;
		z-index: 10;
	}
	.top-nav-list li a .bg01{
		width: 100%;
		height: 50%;
		background: #b63f6c;
		position: absolute;
		top: 0;
		left: 0;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg01{
		height: 100%;
		transition: .3s;
	}
	.top-nav-list li a .bg02{
		width: 100%;
		height: 50%;
		background: #84b250;
		position: absolute;
		top: 0;
		left: 0;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg02{
		height: 100%;
		transition: .3s;
	}
	.top-nav-list li a .bg03{
		width: 100%;
		height: 50%;
		background: #be9665;
		position: absolute;
		top: 0;
		left: 0;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg03{
		height: 100%;
		transition: .3s;
	}
	.top-nav-list li a .img{
		width: 90%;
		margin: 0 auto 7% auto;
		position: relative;
		overflow: hidden;
		z-index: 10;
	}
	.top-nav-list li a .img .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 10;
		background: rgba(0, 0, 0, .6);
		backdrop-filter: blur(2px);
		-ms-backdrop-filter: blur(2px);
		-webkit-backdrop-filter: blur(2px);
	}
	.top-nav-list li a .txt{
		font-size: 16px;
		letter-spacing: 3px;
		position: relative;
		z-index: 10;
		transition: .3s;
	}
	.top-nav-list li a:hover .txt{
		color: #fff;
		transition: .3s;
	}
	.top-nav-list li a .txt .color01{
		display: block;
		color: #b63f6c;
		font-size: 23px;
		letter-spacing: 3px;
		font-weight: bold;
		transition: .3s;
	}
	.top-nav-list li a:hover .txt .color01{
		color: #fff;
		transition: .3s;
	}
	.top-nav-list li a .txt .color02{
		display: block;
		color: #84b250;
		font-size: 23px;
		letter-spacing: 3px;
		font-weight: bold;
		transition: .3s;
		white-space: nowrap;
	}
	.top-nav-list li a:hover .txt .color02{
		color: #fff;
		transition: .3s;
	}
	.top-nav-list li a .txt .color03{
		display: block;
		color: #be9665;
		font-size: 23px;
		letter-spacing: 3px;
		font-weight: bold;
		transition: .3s;
	}
	.top-nav-list li a:hover .txt .color03{
		color: #fff;
		transition: .3s;
	}
	/* door */
	.door{
		width: 100%;
		position: relative;
		margin: 0 0 5% 0;
	}
	.door .num{
		width: 70px;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		left: 5%;
	}
	.door .img{
		width: 12%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		right: 5%;
	}
	.door .main-title{
		width: max-content;
		position: relative;
		margin: 0 auto;
	}
	.door .main-title .sub{
		width: 200px;
		margin: 0 0 3% 0;
	}
	.door .main-title .title{
		font-size: 65px;
        letter-spacing: 1px;
		line-height: 1em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	}
	.door .main-title .title .color01{
		color: #b63f6c;
	}
	.door .main-title .title .color02{
		color: #84b250;
	}
	.door .main-title .title .color03{
		color: #be9665;
	}
	.door .main-title .title .line{
		width: 100px;
		height: 1px;
		background: #000;
		display: inline-block;
		position: relative;
		top: -22px;
		margin: 0 20px 0 0;
	}
	.door .main-title .title .line01{
		background: #b63f6c;
	}
	.door .main-title .title .line02{
		background: #84b250;
	}
	.door .main-title .title .line03{
		background: #be9665;
	}
	.door .main-title .title .min{
		font-size: 30px;
		margin: 0 0 0 10px;
	}
	.door .main-title .icon{
		width: 50px;
		position: absolute;
		right: -10px;
		bottom: 0;
	}
	/* main-cont */
	.main-cont{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		margin: 0 auto 5% auto;
	}
	.movie-cont{
		width: 50%;
		position: relative;
	}
	.movie-cont .movie-cont-in{
		width: 100%;
		position: relative;
		padding: 0 0 10% 0;
	}
	.movie-cont .movie-cont-in .bg01{
		width: 100%;
		height: 40%;
		position: absolute;
		bottom: 0;
		left: 0;
		background: #b63f6c;
	}
	.movie-cont .movie-cont-in .bg02{
		width: 100%;
		height: 40%;
		position: absolute;
		bottom: 0;
		left: 0;
		background: #65A04D;
	}
	.movie-cont .movie-cont-in .bg03{
		width: 100%;
		height: 40%;
		position: absolute;
		bottom: 0;
		left: 0;
		background: #be9665;
	}
	.movie-box{
		width: 90%;
		margin: 0 auto 2% auto;
		position: relative;
	}
	.movie-box .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: rgba(0, 0, 0, .6);
        backdrop-filter: blur(2px);
        -ms-backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
	}
	.movie-box a .icon{
		width: 30%;
		margin: 0 auto;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		left: 0;
		right: 0;
	}
	.movie-box a .icon .on{
		width: 100%;
		position: absolute;
		animation: rotation 20s linear infinite;
		top: 0;
	}
	.movie-box a .icon .cn{
		width: 20%;
		margin: 0 auto;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		left: 0;
		right: 0;
		transition: .3s;
	}
	.movie-box a:hover .icon .cn{
		right: -10%;
		transition: .3s;
	}
	.movie-data{
		width: 90%;
		margin: 0 auto;
		position: relative;
	}
	.movie-data .icon{
		width: 3%;
		position: absolute;
		top: 23%;
		left: 0;
	}
	.movie-data .sub{
		width: 30%;
		margin: 0 0 5% 70%;
	}
	.movie-data .txt{
		width: 80%;
		margin: 0 0 10% 10%;
	}
	.movie-data .txt02{
		width: 90%;
		color: #fff;
		margin: 0 0 0 10%;
		font-size: 12px;
		letter-spacing: 2px;
		line-height: 2em;
	}
	.movie-data .txt02 span{
		width: max-content;
		display: block;
		border: 1px solid #fff;
		font-size: 12px;
		letter-spacing: 3px;
		line-height: 2em;
		padding: 0 10px;
		margin: 0 0 3% 0;
	}
	.data-cont{
		width: 50%;
		background: #fff;
		position: relative;
		padding: 5% 0 7% 0;
	}
	.item-img{
		width: 95%;
		overflow: hidden;
		margin: 0 0 5% 5%;
		position: relative;
	}
	.item-img .bg{
		width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 10;
        background: linear-gradient(to bottom, #fff 0%, #fff 70%, transparent 100%);
	}
	.item-title-box{
		width: 85%;
		position: relative;
		margin: 0 auto 2% auto;
	}
	.item-title-box .num{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin: 0 0 5% 0;
	}
	.item-title-box .num li:nth-child(1){
		width: 25%;
		margin: 0 7% 0 0;
	}
	.item-title-box .num li:nth-child(2){
		width: 20%;
	}
	.item-title-box .title{
		font-size: 23px;
        letter-spacing: 3px;
		line-height: 2em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		padding: 0 0 7% 0;
	}
	.item-title-box .line{
		width: 60%;
		position: absolute;
		left: 0;
		bottom: 0;
	}
	.item-title-box .icon{
		width: 3%;
		position: absolute;
		right: 0%;
		top: 25%;
	}
	.item-title-box .img{
		width: 26%;
        position: absolute;
        right: 10%;
        top: 20%;
	}
	.data-cont .link-block{
		width: 90%;
		margin: 0 auto;
		position: relative;
	}
	.data-cont .link-block .icon{
		width: 20%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.data-cont .link-block .link-box{
		width: 70%;
		margin: 0 0 0 25%;
	}
	.data-cont .link-block .link-box .top-icon{
		width: 90%;
		margin: 0 0 7% 0;
	}
	/* a-item */
	.a-item{
		width: 100%;
		margin: 0 auto 0 auto;
		padding: 0 0 2% 0;
	}
	.a-item .title{
		width: 40%;
		margin: 0 auto 1% auto;
	}
	.a-item .txt{
		margin: 0 auto 3% auto;
		font-size: 14px;
		letter-spacing: 2px;
		text-align: center;
	}
	.a-item .link-box{
		width: 39%;
		margin: 3% auto 0 auto;
	}
	.photo-box-container {
		width: 100%;
		height: 2000px;
		position: relative;
		margin: 0 auto 3% auto;
	}
	.photo-box01 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		left: 0;
	}
	.photo-box02 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		left: 20%;
		z-index: 2;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateX(30px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	.photo-box03 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		left: 40%;
		z-index: 3;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateX(30px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	.photo-box04 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		left: 60%;
		z-index: 4;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateX(30px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	.photo-box05 {
		position: absolute;
		width: 20%;
		height: 100%;
		top: 0;
		right: 0%;
		z-index: 5;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateX(0px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	/* フェードイン後の状態 */
	.photo-box02.fade-in,
	.photo-box03.fade-in,
	.photo-box04.fade-in,
	.photo-box05.fade-in {
		opacity: 1;
		transform: translateY(0);
	}
	.photo-in {
		width: 100%;
		position: sticky;
		top: 0;
		padding: 40% 0 0 0;
	}

	/* cont-wrap02 */
	.cont-wrap02{
		width: 100%;
		background: #f0e2d6;
		position: relative;
		padding: 5% 0 13% 0;
	}
	/* side */
	.side01{
		width: 4%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		border-right: 1px solid #fff;
	}
	.side02{
		width: 4%;
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
		border-left: 1px solid #fff;
	}
	.side-in{
		width: 100%;
		height: 100vh;
		position: sticky;
		top: 0;
		box-sizing: border-box;
		padding: 0 30%;
		overflow: hidden;
	}
	.mv-slick02{
		transform: rotateX(180deg);
	}
	/* cam-main-door */
	.cam-main-door{
		width: 85%;
		margin: 0 auto 5% auto;
		position: relative;
		z-index: 10;
		color: #a56c0b;
		padding: 10% 0 0 0;
	}
	.cam-main-door .icon{
		width: 20%;
		margin: 0 auto;
	}
	.cam-main-door .title{
		width: 40%;
		margin: 0 auto 3% auto;
	}
	.cam-main-door .txt{
		width: max-content;
		font-size: 21px;
		letter-spacing: 4px;
		line-height: 2.5em;
		color: #fff;
		background: #a56c0b;
		margin: 0 auto 3% auto;
		padding: 0 30px;
	}
	.cam-main-door .line{
		width: 100%;
		height: 1px;
		background: #a56c0b;
		margin: 0 auto 3% auto;
	}
	.cam-main-door .cou{
		font-size: 14px;
		letter-spacing: 4px;
		line-height: 2.5em;
		text-align: center;
	}
	/* cam-door */
	.cam-door{
		width: 85%;
		position: relative;
		margin: 0 auto 5% auto;
		color: #a56c0b;
	}
	.cam-door .num{
		width: 70px;
		position: absolute;
		top: 0;
		left: 0;
	}
	.cam-door .title{
		width: 50%;
		margin: 0 auto 3% auto;
	}
	.cam-door .icon{
		width: 30%;
		margin: 0 auto 3% auto;
	}
	.cam-door .txt{
		font-size: 24px;
        letter-spacing: 5px;
		line-height: 2em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		text-align: center;
	}
	.cam-door .cou{
		font-size: 13px;
		letter-spacing: 2px;
		line-height: 2.5em;
		text-align: center;
	}
	.cam-door .img{
		width: 15%;
		position: absolute;
		top: 0;
		right: 0;
	}
	.cam-door .title01{
		width: 35%;
		margin: 0 auto 3% auto;
	}
	.cam-door .title02{
		width: 60%;
		margin: 0 auto 3% auto;
	}
	/* cam01-list */
	.cam01-list{
		width: 85%;
		margin: 0 auto 5% auto;
		display: flex;
		justify-content: space-between;
	}
	.cam01-list li{
		width: 26%;
		position: relative;
	}
	.cam01-list li .title{
		width: 80%;
		margin: 0 auto 5% auto;
	}
	.cam01-list li .img{
		width: 100%;
		overflow: hidden;
	}
	.cam01-list li .icon{
		width: 50%;
		position: absolute;
		right: -15%;
		bottom: -10%;
	}
	.cam01-txt{
		font-size: 24px;
        letter-spacing: 5px;
        line-height: 2em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
        text-align: center;
		color: #a56c0b;
		margin: 0 auto 10% auto;
	}
	/* cam02-box */
	.cam02-box{
		width: 85%;
		background: #fff;
		margin: 0 auto 10% auto;
		box-sizing: border-box;
		padding: 5% 5%;
		color: #a56c0b;
	}
	.cam02-box .main-title{
		font-size: 21px;
		letter-spacing: 4px;
		line-height: 2.5em;
		text-align: center;
		font-weight: bold;
	}
	.cam02-box .line{
		width: 100%;
		height: 1px;
		background: #a56c0b;
		margin: 0 auto 5% auto;
	}
	.cam02-list01{
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 5% auto;
	}
	.cam02-list01 li{
		width: 30%;
		margin: 0 auto;
	}
	.cam02-list01 li .title{
		width: 50%;
		margin: 0 auto 2% auto;
	}
	.cam02-list01 li .txt{
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 2.5em;
		text-align: center;
	}
	.cam02-list02{
		width: 100%;
	}
	.cam02-list02 li{
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin: 0 0 5% 0;
		position: relative;
	}
	.cam02-list02 li:last-child{
		margin: 0 0 0% 0;
	}
	.cam02-list02 li .title{
		width: 20%;
		display: flex;
		align-items: center;
		justify-content: center;
		border-right: 1px solid #a56c0b;
		text-align: center;
		font-size: 14px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-weight: bold;
	}
	.cam02-list02 li .txt{
		width: 73%;
		padding: 2% 0;
		font-size: 13px;
        letter-spacing: 1px;
        line-height: 2.5em;
	}
	.cam02-list02 li .txt span{
		font-size: 12px;
        letter-spacing: 2px;
        line-height: 2.5em;
		display: block;
		margin: 3% 0 0 0;
	}
	.cam02-list02 li .logo{
		width: 20%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		right: 0;
	}
	/* cam03-box */
	.cam03-box{
		width: 85%;
		margin: 0 auto 7% auto;
		position: relative;
		box-sizing: border-box;
	}
	.cam03-box .title01{
		width: 30%;
		margin: 0 auto 5% auto;
	}
	.cam03-box .title02{
		width: 25%;
		position: relative;
		margin: 0 auto 0% auto;
	}
	.cam03-box .title02 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.cam03-box .icon{
		width: 15%;
		position: relative;
		margin: 0 auto 2% auto;
	}
	.cam03-box .icon .un{
		animation: rotation 20s linear infinite;
	}
	.cam03-box .icon .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.cam03-box .icon .on02{
		width: 30%;
		position: absolute;
		top: 0;
		left: -10%;
	}
	.cam03-box .ph01{
		width: 30%;
		position: absolute;
		top: 0;
		left: 0%;
	}
	.cam03-box .ph02{
		width: 20%;
        position: absolute;
        top: 27%;
        right: 14%;
	}
	.cam03-box .ph03{
		width: 22%;
		position: absolute;
		top: 0;
		right: 0%;
		z-index: 10;
	}
	.cam03-box .cou{
		font-size: 12px;
		letter-spacing: 2px;
		color: #a56c0b;
		position: relative;
		left: 10%;
		margin: 0 0 5% 0;
	}
	.cam03-box .btn{
		width: 50%;
		display: block;
		margin: 0 auto;
		background: #a56c0b;
		font-size: 18px;
        letter-spacing: 3px;
        line-height: 3.5em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
        text-align: center;
		color: #fff;
		position: relative;
	}
	.cam03-box .btn span{
		width: 7%;
		line-height: 0;
		display: block;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		right: 10%;
		transition: .3s;
	}
	.cam03-box:hover .btn span{
		right: 5%;
		transition: .3s;
	}
	/* cam04-box */
	.cam04-box{
		width: 30%;
		margin: 0 auto;
	}
	/* f-data */
	.f-data{
		width: 50%;
		margin: 0 auto 7% auto;
		padding: 5% 0 0 0;
	}
	.f-data .img{
		width: 70%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 7% auto;
	}
	.f-data .img li{
		width: 45%;
	}
	.f-data .title{
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.f-data .txt{
		width: 100%;
		font-size: 14px;
        letter-spacing: 2px;
        line-height: 2.5em;
		text-align: justify;
	}
	/* f-data02 */
	.f-data02{
		width: 100%;
		margin: 0 auto 10% auto;
	}
	.f-data02 .img{
		width: 100px;
		line-height: 0;
		margin: 0 auto 4% auto;
	}
	.f-data02 .title{
		width: 100%;
		font-size: 28px;
        letter-spacing: 3px;
        line-height: 1em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		text-align: center;
		margin: 0 auto 2% auto;
	}
	.f-data02 .txt{
		width: 100%;
		font-size: 16px;
        letter-spacing: 4px;
        line-height: 2.5em;
		text-align: center;
	}
	/* modal */
	.js_modalBtnWrap {
		width: 300px;
		max-width: 100%;
		margin: 0 auto;
		text-align: center;
	}
	.js_modalBtnCont {
		display: block;
		transition: 0.3s;
	}
	.js_modalBtnCont .img{
		transform: scale(1);
		transition: 0.3s;
	}
	.js_modalBtnCont:hover .img{
		transform: scale(1.05);
		transition: 0.3s;
	}
	.js_modalWrap {
	opacity: 0;
	z-index: -1;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	backdrop-filter: blur(5px);
	-ms-backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	}
	.js_modalWrap.active {
	animation: modalOpen 0.3s ease forwards;
	}
	.js_modalWrap.active2 {
	animation: modalClose 0.3s ease forwards;
	}
	.js_modalBG {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(255, 255, 255, 0.3);
	}
	.js_modalContInner {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
		width: 90%;
		background-color: #fff;
		max-height: 100%;
	}
	.js_modalCont {
		overflow-y: scroll;
		height: 90vh;
		box-sizing: border-box;
		padding: 10% 10%;
	}
	.js_modalCont > * + * {
	margin-top: 10px;
	}
	.js_modalContInner > .js_modalClose + * {
	margin-top: 0;
	}
	.js_modalClose {
		display: block;
		position: absolute;
		top: 5% !important;
		right: 3%;
		overflow: hidden;
		cursor: pointer;
		z-index: 1001;
		margin: 0 auto;
		width: 6%;
		line-height: 0;
	}
	@keyframes modalOpen {
		0% {
			opacity: 0;
		}
		100% {
			opacity: 1;
			z-index: 1000;
		}
	}
	@keyframes modalClose {
		0% {
			opacity: 1;
			z-index: 1000;
		}
		100% {
			opacity: 0;
		}
	}
	.modal-list{
		width: 100%;
		margin: 0 0 0% 0;
	}
	.modal-list li{
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.modal-list li:nth-child(1){
		width: 100%;
		border: 1px solid #000;
		text-align: center;
		font-size: 14px;
		letter-spacing: 5px;
		font-weight: bold;
		line-height: 3em;
		margin: 0 auto 5% auto;
	}
	.modal-list li:last-child{
		width: 100%;
		margin: 0;
	}
	.modal-list li .title{
		width: 100%;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
	}
	.modal-list li .txt{
		width: 100%;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
        text-align: justify;
	}
	.modal-list li .txt span{
		width: 100%;
		display: block;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
        text-align: justify;
		margin: 3% 0 0 0;
	}
	.modal-list li .txt a{
		border-bottom: 1px solid #000;
	}
	.modal-list02{
		width: 100%;
		margin: 0 0 10% 0;
	}
	.modal-list02 li{
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	.modal-list02 li:last-child{
		width: 100%;
		margin: 5% 0 0 0;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
        text-align: right;
		display: block;
	}
	.modal-list02 li .title{
		width: 25%;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
		border-right: 1px solid #000;
		padding: 3% 0;
	}
	.modal-list02 li .txt{
		width: 68%;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
        text-align: justify;
		padding: 3% 0;
	}

	/*sid-nav*/
    .side-nav{
		display: none;
	}
	.side-nav-in{
		display: none;
	}
	.side-nav-in li{
		display: none;
	}
	.side-nav-in li:last-child{
		display: none;
	}
	.side-nav-in a{
		display: none;
	}

	/*cart-btm*/
	.cart-btm{
		width: 100%;
		text-decoration: none;
		color: #000;
		transition: 0.3s;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 0 0 1% 0;
		font-family: "yu-mincho-pr6n", sans-serif;
		position: relative;
	}
	.cart-btm02{
		width: 100%;
		text-decoration: none;
		color: #000;
		transition: 0.3s;
        display: flex;
        justify-content: space-between;
        align-items: center;
		flex-wrap: wrap;
        margin: 0 0 1% 0;
		font-family: "yu-mincho-pr6n", sans-serif;
		position: relative;
	}
	.cert-btm-color01{
		color: #b63f6c !important;
	}
	.cert-btm-color02{
		color: #84b250 !important;
	}
	.cert-btm-color03{
		color: #be9665 !important;
	}
	.cart-title{
        width: max-content;
		font-size: 14px;
        letter-spacing: 0px;
        position: absolute;
        line-height: 1.5em;
        white-space: nowrap;
	}
	.cart-title span{
		font-size: 11px;
		margin: 0 0 0 0px;
		position: relative;
		top: -2px;
	}
	.cart-title02{
        width: 100%;
		font-size: 14px;
        letter-spacing: 0px;
        line-height: 1.5em;
        white-space: nowrap;
	}
    .cart-yen{
		font-size: 16px;
		letter-spacing: 0px;
        width: 85%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        white-space: nowrap;
		font-family: "yu-mincho-pr6n", sans-serif;
		box-sizing: border-box;
		padding: 0 10px 0 0;
	}
	.cart-yen .yen-icon{
		margin: 0 2px 0 0;
	}
	.cart-yen .tax{
		font-size: 11px;
		letter-spacing: 0;
		margin: 0 0 0 5px;
		position: relative;
		top: 1px;
	}
    .cart-yen02{
		font-size: 16px;
		letter-spacing: 0px;
        width: max-content;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        white-space: nowrap;
		font-family: "yu-mincho-pr6n", sans-serif;
		box-sizing: border-box;
	}
	.cart-yen02 .yen-icon{
		margin: 0 2px 0 0;
	}
	.cart-yen02 .tax{
		font-size: 10px;
		letter-spacing: 0;
		margin: 0 0 0 5px;
		position: relative;
		top: 1px;
	}
	
	.link-line01{
		width: 100%;
		height: 1px;
		background: #b63f6c;
		margin: 10px 0 10px 0;
		opacity: .5;
	}
	.link-line02{
		width: 100%;
		height: 1px;
		background: #84b250;
		margin: 10px 0 10px 0;
		opacity: .5;
	}
	.link-line03{
		width: 100%;
		height: 1px;
		background: #be9665;
		margin: 10px 0 10px 0;
		opacity: .5;
	}

	.cart-btm .btn00_1 {
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 3px 0 3px 0;
		display: inline-block;
		text-align: center;
		color: #b63f6c;
		position: relative;
	}
	.cart-btm .btn00_1::before {
		background: #b63f6c;
		content: '';
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
		margin: auto;
		transform-origin: right top;
		transform: scale(0, 1);
		transition: transform .3s;
	}
	.cart-btm:hover .btn00_1::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.cart-btm .btn00_2 {
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 3px 0 3px 0;
		display: inline-block;
		text-align: center;
		color: #84b250;
		position: relative;
	}
	.cart-btm .btn00_2::before {
		background: #84b250;
		content: '';
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
		margin: auto;
		transform-origin: right top;
		transform: scale(0, 1);
		transition: transform .3s;
	}
	.cart-btm:hover .btn00_2::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.cart-btm .btn00_3 {
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 3px 0 3px 0;
		display: inline-block;
		text-align: center;
		color: #be9665;
		position: relative;
	}
	.cart-btm .btn00_3::before {
		background: #be9665;
		content: '';
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
		margin: auto;
		transform-origin: right top;
		transform: scale(0, 1);
		transition: transform .3s;
	}
	.cart-btm:hover .btn00_3::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.cart-btm .btn01{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #b63f6c;
		border: .5px solid #b63f6c;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn01 {
		background: #fff;
		border-color: #b63f6c;
		color: #b63f6c;
	}

	.cart-btm .btn02{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #84b250;
		border: .5px solid #84b250;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn02 {
		background: #fff;
		border-color: #84b250;
		color: #84b250;
	}

	.cart-btm .btn03{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #be9665;
		border: .5px solid #be9665;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn03 {
		background: #fff;
		border-color: #be9665;
		color: #be9665;
	}

	.cart-btm .btn04{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #aea094;
		border: .5px solid #aea094;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn04 {
		background: #fff;
		border-color: #aea094;
		color: #aea094;
	}

	.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);
	}
	.cart-btm02: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;
	}
	.cart-btm02:hover .btn-arrow img {
		opacity: 1;
		right: -1rem;
	}

	/*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-banner-list li .txt{
		width: 100%;
		font-size: 12px;
		letter-spacing: 2px;
		line-height: 2em;
		text-align: center;
		margin: 2% 0 0 0;
	}
	
	/*f-banner02*/
	.f-banner02{
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 5% auto;
		padding: 0 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: 15px;
		width: 50px;
		height: 50px;
		display: block;
		z-index: 99;
	}
	#pagetop .btn-loading {
		display: inline-flex;
		text-decoration: none;
		font-weight: 700;
		color: #111;
		width: 100%;
		height: 100%;
		position: relative;
		opacity: 1 !important;
		transition: all 0.3s;
		background-color: #CCC;
		border-radius: 100%;
		transition: color 0.2s;
		overflow: hidden;
	}
	#pagetop .btn-loading01:before,
	#pagetop .btn-loading01:after {
		content: "";
		display: block;
		position: absolute;
		width: 50%;
		height: 0;
		background-color: #231815;
		pointer-events: none;
	}
	#pagetop .btn-loading:before {
		bottom: 0;
		left: 0;
	}
	#pagetop .btn-loading:after {
		top: 0;
		right: 0;
	}
	#pagetop:hover .btn-loading {
		color: #65A04D;
	}
	#pagetop:hover .btn-loading:before,
	#pagetop:hover .btn-loading:after {
		height: 100%;
	}
	#pagetop:hover .btn-loading:before {
		transition: height 0.1s 0.1s linear;
	}
	#pagetop:hover .btn-loading:after {
		transition: height 0.1s linear;
	}
	#pagetop .btn-loading span {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: calc(100% - 1px);
		height: calc(100% - 1px);
		background-color: #FFF;
		border-radius: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 99;
	}
	#pagetop .btn-loading span img{
		width: 20px;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	
	.in-btn{
		width: 40px;
		margin: 0 auto 1% auto;
		display: block;
		opacity: 1;
	}

}

/*//////////////////////////////// for iphone ////////////////////////////*/
@media (min-width:0px) and ( max-width:766px) {
	.pc-on{
		display: none !important;
	}

	.l-icon::before{
        content: url("../img/l-size.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #000;
		border-radius: 3px;
    }
    .s-icon::before{
        content: url("../img/s-size.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #000;
		border-radius: 3px;
    }

	.l-icon01::before{
        content: url("../img/l-size01.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #b63f6c;
		border-radius: 3px;
    }
    .s-icon01::before{
        content: url("../img/s-size01.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #b63f6c;
		border-radius: 3px;
    }

	.l-icon02::before{
        content: url("../img/l-size02.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #84b250;
		border-radius: 3px;
    }
    .s-icon02::before{
        content: url("../img/s-size02.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #84b250;
		border-radius: 3px;
    }

	.l-icon03::before{
        content: url("../img/l-size03.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #be9665;
		border-radius: 3px;
    }
    .s-icon03::before{
        content: url("../img/s-size03.svg");
        width: 13px;
        height: 13px;
        display: inline-block;
        background-size: 13px 13px;
        position: relative;
        top: -1px;
		margin: 0 10px 0 0;
		line-height: 0;
		border: 1px solid #be9665;
		border-radius: 3px;
    }

	/* header */
	header{
		width: 100%;
		overflow: hidden;
		margin: 0 auto 7% auto;
		background: #f0e2d6;
		position: relative;
	}
	.mv-img{
		width: 100%;
		overflow: hidden;
		position: relative;
	}
	.mv-img .line{
		width: 100%;
		height: 10px;
		background: linear-gradient(90deg,rgba(165, 108, 11, 1) 0%, rgba(234, 209, 106, 1) 100%);
		overflow: hidden;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
	}
	.mv-img .mv-bg{
		width: 100%;
        height: 100%;
        background: #fff;
        position: absolute;
        top: 0;
        left: 0;
        overflow: visible;
	}
	.mv-img .mv-bg::before {
        content: '';
        position: absolute;
        top: -200px;
        left: 0;
        right: 0;
        height: 200px;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
        pointer-events: none;
    }
	.mv-data{
		width: 100%;
		position: relative;
	}
	.mv-title-box{
		width: 80%;
		margin: 5% auto 8% auto;
	}
	.mv-title01{
		width: 100%;
		margin: 0 auto 10% auto;
		position: relative;
	}
	.mv-title01 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.mv-title02{
		width: 85%;
		margin: 0 auto 3% auto;
		position: relative;
	}
	.mv-title02 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.mv-title03{
		width: 85%;
		margin: 0 auto 2% auto;
		position: relative;
	}
	.mv-title04{
		width: 100%;
		margin: 0 auto 5% auto;
		position: relative;
	}
	.mv-title04 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.mv-title05{
		width: 85%;
		margin: 0 auto;
		position: relative;
	}

	.wave-border {
		position: absolute;
		bottom: -1px;
		left: 0;
		line-height: 0;
		width: 100%;
		margin: 0;
		overflow: hidden;
		z-index: 10;
	}
	.wave-border02 {
		position: absolute;
		top: 0px;
		left: 0;
		line-height: 0;
		width: 100%;
		margin: 0;
		overflow: hidden;
		background: #f7f0ea;
		z-index: 10;
	}
	.mv-cam{
		width: 40%;
		position: absolute;
		right: 2%;
		bottom: 0%;
		z-index: 10;
	}
	.mv-cam .bg{
		width: 100%;
	}
	@keyframes rotation {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
	}
	.mv-cam .on{
		width: 100%;
		position: absolute;
		right: 0%;
		bottom: 0%;
	}

	/* common */
	.js-scroll-overlap:not(.is-disabled) {
		--sticky-offset: -1px;
		position: sticky;
		top: var(--sticky-offset);
	}
	.relative {
		position: relative;
	}

	/* read */
	.read{
		width: 100%;
		overflow: hidden;
		margin: 0 auto 5% auto;
	}
	.read .img{
		width: 100%;
	}
	.read .img .title{
		width: 75%;
		margin: 0 auto 7% auto;
	}
	.read .img .title li:nth-child(1){
		width: 100%;
		margin: 0 auto 7% auto;
	}
	.read .img .title li:nth-child(2){
		width: 60%;
		margin: 0 auto;
	}
	.read .img-box{
		width: 70%;
		position: relative;
		overflow: hidden;
		margin: 0 auto 0% auto;
	}
	.read .img-box .bg{
		width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 10;
        background: linear-gradient(to bottom, #fff 0%, #fff 70%, transparent 100%);
	}
	.read .data{
		width: 100%;
		overflow: hidden;
		position: relative;
		margin: 0 auto 10% auto;
	}
	.read .data .read-bg{
		width: 100%;
        height: 100%;
        background: #fff;
        position: absolute;
        top: 0;
        left: 0;
        overflow: visible;
	}
	.read .data .read-bg::before {
        content: '';
        position: absolute;
        top: -200px;
        left: 0;
        right: 0;
        height: 200px;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
        pointer-events: none;
    }
	.read .data .icon{
		width: 23%;
		position: absolute;
		top: 15%;
		right: 5%;
		z-index: -1;
	}
	.read .data .txt{
		width: 85%;
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 2.2em;
		color: #40210f;
		text-align: justify;
		margin: 0 auto;
	}
	.read .data .sub{
		font-size: 10px;
		letter-spacing: 2px;
		line-height: 3em;
		color: #40210f;
		margin: 5% 0 0 0;
	}
	.sp-read{
		width: 85%;
		position: relative;
		margin: 0 auto 10% auto;
	}

	/* pro */
	.pro{
		width: 90%;
		margin: 0 auto;
		padding: 0 0 20% 0;
	}
	.pro .line{
		width: 100%;
		height: 1px;
		background: #a56c0b;
	}
	.pro .name span{
		color: #a56c0b;
		font-size: 30px;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		letter-spacing: 5px;
		margin: 0 10px 0 0;
	}
	.pro .name{
		width: 100%;
		font-size: 12px;
		letter-spacing: 2px;
		color: #a56c0b;
		box-sizing: border-box;
		text-align: center;
		margin: 0 auto 5% auto;
	}
	.pro .data{
		width: 100%;
		font-size: 12px;
		letter-spacing: 2px;
		line-height: 2.2em;
		text-align: justify;
		padding: 5% 0;
	}
	.pro .data br{
		display: none;
	}
	
	/* cont-wrap */
	.cont-wrap{
		width: 100%;
		background: #f7f0ea;
		position: relative;
		padding: 15% 0 0 0;
		border-radius: 30px 30px 0 0;
	}

	/* main-door */
	.main-door{
		width: 90%;
		position: relative;
		margin: 0 auto 10% auto;
		padding: 1% 0;
	}
	.main-door .line01{
		width: 7%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		left: 0;
	}
	.main-door .line02{
		width: 7%;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		right: 0;
	}
	.main-door .title{
		width: 50%;
		position: relative;
		margin: 0 auto 5% auto;
	}
	.main-door .title .on{
		width: 100%;
		position: relative;
		z-index: 10;
	}
	.main-door .title .line{
		width: 100%;
		height: 5px;
		background: #fff;
		position: absolute;
		bottom: 0;
		left: 0;
	}
	.main-door .txt{
		width: 70%;
		position: relative;
		margin: 0 auto;
	}
	/* top-nav */
	.top-nav{
		width: 77%;
		margin: 0 auto 20% auto;
	}
	.top-nav-list{
		width: 100%;
		margin: 0 auto;
	}
	.top-nav-list li{
		width: 100%;
	}
	.top-nav-list li:nth-child(2){
		width: 100%;
		margin: 7% 0;
	}
	.top-nav-list li a{
		width: 100%;
		background: #fff;
		box-sizing: border-box;
		display: block;
		position: relative;
		box-shadow: 0px 13px 15px -5px #b8b8b8;
		transition: .3s;
	}
	.top-nav-list li a:hover{
		box-shadow: 0px 0px 0px 0px #b8b8b8;
		transition: .3s;
	}
	/* door */
	.door{
		width: 100%;
		position: relative;
		margin: 0 0 5% 0;
	}
	.door .num{
		width: 40px;
		position: absolute;
		bottom: 10%;
		left: 5%;
	}
	.door .img{
		display: none;
	}
	.door .main-title{
		width: max-content;
		position: relative;
		left: 10%;
		margin: 0 auto;
	}
	.door .main-title-sp{
		left: 0% !important;
	}
	.door .main-title .sub{
		width: 150px;
		margin: 0 0 3% 0;
	}
	.door .main-title .title{
		font-size: 40px;
        letter-spacing: 1px;
		line-height: 1em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	}
	.door .main-title .title .color01{
		color: #b63f6c;
	}
	.door .main-title .title .color02{
		color: #84b250;
	}
	.door .main-title .title .color03{
		color: #be9665;
	}
	.door .main-title .title .line{
		display: none;
	}
	.door .main-title .title .line01{
		background: #b63f6c;
	}
	.door .main-title .title .line02{
		background: #84b250;
	}
	.door .main-title .title .line03{
		background: #be9665;
	}
	.door .main-title .title .min{
		font-size: 21px;
		margin: 0 0 0 5px;
	}
	.door .main-title .icon{
		width: 30px;
		position: absolute;
		right: -10px;
		bottom: 0;
	}
	/* main-cont */
	.main-cont{
		width: 100%;
		margin: 0 auto 20% auto;
	}
	.movie-cont{
		width: 100%;
		position: relative;
	}
	.movie-cont .movie-cont-in{
		width: 100%;
		position: relative;
		padding: 0 0 10% 0;
	}
	.movie-cont .movie-cont-in .bg01{
		width: 100%;
		height: 40%;
		position: absolute;
		bottom: 0;
		left: 0;
		background: #b63f6c;
	}
	.movie-cont .movie-cont-in .bg02{
		width: 100%;
		height: 40%;
		position: absolute;
		bottom: 0;
		left: 0;
		background: #65A04D;
	}
	.movie-cont .movie-cont-in .bg03{
		width: 100%;
		height: 40%;
		position: absolute;
		bottom: 0;
		left: 0;
		background: #be9665;
	}
	.movie-box{
		width: 100%;
		margin: 0 auto 5% auto;
		position: relative;
	}
	.movie-box .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: rgba(0, 0, 0, .6);
        backdrop-filter: blur(2px);
        -ms-backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
	}
	.movie-box a .icon{
		width: 30%;
		margin: 0 auto;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		left: 0;
		right: 0;
	}
	.movie-box a .icon .on{
		width: 100%;
		position: absolute;
		animation: rotation 20s linear infinite;
		top: 0;
	}
	.movie-box a .icon .cn{
		width: 20%;
		margin: 0 auto;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		left: 0;
		right: 0;
		transition: .3s;
	}
	.movie-box a:hover .icon .cn{
		right: -10%;
		transition: .3s;
	}
	.movie-data{
		width: 85%;
		margin: 0 auto;
		position: relative;
	}
	.movie-data .icon{
		width: 4%;
        position: absolute;
        top: 0%;
        left: -2%;
	}
	.movie-cont-in .sub{
		width: 35%;
		margin: 0 0 5% 5%;
	}
	.movie-data .txt{
		width: 90%;
		margin: 0 0 10% 10%;
	}
	.movie-data .txt02{
		width: 90%;
		color: #fff;
		margin: 0 0 0 10%;
		font-size: 11px;
		letter-spacing: 2px;
		line-height: 2em;
		white-space: nowrap;
	}
	.movie-data .txt02 span{
		width: max-content;
		display: block;
		border: 1px solid #fff;
		font-size: 12px;
		letter-spacing: 3px;
		line-height: 2em;
		padding: 0 10px;
		margin: 0 0 3% 0;
	}
	.data-cont{
		width: 100%;
		background: #fff;
		position: relative;
		padding: 10% 0 25% 0;
	}
	.item-img{
		width: 100%;
		overflow: hidden;
		margin: 0 0 7% 0%;
		position: relative;
	}
	.item-img .bg{
		width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 10;
        background: linear-gradient(to bottom, #fff 0%, #fff 70%, transparent 100%);
	}
	.item-title-box{
		width: 85%;
		position: relative;
		margin: 0 auto 2% auto;
	}
	.item-title-box .num{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin: 0 0 5% 0;
	}
	.item-title-box .num li:nth-child(1){
		width: 40%;
		margin: 0 7% 0 0;
	}
	.item-title-box .num li:nth-child(2){
		width: 30%;
	}
	.item-title-box .title{
		font-size: 21px;
        letter-spacing: 2px;
		line-height: 2em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		padding: 0 0 7% 0;
	}
	.item-title-box .line{
		width: 60%;
		position: absolute;
		left: 0;
		bottom: 0;
	}
	.item-title-box .icon{
		display: none;
	}
	.item-title-box .img{
		width: 28%;
        position: absolute;
        right: -5%;
        top: 20%;
	}
	.data-cont .link-block{
		width: 85%;
		margin: 0 auto;
		position: relative;
	}
	.data-cont .link-block .icon{
		width: 20%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.data-cont .link-block .link-box{
		width: 100%;
	}
	.data-cont .link-block .link-box .top-icon{
		width: 80%;
		margin: 0 0 7% 0;
	}
	/* a-item */
	.a-item{
		width: 100%;
		margin: 0 auto 0 auto;
		padding: 0 0 10% 0;
	}
	.a-item .title{
		width: 90%;
		margin: 0 auto 1% auto;
	}
	.a-item .txt{
		margin: 0 auto 5% auto;
		font-size: 11px;
		letter-spacing: 1px;
		text-align: center;
	}
	.a-item .link-box{
		width: 85%;
		margin: 5% auto 0 auto;
	}
	.photo-box-container {
		width: 100%;
		height: 2000px;
		position: relative;
		margin: 0 auto 7% auto;
	}
	.photo-box01 {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
	}
	.photo-box02 {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0%;
		z-index: 2;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateY(30px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	.photo-box03 {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0%;
		z-index: 3;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateY(30px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	.photo-box04 {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0%;
		z-index: 4;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateY(30px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	.photo-box05 {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		right: 0%;
		z-index: 5;
		/* 初期状態で非表示 */
		opacity: 0;
		transform: translateY(0px);
		transition: opacity 0.8s ease-out, transform 0.8s ease-out;
	}
	/* フェードイン後の状態 */
	.photo-box02.fade-in,
	.photo-box03.fade-in,
	.photo-box04.fade-in,
	.photo-box05.fade-in {
		opacity: 1;
		transform: translateY(0);
	}
	.photo-in {
		width: 100%;
		position: sticky;
		top: 0;
		padding: 10% 0 0 0;
	}

	/* cont-wrap02 */
	.cont-wrap02{
		width: 100%;
		background: #f0e2d6;
		position: relative;
		padding: 5% 0 29% 0;
	}
	/* side */
	.side01{
		width: 4%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		border-right: 1px solid #fff;
	}
	.side02{
		width: 4%;
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
		border-left: 1px solid #fff;
	}
	.side-in{
		width: 100%;
		height: 100vh;
		position: sticky;
		top: 0;
		box-sizing: border-box;
		padding: 0 30%;
		overflow: hidden;
	}
	.mv-slick02{
		transform: rotateX(180deg);
	}
	/* cam-main-door */
	.cam-main-door{
		width: 85%;
		margin: 0 auto 10% auto;
		position: relative;
		z-index: 10;
		color: #a56c0b;
		padding: 20% 0 0 0;
	}
	.cam-main-door .icon{
		width: 40%;
		margin: 0 auto;
	}
	.cam-main-door .title{
		width: 80%;
		margin: 0 auto 5% auto;
	}
	.cam-main-door .txt{
		width: max-content;
		font-size: 14px;
		letter-spacing: 4px;
		line-height: 2em;
		color: #fff;
		background: #a56c0b;
		margin: 0 auto 5% auto;
		padding: 0 10px 0 14px;
	}
	.cam-main-door .line{
		width: 100%;
		height: 1px;
		background: #a56c0b;
		margin: 0 auto 3% auto;
	}
	.cam-main-door .cou{
		font-size: 13px;
		letter-spacing: 1px;
		line-height: 2.2em;
		text-align: center;
	}
	/* cam-door */
	.cam-door{
		width: 100%;
		position: relative;
		margin: 0 auto 8% auto;
		color: #a56c0b;
	}
	.cam-door .num{
		width: 75%;
		margin: 0 auto 3% auto;
	}
	.cam-door .title{
		width: 90%;
		margin: 0 auto 3% auto;
	}
	.cam-door .icon{
		width: 40%;
		margin: 0 auto 3% auto;
	}
	.cam-door .txt{
		font-size: 16px;
        letter-spacing: 3px;
		line-height: 2em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		text-align: center;
	}
	.cam-door .cou{
		width: 85%;
		margin: 0 auto;
		font-size: 11px;
		letter-spacing: 2px;
		line-height: 2em;
		text-align: center;
	}
	.cam-door .img{
		width: 25%;
		position: absolute;
		top: 0;
		right: 2%;
	}
	.cam-door .title01{
		width: 70%;
		margin: 0 auto 3% auto;
	}
	.cam-door .title02{
		width: 90%;
		margin: 0 auto 3% auto;
	}
	/* cam01-list */
	.cam01-list{
		width: 85%;
		margin: 0 auto 10% auto;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.cam01-list li{
		width: 45%;
		position: relative;
	}
	.cam01-list li:nth-child(1){
		width: 45%;
		position: relative;
		margin: 0 27.5% 10% 27.5%;
	}
	.cam01-list li .title{
		width: 80%;
		margin: 0 auto 7% auto;
	}
	.cam01-list li .img{
		width: 100%;
		overflow: hidden;
	}
	.cam01-list li .icon{
		width: 50%;
		position: absolute;
		right: -15%;
		bottom: -10%;
	}
	.cam01-txt{
		font-size: 16px;
        letter-spacing: 3px;
        line-height: 2em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
        text-align: center;
		color: #a56c0b;
		margin: 0 auto 20% auto;
	}
	/* cam02-box */
	.cam02-box{
		width: 95%;
		background: #fff;
		margin: 0 auto 10% auto;
		box-sizing: border-box;
		padding: 5% 5%;
		color: #a56c0b;
	}
	.cam02-box .main-title{
		font-size: 16px;
		letter-spacing: 2px;
		line-height: 2.5em;
		text-align: center;
		font-weight: bold;
	}
	.cam02-box .line{
		width: 100%;
		height: 1px;
		background: #a56c0b;
		margin: 0 auto 5% auto;
	}
	.cam02-list01{
		width: 100%;
		margin: 0 auto 10% auto;
	}
	.cam02-list01 li{
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto 2% auto;
	}
	.cam02-list01 li .title{
		width: 25%;
		line-height: 0;
	}
	.cam02-list01 li .txt{
		width: 70%;
		font-size: 13px;
		letter-spacing: 1px;
		line-height: 2.5em;
		white-space: nowrap;
	}
	.cam02-list02{
		width: 100%;
	}
	.cam02-list02 li{
		width: 100%;
		margin: 0 0 7% 0;
		position: relative;
	}
	.cam02-list02 li:last-child{
		margin: 0 0 0% 0;
	}
	.cam02-list02 li .title{
		width: 100%;
		border-bottom: 1px solid #a56c0b;
		text-align: center;
		font-size: 14px;
        letter-spacing: 2px;
        line-height: 3em;
		font-weight: bold;
		margin: 0 0 2% 0;
	}
	.cam02-list02 li .txt{
		width: 100%;
		font-size: 13px;
        letter-spacing: 1px;
        line-height: 2.2em;
	}
	.cam02-list02 li .txt span{
		font-size: 10px;
        letter-spacing: 2px;
        line-height: 2.2em;
		display: block;
		margin: 3% 0 0 0;
	}
	.cam02-list02 li .logo{
		width: 40%;
		margin: 5% auto 0 auto;
	}
	/* cam03-box */
	.cam03-box{
		width: 85%;
		margin: 0 auto 7% auto;
		position: relative;
		box-sizing: border-box;
	}
	.cam03-box .title01{
		width: 50%;
		margin: 0 0 5% 0;
	}
	.cam03-box .title02{
		width: 50%;
		position: relative;
		margin: 0 0 5% 0;
	}
	.cam03-box .title02 .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.cam03-box .icon{
		width: 40%;
		position: relative;
		margin: 0 0 2% 0;
	}
	.cam03-box .icon .un{
		animation: rotation 20s linear infinite;
	}
	.cam03-box .icon .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.cam03-box .icon .on02{
		width: 30%;
		position: absolute;
		top: 0;
		left: -10%;
	}
	.cam03-box .ph01{
		display: none;
	}
	.cam03-box .ph02{
		width: 55%;
        position: absolute;
        top: 5%;
        right: -5%;
	}
	.cam03-box .ph03{
		display: none;
	}
	.cam03-box .cou{
		font-size: 11px;
		letter-spacing: 2px;
		color: #a56c0b;
		position: relative;
		text-align: right;
		margin: 0 0 5% 0;
	}
	.cam03-box .btn{
		width: 100%;
		display: block;
		margin: 0 auto;
		background: #a56c0b;
		font-size: 14px;
        letter-spacing: 2px;
        line-height: 3.5em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
        text-align: center;
		color: #fff;
		position: relative;
	}
	.cam03-box .btn span{
		width: 7%;
		line-height: 0;
		display: block;
		position: absolute;
		top: 50%;
        -webkit-transform: translateY(-50%); /* Safari逕ｨ */
        transform: translateY(-50%);
		right: 10%;
		transition: .3s;
	}
	.cam03-box:hover .btn span{
		right: 5%;
		transition: .3s;
	}
	/* cam04-box */
	.cam04-box{
		width: 60%;
		margin: 0 auto;
	}
	/* f-data */
	.f-data{
		width: 85%;
		margin: 0 auto 15% auto;
		padding: 15% 0 0 0;
	}
	.f-data .img{
		width: 70%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 7% auto;
	}
	.f-data .img li{
		width: 45%;
	}
	.f-data .title{
		width: 80%;
		margin: 0 auto 5% auto;
	}
	.f-data .txt{
		width: 100%;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2.2em;
		text-align: justify;
	}
	/* f-data02 */
	.f-data02{
		width: 100%;
		margin: 0 auto 10% auto;
	}
	.f-data02 .img{
		width: 23%;
		line-height: 0;
		margin: 0 auto 7% auto;
	}
	.f-data02 .title{
		width: 100%;
		font-size: 21px;
        letter-spacing: 3px;
        line-height: 1em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		text-align: center;
		margin: 0 auto 4% auto;
	}
	.f-data02 .txt{
		width: 100%;
		font-size: 15px;
        letter-spacing: 3px;
        line-height: 2.5em;
		text-align: center;
	}
	/* modal */
	.js_modalBtnWrap {
		width: 300px;
		max-width: 100%;
		margin: 0 auto;
		text-align: center;
	}
	.js_modalBtnCont {
		display: block;
		transition: 0.3s;
	}
	.js_modalBtnCont .img{
		transform: scale(1);
		transition: 0.3s;
	}
	.js_modalBtnCont:hover .img{
		transform: scale(1.05);
		transition: 0.3s;
	}
	.js_modalWrap {
	opacity: 0;
	z-index: -1;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	backdrop-filter: blur(5px);
	-ms-backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	}
	.js_modalWrap.active {
	animation: modalOpen 0.3s ease forwards;
	}
	.js_modalWrap.active2 {
	animation: modalClose 0.3s ease forwards;
	}
	.js_modalBG {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(255, 255, 255, 0.3);
	}
	.js_modalContInner {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
		width: 90%;
		background-color: #fff;
		max-height: 100%;
	}
	.js_modalCont {
		overflow-y: scroll;
		height: 90vh;
		box-sizing: border-box;
		padding: 15% 7% 10% 7%;
	}
	.js_modalCont > * + * {
	margin-top: 10px;
	}
	.js_modalContInner > .js_modalClose + * {
	margin-top: 0;
	}
	.js_modalClose {
		display: block;
		position: absolute;
		top: 4% !important;
		right: 5%;
		overflow: hidden;
		cursor: pointer;
		z-index: 1001;
		margin: 0 auto;
		width: 15%;
		line-height: 0;
	}
	@keyframes modalOpen {
		0% {
			opacity: 0;
		}
		100% {
			opacity: 1;
			z-index: 1000;
		}
	}
	@keyframes modalClose {
		0% {
			opacity: 1;
			z-index: 1000;
		}
		100% {
			opacity: 0;
		}
	}
	.modal-list{
		width: 100%;
		margin: 0 0 0% 0;
	}
	.modal-list li{
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.modal-list li:nth-child(1){
		width: 100%;
		border: 1px solid #000;
		text-align: center;
		font-size: 13px;
		letter-spacing: 5px;
		font-weight: bold;
		line-height: 2em;
		margin: 0 auto 5% auto;
	}
	.modal-list li:last-child{
		width: 100%;
		margin: 0;
	}
	.modal-list li .title{
		width: 100%;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 2em;
	}
	.modal-list li .txt{
		width: 100%;
		font-size: 12px;
        letter-spacing: 2px;
        line-height: 2em;
	}
	.modal-list li .txt span{
		width: 100%;
		display: block;
		font-size: 12px;
        letter-spacing: 2px;
        line-height: 2em;
        text-align: justify;
		margin: 3% 0 0 0;
	}
	.modal-list li .txt a{
		word-wrap: break-word;
		border-bottom: 1px solid #000;
	}
	.modal-list02{
		width: 100%;
		margin: 0 0 20% 0;
	}
	.modal-list02 li{
		width: 100%;
		margin: 0 0 7% 0;
	}
	.modal-list02 li:last-child{
		width: 100%;
		margin: 2% 0 0 0;
		font-size: 11px;
        letter-spacing: 2px;
        line-height: 2em;
		text-align: justify;
		display: block;
	}
	.modal-list02 li .title{
		width: 100%;
		font-size: 13px;
        letter-spacing: 2px;
        line-height: 3em;
		border-bottom: 1px solid #000;
		text-align: center;
		margin: 0 0 5% 0;
	}
	.modal-list02 li .txt{
		width: 100%;
		font-size: 12px;
        letter-spacing: 2px;
        line-height: 2em;
        text-align: justify;
	}

	/*sid-nav*/
    .side-nav{
		display: none;
	}
	.side-nav-in{
		display: none;
	}
	.side-nav-in li{
		display: none;
	}
	.side-nav-in li:last-child{
		display: none;
	}
	.side-nav-in a{
		display: none;
	}

	/*cart-btm*/
	.cart-btm{
		width: 100%;
		text-decoration: none;
		color: #000;
		transition: 0.3s;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin: 0 0 1% 0;
		font-family: "yu-mincho-pr6n", sans-serif;
		position: relative;
	}
	.cart-btm02{
		width: 100%;
		text-decoration: none;
		color: #000;
		transition: 0.3s;
        display: flex;
        justify-content: space-between;
        align-items: center;
		flex-wrap: wrap;
        margin: 0 0 1% 0;
		font-family: "yu-mincho-pr6n", sans-serif;
		position: relative;
	}
	.cert-btm-color01{
		color: #b63f6c !important;
	}
	.cert-btm-color02{
		color: #84b250 !important;
	}
	.cert-btm-color03{
		color: #be9665 !important;
	}
	.cart-title{
        width: max-content;
		font-size: 14px;
        letter-spacing: 0px;
        position: absolute;
        line-height: 1.5em;
        white-space: nowrap;
	}
	.cart-title span{
		font-size: 11px;
		margin: 0 0 0 0px;
		position: relative;
		top: -2px;
	}
	.cart-title02{
        width: 100%;
		font-size: 14px;
        letter-spacing: 0px;
        line-height: 1.5em;
        white-space: nowrap;
	}
    .cart-yen{
		font-size: 16px;
		letter-spacing: 0px;
        width: 85%;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        white-space: nowrap;
		font-family: "yu-mincho-pr6n", sans-serif;
		box-sizing: border-box;
		padding: 0 10px 0 0;
	}
	.cart-yen .yen-icon{
		margin: 0 2px 0 0;
	}
	.cart-yen .tax{
		font-size: 11px;
		letter-spacing: 0;
		margin: 0 0 0 5px;
		position: relative;
		top: 1px;
	}
    .cart-yen02{
		font-size: 16px;
		letter-spacing: 0px;
        width: max-content;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        white-space: nowrap;
		font-family: "yu-mincho-pr6n", sans-serif;
		box-sizing: border-box;
	}
	.cart-yen02 .yen-icon{
		margin: 0 2px 0 0;
	}
	.cart-yen02 .tax{
		font-size: 10px;
		letter-spacing: 0;
		margin: 0 0 0 5px;
		position: relative;
		top: 1px;
	}
	
	.link-line01{
		width: 100%;
		height: 1px;
		background: #b63f6c;
		margin: 10px 0 10px 0;
		opacity: .5;
	}
	.link-line02{
		width: 100%;
		height: 1px;
		background: #84b250;
		margin: 10px 0 10px 0;
		opacity: .5;
	}
	.link-line03{
		width: 100%;
		height: 1px;
		background: #be9665;
		margin: 10px 0 10px 0;
		opacity: .5;
	}

	.cart-btm .btn00_1 {
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 3px 0 3px 0;
		display: inline-block;
		text-align: center;
		color: #b63f6c;
		position: relative;
	}
	.cart-btm .btn00_1::before {
		background: #b63f6c;
		content: '';
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
		margin: auto;
		transform-origin: right top;
		transform: scale(0, 1);
		transition: transform .3s;
	}
	.cart-btm:hover .btn00_1::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.cart-btm .btn00_2 {
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 3px 0 3px 0;
		display: inline-block;
		text-align: center;
		color: #84b250;
		position: relative;
	}
	.cart-btm .btn00_2::before {
		background: #84b250;
		content: '';
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
		margin: auto;
		transform-origin: right top;
		transform: scale(0, 1);
		transition: transform .3s;
	}
	.cart-btm:hover .btn00_2::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.cart-btm .btn00_3 {
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 3px 0 3px 0;
		display: inline-block;
		text-align: center;
		color: #be9665;
		position: relative;
	}
	.cart-btm .btn00_3::before {
		background: #be9665;
		content: '';
		width: 100%;
		height: 1px;
		position: absolute;
		left: 0;
		bottom: 0;
		margin: auto;
		transform-origin: right top;
		transform: scale(0, 1);
		transition: transform .3s;
	}
	.cart-btm:hover .btn00_3::before {
		transform-origin: left top;
		transform: scale(1, 1);
	}

	.cart-btm .btn01{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #b63f6c;
		border: .5px solid #b63f6c;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn01 {
		background: #fff;
		border-color: #b63f6c;
		color: #b63f6c;
	}

	.cart-btm .btn02{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #84b250;
		border: .5px solid #84b250;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn02 {
		background: #fff;
		border-color: #84b250;
		color: #84b250;
	}

	.cart-btm .btn03{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #be9665;
		border: .5px solid #be9665;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn03 {
		background: #fff;
		border-color: #be9665;
		color: #be9665;
	}

	.cart-btm .btn04{
		font-size: 11px;
		line-height: 1.5em;
		width: 90px;
		padding: 5px 0 5px 0;
		background: #aea094;
		border: .5px solid #aea094;
		display: inline-block;
		text-align: center;
		color: #fff;
		border-radius: 1000px;
	}
	.cart-btm:hover .btn04 {
		background: #fff;
		border-color: #aea094;
		color: #aea094;
	}

	.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);
	}
	.cart-btm02: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;
	}
	.cart-btm02:hover .btn-arrow img {
		opacity: 1;
		right: -1rem;
	}

	/*f-banner*/
	.f-banner{
		width: 80%;
		margin: 15% auto 10% auto;
	}
	.f-banner-m{
		width: 80%;
		margin: 0 auto 15% auto !important;
	}
	.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 #000000;
		transition: .3s;
	}
	.f-banner-list li a:hover{
		border: 1px solid #000000;
		transition: .3s;
	}
	
	/*f-banner02*/
	.f-banner02{
		width: 100%;
		margin: 0 auto 5% auto;
	}
	.f-banner02-list{
		width: 80%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.f-banner02-list li{
		width: 47%;
		margin: 0 0 5% 0 !important;
	}
	.f-banner02-list li a{
		width: 100%;
		display: block;
		border: 1px solid #000000;
		transition: .3s;
	}
	.f-banner02-list li a:hover{
		border: 1px solid #000000;
		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: 0 0 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: 8px;
		letter-spacing: 0.02em;
		margin: 34px 0 0;
		color: #000000;
	}
	#pagetop{
		position: fixed;
        right: 10px;
        bottom: 10px;
        width: 40px;
        height: 40px;
        display: block;
        z-index: 99;
	}
	#pagetop .btn-loading {
		display: inline-flex;
		text-decoration: none;
		font-weight: 700;
		color: #111;
		width: 100%;
		height: 100%;
		position: relative;
		opacity: 1 !important;
		transition: all 0.3s;
		background-color: #CCC;
		border-radius: 100%;
		transition: color 0.2s;
		overflow: hidden;
	}
	#pagetop .btn-loading01:before,
	#pagetop .btn-loading01:after {
		content: "";
		display: block;
		position: absolute;
		width: 50%;
		height: 0;
		background-color: #231815;
		pointer-events: none;
	}
	#pagetop .btn-loading:before {
		bottom: 0;
		left: 0;
	}
	#pagetop .btn-loading:after {
		top: 0;
		right: 0;
	}
	#pagetop:hover .btn-loading {
		color: #65A04D;
	}
	#pagetop:hover .btn-loading:before,
	#pagetop:hover .btn-loading:after {
		height: 100%;
	}
	#pagetop:hover .btn-loading:before {
		transition: height 0.1s 0.1s linear;
	}
	#pagetop:hover .btn-loading:after {
		transition: height 0.1s linear;
	}
	#pagetop .btn-loading span {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: calc(100% - 1px);
		height: calc(100% - 1px);
		background-color: #FFF;
		border-radius: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 99;
	}
	#pagetop .btn-loading span img{
		width: 18px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
	}
	
	.in-btn{
		width: 35px;
		margin: 0 auto 1% auto;
		display: block;
		opacity: 1;
	}

	.foot_fix_btn {
		position: fixed;
		z-index: 99;
		bottom: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 90%;
		-webkit-transition: all 0.5s;
		transition: all 0.5s;
		backdrop-filter: blur(10px);
		-ms-backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
	}
	.foot_fix_btn.js_hide {
		transform: translateY(100%);
	}
	.foot_fix_btn ul {
		width: 100%;
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		text-align: center;
		font-size: 0;
	}
	.foot_fix_btn ul li:nth-child(1) {
		width: 100%;
	}
	.foot_fix_btn ul li a {
		display: block;
	}

}
