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;
}
.is-hidden {
	opacity: 0;
    pointer-events: none; /* クリックできないように */
    transition: opacity 0.8s ease-in-out;
}
.item-s-sp{
	line-height: 0;
}
.item-s{
	line-height: 0;
}

/* 
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;

Didot LT Pro Headline
font-family: "linotype-didot-headline", 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: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
    .s-icon::before{
        content: url("../img/s-size.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
	.l-icon02::before{
        content: url("../img/l-size02.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
    .s-icon02::before{
        content: url("../img/s-size02.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
	.l-icon03::before{
        content: url("../img/l-size03.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
    .s-icon03::before{
        content: url("../img/s-size03.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }

	/* header */
	.header{
		width: 100%;
		position: relative;
		overflow: hidden;
		margin: 0 0 7% 0;
	}

	.mv-logo{
		width: 4%;
        position: absolute;
        top: 2%;
        right: 1%;
        line-height: 0;
        z-index: 10;
	}

	.mv-img{
		width: 100%;
		position: relative;
		margin: 0 auto;
	}

	.mv-title-box{
		width: 40%;
        position: absolute;
        left: 10%;
		top: 10%;
        z-index: 10;
	}
	.mv-title01{
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 5% auto;
	}
	.mv-title01 li{
		position: relative;
		line-height: 0;
	}
	.mv-title01 li .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		line-height: 0;
	}
	.mv-title01 li:nth-child(1){
		width: 28%;
	}
	.mv-title01 li:nth-child(2){
		width: 28%;
	}
	.mv-title01 li:nth-child(3){
		width: 38%;
	}
	.mv-title02{
		width: 80%;
		position: relative;
		margin: 0 auto 7% auto;
	}
	.mv-title02 .dotto{
		width: 80%;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: 0;
		left: 46%;
	}
	.mv-title02 .dotto li{
		width: 1.5%;
		line-height: 0;
	}
	.mv-title02 .dotto li:nth-child(1){
		margin: 0 8% 0 0;
	}
	.mv-title02 .dotto li:nth-child(2){
		margin: 0 8% 0 0;
	}
	.mv-title02 .dotto li:nth-child(3){
		margin: 0 8% 0 0;
	}
	.mv-title02 .bg{
		width: 100%;
		height: 30%;
		background: #fff;
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -1;
	}
	.mv-title03{
		width: 100%;
		position: relative;
	}
	.mv-title03 li:nth-child(1){
		width: 100%;
		position: relative;
		line-height: 0;
		overflow: hidden;
		margin: 0 0 7% 0;
	}
	.mv-title03 li:nth-child(2){
		width: 100%;
		position: relative;
		line-height: 0;
		overflow: hidden;
	}

	/* read */
	.read{
		width: 100%;
		margin: 0 auto 7% auto;
	}
	.read .txt{
		width: 100%;
		font-size: 21px;
        letter-spacing: 4px;
        line-height: 3em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		text-align: center;
		margin: 0 auto;
	}

	/* top-item */
	.top-item{
		width: 100%;
		position: relative;
		margin: 0 auto 7% auto;
	}
	.top-item .img{
		width: 50%;
		overflow: hidden;
		margin: 0 auto 0 auto;
	}
	.top-item .icon{
		width: 20%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 2% auto;
	}
	.top-item .icon li{
		width: 20%;
	}
	.point01{
		position: absolute;
        top: 20%;
        left: 8%;
        z-index: 10;
	}
	.point02{
		position: absolute;
        top: 45%;
        left: 12%;
        z-index: 10;
	}
	.point03{
		position: absolute;
        top: 70%;
        left: 8%;
        z-index: 10;
	}
	.point04{
		position: absolute;
        top: 20%;
        right: 8%;
        z-index: 10;
	}
	.point05{
		position: absolute;
        top: 45%;
        right: 8%;
        z-index: 10;
	}
	.point-box{
		width: 250px;
	}
	.point-box .num{
		width: 40%;
		line-height: 0;
		margin: 0 0 5% 0;
	}
	.point-box .txt{
		font-size: 18px;
        letter-spacing: 3px;
        line-height: 1.8em;
		white-space: nowrap;
		margin: 0 0 5% 0;
	}
	.point-box .line-b{
		width: 100%;
		height: 1px;
		background: #000;
	}
	.point-box .line01{
		width: 40%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: -23.5%;
        right: -36.4%;
		transform:rotate(35deg);
	}
	.point-box .line02{
		width: 20%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: 0%;
        right: -20%;
	}
	.point-box .line03{
		width: 40%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: 24%;
        right: -36.4%;
		transform:rotate(-35deg);
	}
	.point-box .line04{
		width: 40%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: -23.5%;
        left: -36.4%;
		transform:rotate(-35deg);
	}
	.point-box .line05{
		width: 30%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: 0%;
        left: -30%;
	}

	/* modal */
	.modal-open {
		overflow: hidden;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.open-modal-btn {
		display: block;
		width: 250px;
		background: #85d8cf;
		cursor: pointer;
		transition: .3s;
		position: absolute;
		top: 75%;
        right: 8%;
	}
	.open-modal-btn::after {
		content: '';
		position: absolute;
		bottom: 0;
		right: 0;
		width: 0;
		height: 0;
		border-left: 0px solid transparent;
		border-bottom: 0px solid #fff;
		transition: all 0.3s ease;
	}
	.open-modal-btn:hover::after {
		border-left: 15px solid transparent;
		border-bottom: 15px solid #fff;
	}

	/* モーダルのスタイル */
	.modal-overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(249, 249, 249, 0.9);
		backdrop-filter: blur(5px);
		z-index: 1000;
		opacity: 0;
		visibility: hidden;
		transition: all 0.3s ease;
		display: flex;
		align-items: stretch;
		justify-content: stretch;
	}
	.modal-overlay.active {
		opacity: 1;
		visibility: visible;
	}
	.modal-content {
		border-radius: 0;
		padding: 2rem;
		width: 100%;
		height: 100%;
		overflow-y: auto;
		position: relative;
		transform: scale(0.95);
		transition: all 0.3s ease;
		box-shadow: none;
		display: flex;
		flex-direction: column;
	}

	.modal-overlay.active .modal-content {
		transform: scale(1);
	}
	.close-btn {
		background: none;
		border: none;
		font-size: 1.5rem;
		cursor: pointer;
		color: #85d8cf;
		padding: 0.5rem;
		transition: all 0.2s ease;
		position: absolute;
		top: 10px;
		right: 10px;
		font-size: 16px;
		letter-spacing: 2px;
	}
	.close-btn:hover {
		opacity: .7;
	}
	.pop-item{
		width: 80%;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin: 0 auto;
		position: absolute;
		top: 40%;
        -webkit-transform: translateY(-40%); /* Safari用 */
        transform: translateY(-40%);
		left: 0;
		right: 0;
	}
	.pop-item li{
		width: 13%;
		margin: 0 0 3% 0;
	}
	.pop-title{
		width: 15%;
		margin: 0 auto;
		position: absolute;
		bottom: 15%;
		left: 0;
		right: 0;
	}

	/* top-nav-list */
	.top-nav{
		width: 80%;
		margin: 0 auto 7% auto;
	}
	.top-nav-list{
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	.top-nav-list li{
		width: 30%;
		position: relative;
	}
	.top-nav-list li a{
		width: 100%;
		display: flex;
		justify-content: space-between;
		padding: 0 0 8% 0;
	}
	.top-nav-list li a .data{
		width: 50%;
		padding: 5% 0 0 5%;
	}
	.top-nav-list li a .data .num{
		width: 50%;
		margin: 0 0 10% 0;
	}
	.top-nav-list li a .data .txt{
		font-size: 20px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		margin: 0 0 10% 0;
	}
	.top-nav-list li a .img{
		width: 45%;
		overflow: hidden;
	}
	.top-nav-list li a .img .in-img{
		width: 100%;
		transform: scale(1);
		transition: .3s;
	}
	.top-nav-list li a:hover .img .in-img{
		width: 100%;
		transform: scale(1.05);
		transition: .3s;
	}
	.top-nav-list li a .bg01{
		width: 80%;
		height: 25%;
		background: rgba(125, 192, 234, .5);
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -1;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg01{
		width: 90%;
		transition: .3s;
	}
	.top-nav-list li a .bg02{
		width: 80%;
		height: 25%;
		background: rgba(255, 167, 88, .5);
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -1;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg02{
		width: 90%;
		transition: .3s;
	}
	.top-nav-list li a .bg03{
		width: 80%;
		height: 25%;
		background: rgba(140, 185, 188, .5);
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -1;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg03{
		width: 90%;
		transition: .3s;
	}

	/* door */
	.door{
		width: 100%;
		margin: 0 auto 5% auto;
		position: relative;
		padding: 3% 0 3% 0;
	}
	.door01{
		background: rgba(125, 192, 234, .7);
	}
	.door02{
		background: rgba(255, 167, 88, .8);
	}
	.door03{
		background: rgba(140, 185, 188, 1);
	}
	.door .num{
		width: 8%;
		position: absolute;
		left: 18%;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		z-index: 10;
	}
	.door .sub-title-box{
		width: max-content;
		position: relative;
		margin: 0 auto;
	}
	.door .sub-title-box .dotto01{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 2%;
	}
	.door .sub-title-box .dotto01 li:nth-child(1){
		width: 8px;
		line-height: 0;
		margin: 0 30px 0 0;
	}
	.door .sub-title-box .dotto01 li{
		width: 8px;
		line-height: 0;
	}
	.door .sub-title-box .dotto01-2{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 30%;
	}
	.door .sub-title-box .dotto01-2 li:nth-child(1){
		width: 8px;
		line-height: 0;
		margin: 0 30px 0 0;
	}
	.door .sub-title-box .dotto01-2 li{
		width: 8px;
		line-height: 0;
	}

	.door .sub-title-box .dotto02{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 48%;
	}
	.door .sub-title-box .dotto02 li:nth-child(1){
		width: 8px;
		line-height: 0;
		margin: 0 30px 0 0;
	}
	.door .sub-title-box .dotto02 li{
		width: 8px;
		line-height: 0;
	}
	.door .sub-title-box .dotto02-2{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 71%;
	}
	.door .sub-title-box .dotto02-2 li:nth-child(1){
		width: 8px;
		line-height: 0;
		margin: 0 30px 0 0;
	}
	.door .sub-title-box .dotto02-2 li:nth-child(2){
		width: 8px;
		line-height: 0;
		margin: 0 30px 0 0;
	}
	.door .sub-title-box .dotto02-2 li{
		width: 8px;
		line-height: 0;
	}

	.door .sub-title-box .dotto03{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 2%;
	}
	.door .sub-title-box .dotto03 li:nth-child(1){
		width: 8px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto03 li:nth-child(2){
		width: 8px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto03 li:nth-child(3){
		width: 8px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto03 li{
		width: 8px;
		line-height: 0;
	}

	.door .sub-title-box .sub-title{
		font-size: 28px;
        letter-spacing: 10px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #fff;
		margin: 0 0 5% 0;
	}
	.door .title{
		font-size: 35px;
        letter-spacing: 10px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		text-align: center;
	}
	.door .title .icon{
		width: 70px;
        display: inline-block;
        line-height: 0;
        margin: 0 20px;
        position: relative;
        top: 25px;
	}


	.rever{
		flex-direction: row-reverse;
	}
	/* item */
	.item{
		width: 70%;
		margin: 0 auto 7% auto;
		display: flex;
		justify-content: space-between;
	}
	.item .img{
		width: 50%;
		overflow: hidden;
	}
	.item .data{
		width: 50%;
		box-sizing: border-box;
		padding: 5% 7% 0 7%;
	}
	.item .data .line01{
		width: 100%;
		height: 1px;
		background: #7dc0ea;
	}
	.item .data .line02{
		width: 100%;
		height: 1px;
		background: #ff9b4c;
	}
	.item .data .sub-title{
		font-size: 22px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		margin: 7% 0 5% 0;
	}
	.item .data .title-box{
		width: 100%;
		position: relative;
		margin: 0 0 5% 0;
	}
	.item .data .title-box .title-un{
		font-size: 33px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #ccc;
		white-space: nowrap;
	}
	.item .data .title-box .title-up{
		font-size: 33px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		position: absolute;
		top: 0;
		left: 0;
	}
	.item .data .title-box .color01{
		color: #3e93c8;
	}
	.item .data .title-box .color02{
		color: #ff9b4c;
	}
	.item .data .txt{
		font-size: 19px;
        letter-spacing: 7px;
        line-height: 2.3em;
		text-align: justify;
		margin: 10% 0 10% 0;
	}

	/* item02 */
	.item02{
		width: 70%;
		margin: 0 auto 7% auto;
		display: flex;
		justify-content: space-between;
	}
	.item02 .img{
		width: 50%;
		overflow: hidden;
		position: relative;
	}
	.item02 .img .main-title{
		writing-mode: vertical-rl;
		text-orientation: upright;
        font-feature-settings: initial;
		font-size: 26px;
        letter-spacing: 2px;
        line-height: 1.8em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
        white-space: nowrap;
		color: #59a3ad;
	}
	.item02 .img .main-title01{
		position: absolute;
		top: 5%;
		right: 4%;
	}
	.item02 .img .main-title02{
		position: absolute;
		top: 5%;
		right: 4%;
	}
	.item02 .data{
		width: 50%;
		box-sizing: border-box;
		padding: 5% 7% 0 7%;
	}
	.item02 .data .num{
		width: 20%;
		background: #000;
		overflow: hidden;
		line-height: 0;
		margin: 0 0 5% 0;
	}
	.item02 .data .title-box{
		width: 100%;
		position: relative;
		margin: 0 0 1% 0;
	}
	.item02 .data .title-box .title-un{
		font-size: 33px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #ccc;
		white-space: nowrap;
	}
	.item02 .data .title-box .title-up{
		font-size: 33px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		position: absolute;
		top: 0;
		left: 0;
		color: #59a3ad;
	}
	.item02 .data .sub-title{
		width: max-content;
		font-size: 19px;
        letter-spacing: 7px;
        line-height: 2.3em;
		margin: 0 0 15% 0;
		position: relative;
		left: 30%;
	}
	.item02 .data .sub-title .icon{
		width: 40px;
		line-height: 0;
		display: inline-block;
		position: relative;
		top: 15px;
		margin: 0 20px 0 0;
	}

	/* item-w */
	.item-w{
		width: 70%;
		margin: 0 auto 7% auto;
	}
	.item-w .img{
		width: 100%;
		overflow: hidden;
		margin: 0 0 3% 0;
		position: relative;
	}
	.item-w .img .data00{
		width: 27%;
		position: absolute;
		top: 10%;
		right: 5%;
	}
	.item-w .img .data00 .line02{
		width: 100%;
		height: 1px;
		background: #fff;
	}
	.item-w .img .data00 .sub-title{
		font-size: 22px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		margin: 7% 0 5% 0;
	}
	.item-w .img .data00 .title-box{
		width: 100%;
		position: relative;
		margin: 0 0 5% 0;
	}
	.item-w .img .data00 .title-box .title-un{
		font-size: 33px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #ccc;
		white-space: nowrap;
	}
	.item-w .img .data00 .title-box .title-up{
		font-size: 33px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		position: absolute;
		top: 0;
		left: 0;
	}
	.item-w .img .data00 .title-box .color02{
		color: #fff;
	}

	.item-w .data{
		width: 75%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.item-w .data .data01{
		width: 40%;
	}
	.item-w .data .data01 .txt{
		font-size: 19px;
        letter-spacing: 7px;
        line-height: 2.3em;
		text-align: justify;
	}
	.item-w .data .data02{
		width: 50%;
	}

	/* wrap */
	.wrap{
		width: 100%;
		position: relative;
	}
	.side{
		width: 3%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.side .side-in{
		width: 100%;
		position: sticky;
		top: 10%;
		left: 0;
		background: #ffa758;
		box-sizing: border-box;
		padding: 30px 20% 30px 0;
		border-radius: 0 20px 20px 0;
	}
	.side .side-in02{
		width: 100%;
		position: sticky;
		top: 10%;
		left: 0;
		background: rgba(125, 192, 234, 1);
		box-sizing: border-box;
		padding: 30px 20% 30px 0;
		border-radius: 0 20px 20px 0;
	}

	/*sid-nav*/
    .side-nav{
		position: fixed;
		display: block;
		width: 100px;
		right: 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;
	}

	/*ls-icon*/
	.toggle {
		display: none;
	}
	.Label {
		display: block;
		box-sizing: border-box;
		font-size: 13px;
		letter-spacing: 1px;
		padding: 0px 0 10px 0;
		font-family: "yu-mincho-pr6n", sans-serif;
	}
	.Label::after,
	.Label::before {
		content: "";
		position: absolute;
		right: 1em;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari逕ｨ */
		transform: translateY(-50%);
		width: 1px;
		height: 16px;
		background-color: #000;
		transition: all 0.3s;
	}
	.Label::after {
		transform: rotate(90deg);
		width: 1px;
		height: 25px;
		top: 5px;
	}
	.Label,
	.content {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: all 0.3s;
	}
	.content {
		height: 0;
		margin-bottom:10px;
		overflow: hidden;
	}
	.toggle:checked + .Label + .content {
		height: auto;
		padding: 2% 0 0 0;
		transition: all .3s;
	}
	.toggle:checked + .Label::after {
		transform: rotate(90deg) translateY(0) !important;
		height: 20px;
		top: 5px;
	}
	.toggle:checked + .Label::before {
		transform: rotate(0deg) translateY(10px)  !important;
		opacity: 0;
	}

	/*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-color{
		color: #fff !important;
	}
	.cart-title{
        width: max-content;
		font-size: 14px;
        letter-spacing: 0px;
        position: absolute;
        line-height: 1.5em;
        white-space: nowrap;
	}
	.cart-title span{
		color: #80a7d6;
		font-size: 16px;
		margin: 0 10px 0 0;
	}
	.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: 10px;
		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-line{
		width: 100%;
		height: .5px;
		background: #a0a0a0;
		margin: 10px 0 10px 0;
		opacity: .5;
	}
	.link-line02{
		width: 100%;
		height: .5px;
		background: #fff;
		margin: 20px 0;
		opacity: .5;
	}

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

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

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

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

	.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{
		border-top: 1px solid #000;
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 5% auto;
		padding: 5% 0 0 0;
	}
	.f-banner02-list{
		width: 100%;
		max-width: 600px;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.f-banner02-list li{
		width: 47%;
	}
	.f-banner02-list li a{
		width: 100%;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.f-banner02-list li a:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	/*footer*/
	.footer {
		color: #000;
		letter-spacing: 0.3em;
		padding: 0 0 2% 0;
		position: relative;
		text-align: center;
	}
	.footer .insta{
		display: block;
		width: 450px;
		border: 1px solid #eee;
		margin: 0 auto 3% auto;
		transition: .3s;
	}
	.footer .insta:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	.footer_sns {
		margin: 26px 0 0;
	}
	.footer_snsNode {
		display: inline-block;
		margin: 0 10px;
		width: 30px;
	}
	.f-ow{
		width: 120px;
		margin: 25px auto 0 auto;
	}
	.footer_copyright {
		font-family: "Helvetica",serif;
		font-size: 10px;
		letter-spacing: 0.02em;
		margin: 34px 0 0;
	}
	#pagetop{
		position: fixed;
		right: 15px;
		bottom: 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: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
    .s-icon::before{
        content: url("../img/s-size.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
	.l-icon02::before{
        content: url("../img/l-size02.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
    .s-icon02::before{
        content: url("../img/s-size02.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
	.l-icon03::before{
        content: url("../img/l-size03.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
    .s-icon03::before{
        content: url("../img/s-size03.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }

	/* header */
	.header{
		width: 100%;
		position: relative;
		overflow: hidden;
		margin: 0 0 7% 0;
	}

	.mv-logo{
		width: 4%;
        position: absolute;
        top: 2%;
        right: 1%;
        line-height: 0;
        z-index: 10;
	}

	.mv-img{
		width: 100%;
		position: relative;
		margin: 0 auto;
	}

	.mv-title-box{
		width: 40%;
        position: absolute;
        left: 10%;
		top: 10%;
        z-index: 10;
	}
	.mv-title01{
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 5% auto;
	}
	.mv-title01 li{
		position: relative;
		line-height: 0;
	}
	.mv-title01 li .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		line-height: 0;
	}
	.mv-title01 li:nth-child(1){
		width: 28%;
	}
	.mv-title01 li:nth-child(2){
		width: 28%;
	}
	.mv-title01 li:nth-child(3){
		width: 38%;
	}
	.mv-title02{
		width: 80%;
		position: relative;
		margin: 0 auto 7% auto;
	}
	.mv-title02 .dotto{
		width: 80%;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: 0;
		left: 46%;
	}
	.mv-title02 .dotto li{
		width: 1.5%;
		line-height: 0;
	}
	.mv-title02 .dotto li:nth-child(1){
		margin: 0 8% 0 0;
	}
	.mv-title02 .dotto li:nth-child(2){
		margin: 0 8% 0 0;
	}
	.mv-title02 .dotto li:nth-child(3){
		margin: 0 8% 0 0;
	}
	.mv-title02 .bg{
		width: 100%;
		height: 30%;
		background: #fff;
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -1;
	}
	.mv-title03{
		width: 100%;
		position: relative;
	}
	.mv-title03 li:nth-child(1){
		width: 100%;
		position: relative;
		line-height: 0;
		overflow: hidden;
		margin: 0 0 7% 0;
	}
	.mv-title03 li:nth-child(2){
		width: 100%;
		position: relative;
		line-height: 0;
		overflow: hidden;
	}










	/* read */
	.read{
		width: 100%;
		margin: 0 auto 7% auto;
	}
	.read .txt{
		width: 100%;
		font-size: 21px;
        letter-spacing: 4px;
        line-height: 3em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		text-align: center;
		margin: 0 auto;
	}

	/* top-item */
	.top-item{
		width: 100%;
		position: relative;
		margin: 0 auto 7% auto;
	}
	.top-item .img{
		width: 50%;
		overflow: hidden;
		margin: 0 auto 0 auto;
	}
	.top-item .icon{
		width: 20%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 2% auto;
	}
	.top-item .icon li{
		width: 20%;
	}
	.point01{
		position: absolute;
        top: 20%;
        left: 8%;
        z-index: 10;
	}
	.point02{
		position: absolute;
        top: 45%;
        left: 12%;
        z-index: 10;
	}
	.point03{
		position: absolute;
        top: 70%;
        left: 8%;
        z-index: 10;
	}
	.point04{
		position: absolute;
        top: 20%;
        right: 8%;
        z-index: 10;
	}
	.point05{
		position: absolute;
        top: 45%;
        right: 8%;
        z-index: 10;
	}
	.point-box{
		width: 250px;
	}
	.point-box .num{
		width: 40%;
		line-height: 0;
		margin: 0 0 5% 0;
	}
	.point-box .txt{
		font-size: 18px;
        letter-spacing: 3px;
        line-height: 1.8em;
		white-space: nowrap;
		margin: 0 0 5% 0;
	}
	.point-box .line-b{
		width: 100%;
		height: 1px;
		background: #000;
	}
	.point-box .line01{
		width: 40%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: -23.5%;
        right: -36.4%;
		transform:rotate(35deg);
	}
	.point-box .line02{
		width: 20%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: 0%;
        right: -20%;
	}
	.point-box .line03{
		width: 40%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: 24%;
        right: -36.4%;
		transform:rotate(-35deg);
	}
	.point-box .line04{
		width: 40%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: -23.5%;
        left: -36.4%;
		transform:rotate(-35deg);
	}
	.point-box .line05{
		width: 30%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: 0%;
        left: -30%;
	}

	/* modal */
	.modal-open {
		overflow: hidden;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.open-modal-btn {
		display: block;
		width: 250px;
		background: #85d8cf;
		cursor: pointer;
		transition: .3s;
		position: absolute;
		top: 75%;
        right: 8%;
	}
	.open-modal-btn::after {
		content: '';
		position: absolute;
		bottom: 0;
		right: 0;
		width: 0;
		height: 0;
		border-left: 0px solid transparent;
		border-bottom: 0px solid #fff;
		transition: all 0.3s ease;
	}
	.open-modal-btn:hover::after {
		border-left: 15px solid transparent;
		border-bottom: 15px solid #fff;
	}

	/* モーダルのスタイル */
	.modal-overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(249, 249, 249, 0.9);
		backdrop-filter: blur(5px);
		z-index: 1000;
		opacity: 0;
		visibility: hidden;
		transition: all 0.3s ease;
		display: flex;
		align-items: stretch;
		justify-content: stretch;
	}
	.modal-overlay.active {
		opacity: 1;
		visibility: visible;
	}
	.modal-content {
		border-radius: 0;
		padding: 2rem;
		width: 100%;
		height: 100%;
		overflow-y: auto;
		position: relative;
		transform: scale(0.95);
		transition: all 0.3s ease;
		box-shadow: none;
		display: flex;
		flex-direction: column;
	}

	.modal-overlay.active .modal-content {
		transform: scale(1);
	}
	.close-btn {
		background: none;
		border: none;
		font-size: 1.5rem;
		cursor: pointer;
		color: #85d8cf;
		padding: 0.5rem;
		transition: all 0.2s ease;
		position: absolute;
		top: 10px;
		right: 10px;
		font-size: 16px;
		letter-spacing: 2px;
	}
	.close-btn:hover {
		opacity: .7;
	}
	.pop-item{
		width: 80%;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin: 0 auto;
		position: absolute;
		top: 40%;
        -webkit-transform: translateY(-40%); /* Safari用 */
        transform: translateY(-40%);
		left: 0;
		right: 0;
	}
	.pop-item li{
		width: 13%;
		margin: 0 0 3% 0;
	}
	.pop-title{
		width: 15%;
		margin: 0 auto;
		position: absolute;
		bottom: 15%;
		left: 0;
		right: 0;
	}

	/* top-nav-list */
	.top-nav{
		width: 80%;
		margin: 0 auto 7% auto;
	}
	.top-nav-list{
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	.top-nav-list li{
		width: 30%;
		position: relative;
	}
	.top-nav-list li a{
		width: 100%;
		display: flex;
		justify-content: space-between;
		padding: 0 0 8% 0;
	}
	.top-nav-list li a .data{
		width: 50%;
		padding: 5% 0 0 5%;
	}
	.top-nav-list li a .data .num{
		width: 50%;
		margin: 0 0 10% 0;
	}
	.top-nav-list li a .data .txt{
		font-size: 20px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		margin: 0 0 10% 0;
	}
	.top-nav-list li a .img{
		width: 45%;
		overflow: hidden;
	}
	.top-nav-list li a .img .in-img{
		width: 100%;
		transform: scale(1);
		transition: .3s;
	}
	.top-nav-list li a:hover .img .in-img{
		width: 100%;
		transform: scale(1.05);
		transition: .3s;
	}
	.top-nav-list li a .bg01{
		width: 80%;
		height: 25%;
		background: rgba(125, 192, 234, .5);
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -1;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg01{
		width: 90%;
		transition: .3s;
	}
	.top-nav-list li a .bg02{
		width: 80%;
		height: 25%;
		background: rgba(255, 167, 88, .5);
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -1;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg02{
		width: 90%;
		transition: .3s;
	}
	.top-nav-list li a .bg03{
		width: 80%;
		height: 25%;
		background: rgba(140, 185, 188, .5);
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -1;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg03{
		width: 90%;
		transition: .3s;
	}

	/* door */
	.door{
		width: 100%;
		margin: 0 auto 5% auto;
		position: relative;
		padding: 3% 0 3% 0;
	}
	.door01{
		background: rgba(125, 192, 234, .7);
	}
	.door02{
		background: rgba(255, 167, 88, .8);
	}
	.door03{
		background: rgba(140, 185, 188, 1);
	}
	.door .num{
		width: 8%;
		position: absolute;
		left: 18%;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		z-index: 10;
	}
	.door .sub-title-box{
		width: max-content;
		position: relative;
		margin: 0 auto;
	}
	.door .sub-title-box .dotto01{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 2%;
	}
	.door .sub-title-box .dotto01 li:nth-child(1){
		width: 8px;
		line-height: 0;
		margin: 0 30px 0 0;
	}
	.door .sub-title-box .dotto01 li{
		width: 8px;
		line-height: 0;
	}
	.door .sub-title-box .dotto01-2{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 30%;
	}
	.door .sub-title-box .dotto01-2 li:nth-child(1){
		width: 8px;
		line-height: 0;
		margin: 0 30px 0 0;
	}
	.door .sub-title-box .dotto01-2 li{
		width: 8px;
		line-height: 0;
	}

	.door .sub-title-box .dotto02{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 48%;
	}
	.door .sub-title-box .dotto02 li:nth-child(1){
		width: 8px;
		line-height: 0;
		margin: 0 30px 0 0;
	}
	.door .sub-title-box .dotto02 li{
		width: 8px;
		line-height: 0;
	}
	.door .sub-title-box .dotto02-2{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 71%;
	}
	.door .sub-title-box .dotto02-2 li:nth-child(1){
		width: 8px;
		line-height: 0;
		margin: 0 30px 0 0;
	}
	.door .sub-title-box .dotto02-2 li:nth-child(2){
		width: 8px;
		line-height: 0;
		margin: 0 30px 0 0;
	}
	.door .sub-title-box .dotto02-2 li{
		width: 8px;
		line-height: 0;
	}

	.door .sub-title-box .dotto03{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 2%;
	}
	.door .sub-title-box .dotto03 li:nth-child(1){
		width: 8px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto03 li:nth-child(2){
		width: 8px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto03 li:nth-child(3){
		width: 8px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto03 li{
		width: 8px;
		line-height: 0;
	}

	.door .sub-title-box .sub-title{
		font-size: 28px;
        letter-spacing: 10px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #fff;
		margin: 0 0 5% 0;
	}
	.door .title{
		font-size: 35px;
        letter-spacing: 10px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		text-align: center;
	}
	.door .title .icon{
		width: 70px;
        display: inline-block;
        line-height: 0;
        margin: 0 20px;
        position: relative;
        top: 25px;
	}


	.rever{
		flex-direction: row-reverse;
	}
	/* item */
	.item{
		width: 70%;
		margin: 0 auto 7% auto;
		display: flex;
		justify-content: space-between;
	}
	.item .img{
		width: 50%;
		overflow: hidden;
	}
	.item .data{
		width: 50%;
		box-sizing: border-box;
		padding: 5% 7% 0 7%;
	}
	.item .data .line01{
		width: 100%;
		height: 1px;
		background: #7dc0ea;
	}
	.item .data .line02{
		width: 100%;
		height: 1px;
		background: #ff9b4c;
	}
	.item .data .sub-title{
		font-size: 22px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		margin: 7% 0 5% 0;
	}
	.item .data .title-box{
		width: 100%;
		position: relative;
		margin: 0 0 5% 0;
	}
	.item .data .title-box .title-un{
		font-size: 33px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #ccc;
		white-space: nowrap;
	}
	.item .data .title-box .title-up{
		font-size: 33px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		position: absolute;
		top: 0;
		left: 0;
	}
	.item .data .title-box .color01{
		color: #3e93c8;
	}
	.item .data .title-box .color02{
		color: #ff9b4c;
	}
	.item .data .txt{
		font-size: 19px;
        letter-spacing: 7px;
        line-height: 2.3em;
		text-align: justify;
		margin: 10% 0 10% 0;
	}

	/* item02 */
	.item02{
		width: 70%;
		margin: 0 auto 7% auto;
		display: flex;
		justify-content: space-between;
	}
	.item02 .img{
		width: 50%;
		overflow: hidden;
		position: relative;
	}
	.item02 .img .main-title{
		writing-mode: vertical-rl;
		text-orientation: upright;
        font-feature-settings: initial;
		font-size: 26px;
        letter-spacing: 2px;
        line-height: 1.8em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
        white-space: nowrap;
		color: #59a3ad;
	}
	.item02 .img .main-title01{
		position: absolute;
		top: 5%;
		right: 4%;
	}
	.item02 .img .main-title02{
		position: absolute;
		top: 5%;
		right: 4%;
	}
	.item02 .data{
		width: 50%;
		box-sizing: border-box;
		padding: 5% 7% 0 7%;
	}
	.item02 .data .num{
		width: 20%;
		background: #000;
		overflow: hidden;
		line-height: 0;
		margin: 0 0 5% 0;
	}
	.item02 .data .title-box{
		width: 100%;
		position: relative;
		margin: 0 0 1% 0;
	}
	.item02 .data .title-box .title-un{
		font-size: 33px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #ccc;
		white-space: nowrap;
	}
	.item02 .data .title-box .title-up{
		font-size: 33px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		position: absolute;
		top: 0;
		left: 0;
		color: #59a3ad;
	}
	.item02 .data .sub-title{
		width: max-content;
		font-size: 19px;
        letter-spacing: 7px;
        line-height: 2.3em;
		margin: 0 0 15% 0;
		position: relative;
		left: 30%;
	}
	.item02 .data .sub-title .icon{
		width: 40px;
		line-height: 0;
		display: inline-block;
		position: relative;
		top: 15px;
		margin: 0 20px 0 0;
	}

	/* item-w */
	.item-w{
		width: 70%;
		margin: 0 auto 7% auto;
	}
	.item-w .img{
		width: 100%;
		overflow: hidden;
		margin: 0 0 3% 0;
		position: relative;
	}
	.item-w .img .data00{
		width: 27%;
		position: absolute;
		top: 10%;
		right: 5%;
	}
	.item-w .img .data00 .line02{
		width: 100%;
		height: 1px;
		background: #fff;
	}
	.item-w .img .data00 .sub-title{
		font-size: 22px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		margin: 7% 0 5% 0;
	}
	.item-w .img .data00 .title-box{
		width: 100%;
		position: relative;
		margin: 0 0 5% 0;
	}
	.item-w .img .data00 .title-box .title-un{
		font-size: 33px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #ccc;
		white-space: nowrap;
	}
	.item-w .img .data00 .title-box .title-up{
		font-size: 33px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		position: absolute;
		top: 0;
		left: 0;
	}
	.item-w .img .data00 .title-box .color02{
		color: #fff;
	}

	.item-w .data{
		width: 75%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.item-w .data .data01{
		width: 40%;
	}
	.item-w .data .data01 .txt{
		font-size: 19px;
        letter-spacing: 7px;
        line-height: 2.3em;
		text-align: justify;
	}
	.item-w .data .data02{
		width: 50%;
	}

	/* wrap */
	.wrap{
		width: 100%;
		position: relative;
	}
	.side{
		width: 3%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.side .side-in{
		width: 100%;
		position: sticky;
		top: 10%;
		left: 0;
		background: #ffa758;
		box-sizing: border-box;
		padding: 30px 20% 30px 0;
		border-radius: 0 20px 20px 0;
	}
	.side .side-in02{
		width: 100%;
		position: sticky;
		top: 10%;
		left: 0;
		background: rgba(125, 192, 234, 1);
		box-sizing: border-box;
		padding: 30px 20% 30px 0;
		border-radius: 0 20px 20px 0;
	}

	/*sid-nav*/
    .side-nav{
		position: fixed;
		display: block;
		width: 100px;
		right: 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;
	}

	/*ls-icon*/
	.toggle {
		display: none;
	}
	.Label {
		display: block;
		box-sizing: border-box;
		font-size: 13px;
		letter-spacing: 1px;
		padding: 0px 0 10px 0;
		font-family: "yu-mincho-pr6n", sans-serif;
	}
	.Label::after,
	.Label::before {
		content: "";
		position: absolute;
		right: 1em;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari逕ｨ */
		transform: translateY(-50%);
		width: 1px;
		height: 16px;
		background-color: #000;
		transition: all 0.3s;
	}
	.Label::after {
		transform: rotate(90deg);
		width: 1px;
		height: 25px;
		top: 5px;
	}
	.Label,
	.content {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: all 0.3s;
	}
	.content {
		height: 0;
		margin-bottom:10px;
		overflow: hidden;
	}
	.toggle:checked + .Label + .content {
		height: auto;
		padding: 2% 0 0 0;
		transition: all .3s;
	}
	.toggle:checked + .Label::after {
		transform: rotate(90deg) translateY(0) !important;
		height: 20px;
		top: 5px;
	}
	.toggle:checked + .Label::before {
		transform: rotate(0deg) translateY(10px)  !important;
		opacity: 0;
	}

	/*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-color{
		color: #fff !important;
	}
	.cart-title{
        width: max-content;
		font-size: 14px;
        letter-spacing: 0px;
        position: absolute;
        line-height: 1.5em;
        white-space: nowrap;
	}
	.cart-title span{
		color: #80a7d6;
		font-size: 16px;
		margin: 0 10px 0 0;
	}
	.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: 10px;
		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-line{
		width: 100%;
		height: .5px;
		background: #a0a0a0;
		margin: 10px 0 10px 0;
		opacity: .5;
	}
	.link-line02{
		width: 100%;
		height: .5px;
		background: #fff;
		margin: 10px 0;
		opacity: .5;
	}

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

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

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

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

	.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{
		border-top: 1px solid #000;
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 5% auto;
		padding: 5% 0 0 0;
	}
	.f-banner02-list{
		width: 100%;
		max-width: 600px;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.f-banner02-list li{
		width: 47%;
	}
	.f-banner02-list li a{
		width: 100%;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.f-banner02-list li a:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	/*footer*/
	.footer {
		color: #000;
		letter-spacing: 0.3em;
		padding: 0 0 2% 0;
		position: relative;
		text-align: center;
	}
	.footer .insta{
		display: block;
		width: 450px;
		border: 1px solid #eee;
		margin: 0 auto 3% auto;
		transition: .3s;
	}
	.footer .insta:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	.footer_sns {
		margin: 26px 0 0;
	}
	.footer_snsNode {
		display: inline-block;
		margin: 0 10px;
		width: 30px;
	}
	.f-ow{
		width: 120px;
		margin: 25px auto 0 auto;
	}
	.footer_copyright {
		font-family: "Helvetica",serif;
		font-size: 10px;
		letter-spacing: 0.02em;
		margin: 34px 0 0;
	}
	#pagetop{
		position: fixed;
		right: 15px;
		bottom: 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: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
    .s-icon::before{
        content: url("../img/s-size.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
	.l-icon02::before{
        content: url("../img/l-size02.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
    .s-icon02::before{
        content: url("../img/s-size02.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
	.l-icon03::before{
        content: url("../img/l-size03.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
    .s-icon03::before{
        content: url("../img/s-size03.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }

	/* header */
	.header{
		width: 100%;
		position: relative;
		overflow: hidden;
		margin: 0 0 7% 0;
	}

	.mv-logo{
		width: 4%;
        position: absolute;
        top: 2%;
        right: 1%;
        line-height: 0;
        z-index: 10;
	}

	.mv-img{
		width: 100%;
		position: relative;
		margin: 0 auto;
	}

	.mv-title-box{
		width: 40%;
        position: absolute;
        left: 10%;
		top: 10%;
        z-index: 10;
	}
	.mv-title01{
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 5% auto;
	}
	.mv-title01 li{
		position: relative;
		line-height: 0;
	}
	.mv-title01 li .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		line-height: 0;
	}
	.mv-title01 li:nth-child(1){
		width: 28%;
	}
	.mv-title01 li:nth-child(2){
		width: 28%;
	}
	.mv-title01 li:nth-child(3){
		width: 38%;
	}
	.mv-title02{
		width: 80%;
		position: relative;
		margin: 0 auto 7% auto;
	}
	.mv-title02 .dotto{
		width: 80%;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: 0;
		left: 46%;
	}
	.mv-title02 .dotto li{
		width: 1.5%;
		line-height: 0;
	}
	.mv-title02 .dotto li:nth-child(1){
		margin: 0 8% 0 0;
	}
	.mv-title02 .dotto li:nth-child(2){
		margin: 0 8% 0 0;
	}
	.mv-title02 .dotto li:nth-child(3){
		margin: 0 8% 0 0;
	}
	.mv-title02 .bg{
		width: 100%;
		height: 30%;
		background: #fff;
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -1;
	}
	.mv-title03{
		width: 100%;
		position: relative;
	}
	.mv-title03 li:nth-child(1){
		width: 100%;
		position: relative;
		line-height: 0;
		overflow: hidden;
		margin: 0 0 7% 0;
	}
	.mv-title03 li:nth-child(2){
		width: 100%;
		position: relative;
		line-height: 0;
		overflow: hidden;
	}

	/* read */
	.read{
		width: 100%;
		margin: 0 auto 7% auto;
	}
	.read .txt{
		width: 100%;
		font-size: 21px;
        letter-spacing: 4px;
        line-height: 3em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		text-align: center;
		margin: 0 auto;
	}

	/* top-item */
	.top-item{
		width: 100%;
		position: relative;
		margin: 0 auto 7% auto;
	}
	.top-item .img{
		width: 50%;
		overflow: hidden;
		margin: 0 auto 0 auto;
	}
	.top-item .icon{
		width: 20%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 2% auto;
	}
	.top-item .icon li{
		width: 20%;
	}
	.point01{
		position: absolute;
        top: 20%;
        left: 8%;
        z-index: 10;
	}
	.point02{
		position: absolute;
        top: 45%;
        left: 12%;
        z-index: 10;
	}
	.point03{
		position: absolute;
        top: 70%;
        left: 8%;
        z-index: 10;
	}
	.point04{
		position: absolute;
        top: 20%;
        right: 8%;
        z-index: 10;
	}
	.point05{
		position: absolute;
        top: 45%;
        right: 8%;
        z-index: 10;
	}
	.point-box{
		width: 180px;
	}
	.point-box .num{
		width: 40%;
		line-height: 0;
		margin: 0 0 5% 0;
	}
	.point-box .txt{
		font-size: 15px;
        letter-spacing: 3px;
        line-height: 1.8em;
		white-space: nowrap;
		margin: 0 0 5% 0;
	}
	.point-box .line-b{
		width: 100%;
		height: 1px;
		background: #000;
	}
	.point-box .line01{
		width: 40%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: -23.5%;
        right: -36.4%;
		transform:rotate(35deg);
	}
	.point-box .line02{
		width: 20%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: 0%;
        right: -20%;
	}
	.point-box .line03{
		width: 40%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: 24%;
        right: -36.4%;
		transform:rotate(-35deg);
	}
	.point-box .line04{
		width: 40%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: -23.5%;
        left: -36.4%;
		transform:rotate(-35deg);
	}
	.point-box .line05{
		width: 30%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: 0%;
        left: -30%;
	}

	/* modal */
	.modal-open {
		overflow: hidden;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.open-modal-btn {
		display: block;
		width: 200px;
		background: #85d8cf;
		cursor: pointer;
		transition: .3s;
		position: absolute;
		top: 75%;
        right: 7%;
	}
	.open-modal-btn::after {
		content: '';
		position: absolute;
		bottom: 0;
		right: 0;
		width: 0;
		height: 0;
		border-left: 0px solid transparent;
		border-bottom: 0px solid #fff;
		transition: all 0.3s ease;
	}
	.open-modal-btn:hover::after {
		border-left: 15px solid transparent;
		border-bottom: 15px solid #fff;
	}

	/* モーダルのスタイル */
	.modal-overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(249, 249, 249, 0.9);
		backdrop-filter: blur(5px);
		z-index: 1000;
		opacity: 0;
		visibility: hidden;
		transition: all 0.3s ease;
		display: flex;
		align-items: stretch;
		justify-content: stretch;
	}
	.modal-overlay.active {
		opacity: 1;
		visibility: visible;
	}
	.modal-content {
		border-radius: 0;
		padding: 2rem;
		width: 100%;
		height: 100%;
		overflow-y: auto;
		position: relative;
		transform: scale(0.95);
		transition: all 0.3s ease;
		box-shadow: none;
		display: flex;
		flex-direction: column;
	}

	.modal-overlay.active .modal-content {
		transform: scale(1);
	}
	.close-btn {
		background: none;
		border: none;
		font-size: 1.5rem;
		cursor: pointer;
		color: #85d8cf;
		padding: 0.5rem;
		transition: all 0.2s ease;
		position: absolute;
		top: 10px;
		right: 10px;
		font-size: 16px;
		letter-spacing: 2px;
	}
	.close-btn:hover {
		opacity: .7;
	}
	.pop-item{
		width: 80%;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin: 0 auto;
		position: absolute;
		top: 40%;
        -webkit-transform: translateY(-40%); /* Safari用 */
        transform: translateY(-40%);
		left: 0;
		right: 0;
	}
	.pop-item li{
		width: 13%;
		margin: 0 0 3% 0;
	}
	.pop-title{
		width: 15%;
		margin: 0 auto;
		position: absolute;
		bottom: 15%;
		left: 0;
		right: 0;
	}

	/* top-nav-list */
	.top-nav{
		width: 80%;
		margin: 0 auto 7% auto;
	}
	.top-nav-list{
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	.top-nav-list li{
		width: 30%;
		position: relative;
	}
	.top-nav-list li a{
		width: 100%;
		display: flex;
		justify-content: space-between;
		padding: 0 0 8% 0;
	}
	.top-nav-list li a .data{
		width: 50%;
		padding: 5% 0 0 5%;
	}
	.top-nav-list li a .data .num{
		width: 40%;
		margin: 0 0 10% 0;
	}
	.top-nav-list li a .data .txt{
		font-size: 15px;
        letter-spacing: 1px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		margin: 0 0 10% 0;
	}
	.top-nav-list li a .img{
		width: 45%;
		overflow: hidden;
	}
	.top-nav-list li a .img .in-img{
		width: 100%;
		transform: scale(1);
		transition: .3s;
	}
	.top-nav-list li a:hover .img .in-img{
		width: 100%;
		transform: scale(1.05);
		transition: .3s;
	}
	.top-nav-list li a .bg01{
		width: 80%;
		height: 25%;
		background: rgba(125, 192, 234, .5);
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -1;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg01{
		width: 90%;
		transition: .3s;
	}
	.top-nav-list li a .bg02{
		width: 80%;
		height: 25%;
		background: rgba(255, 167, 88, .5);
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -1;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg02{
		width: 90%;
		transition: .3s;
	}
	.top-nav-list li a .bg03{
		width: 80%;
		height: 25%;
		background: rgba(140, 185, 188, .5);
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -1;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg03{
		width: 90%;
		transition: .3s;
	}

	/* door */
	.door{
		width: 100%;
		margin: 0 auto 5% auto;
		position: relative;
		padding: 3% 0 3% 0;
	}
	.door01{
		background: rgba(125, 192, 234, .7);
	}
	.door02{
		background: rgba(255, 167, 88, .8);
	}
	.door03{
		background: rgba(140, 185, 188, 1);
	}
	.door .num{
		width: 8%;
		position: absolute;
		left: 15%;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		z-index: 10;
	}
	.door .sub-title-box{
		width: max-content;
		position: relative;
		margin: 0 auto;
	}
	.door .sub-title-box .dotto01{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 2%;
	}
	.door .sub-title-box .dotto01 li:nth-child(1){
		width: 6px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto01 li{
		width: 6px;
		line-height: 0;
	}
	.door .sub-title-box .dotto01-2{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 30%;
	}
	.door .sub-title-box .dotto01-2 li:nth-child(1){
		width: 6px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto01-2 li{
		width: 6px;
		line-height: 0;
	}

	.door .sub-title-box .dotto02{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 48%;
	}
	.door .sub-title-box .dotto02 li:nth-child(1){
		width: 6px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto02 li{
		width: 6px;
		line-height: 0;
	}
	.door .sub-title-box .dotto02-2{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 71%;
	}
	.door .sub-title-box .dotto02-2 li:nth-child(1){
		width: 6px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto02-2 li:nth-child(2){
		width: 6px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto02-2 li{
		width: 6px;
		line-height: 0;
	}

	.door .sub-title-box .dotto03{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 2%;
	}
	.door .sub-title-box .dotto03 li:nth-child(1){
		width: 6px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto03 li:nth-child(2){
		width: 6px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto03 li:nth-child(3){
		width: 6px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto03 li{
		width: 6px;
		line-height: 0;
	}

	.door .sub-title-box .sub-title{
		font-size: 24px;
        letter-spacing: 10px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #fff;
		margin: 0 0 5% 0;
	}
	.door .title{
		font-size: 30px;
        letter-spacing: 10px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		text-align: center;
	}
	.door .title .icon{
		width: 70px;
        display: inline-block;
        line-height: 0;
        margin: 0 20px;
        position: relative;
        top: 25px;
	}


	.rever{
		flex-direction: row-reverse;
	}
	/* item */
	.item{
		width: 80%;
		margin: 0 auto 7% auto;
		display: flex;
		justify-content: space-between;
	}
	.item .img{
		width: 50%;
		overflow: hidden;
	}
	.item .data{
		width: 50%;
		box-sizing: border-box;
		padding: 5% 7% 0 7%;
	}
	.item .data .line01{
		width: 100%;
		height: 1px;
		background: #7dc0ea;
	}
	.item .data .line02{
		width: 100%;
		height: 1px;
		background: #ff9b4c;
	}
	.item .data .sub-title{
		font-size: 20px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		margin: 7% 0 5% 0;
	}
	.item .data .title-box{
		width: 100%;
		position: relative;
		margin: 0 0 5% 0;
	}
	.item .data .title-box .title-un{
		font-size: 27px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #ccc;
		white-space: nowrap;
	}
	.item .data .title-box .title-up{
		font-size: 27px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		position: absolute;
		top: 0;
		left: 0;
	}
	.item .data .title-box .color01{
		color: #3e93c8;
	}
	.item .data .title-box .color02{
		color: #ff9b4c;
	}
	.item .data .txt{
		font-size: 16px;
        letter-spacing: 4px;
        line-height: 2.3em;
		text-align: justify;
		margin: 10% 0 10% 0;
	}

	/* item02 */
	.item02{
		width: 80%;
		margin: 0 auto 7% auto;
		display: flex;
		justify-content: space-between;
	}
	.item02 .img{
		width: 50%;
		overflow: hidden;
		position: relative;
	}
	.item02 .img .main-title{
		writing-mode: vertical-rl;
		text-orientation: upright;
        font-feature-settings: initial;
		font-size: 22px;
        letter-spacing: 2px;
        line-height: 1.8em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
        white-space: nowrap;
		color: #59a3ad;
	}
	.item02 .img .main-title01{
		position: absolute;
		top: 5%;
		right: 4%;
	}
	.item02 .img .main-title02{
		position: absolute;
		top: 5%;
		right: 4%;
	}
	.item02 .data{
		width: 50%;
		box-sizing: border-box;
		padding: 5% 7% 0 7%;
	}
	.item02 .data .num{
		width: 20%;
		background: #000;
		overflow: hidden;
		line-height: 0;
		margin: 0 0 5% 0;
	}
	.item02 .data .title-box{
		width: 100%;
		position: relative;
		margin: 0 0 1% 0;
	}
	.item02 .data .title-box .title-un{
		font-size: 27px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #ccc;
		white-space: nowrap;
	}
	.item02 .data .title-box .title-up{
		font-size: 27px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		position: absolute;
		top: 0;
		left: 0;
		color: #59a3ad;
	}
	.item02 .data .sub-title{
		width: max-content;
		font-size: 16px;
        letter-spacing: 7px;
        line-height: 2.3em;
		margin: 0 0 15% 0;
		position: relative;
		left: 30%;
	}
	.item02 .data .sub-title .icon{
		width: 30px;
		line-height: 0;
		display: inline-block;
		position: relative;
		top: 12px;
		margin: 0 20px 0 0;
	}

	/* item-w */
	.item-w{
		width: 80%;
		margin: 0 auto 7% auto;
	}
	.item-w .img{
		width: 100%;
		overflow: hidden;
		margin: 0 0 3% 0;
		position: relative;
	}
	.item-w .img .data00{
		width: 27%;
		position: absolute;
		top: 10%;
		right: 5%;
	}
	.item-w .img .data00 .line02{
		width: 100%;
		height: 1px;
		background: #fff;
	}
	.item-w .img .data00 .sub-title{
		font-size: 20px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		margin: 7% 0 5% 0;
	}
	.item-w .img .data00 .title-box{
		width: 100%;
		position: relative;
		margin: 0 0 5% 0;
	}
	.item-w .img .data00 .title-box .title-un{
		font-size: 27px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #ccc;
		white-space: nowrap;
	}
	.item-w .img .data00 .title-box .title-up{
		font-size: 27px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		position: absolute;
		top: 0;
		left: 0;
	}
	.item-w .img .data00 .title-box .color02{
		color: #fff;
	}

	.item-w .data{
		width: 75%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.item-w .data .data01{
		width: 40%;
	}
	.item-w .data .data01 .txt{
		font-size: 16px;
        letter-spacing: 4px;
        line-height: 2.3em;
		text-align: justify;
	}
	.item-w .data .data02{
		width: 50%;
	}

	/* wrap */
	.wrap{
		width: 100%;
		position: relative;
	}
	.side{
		width: 3%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.side .side-in{
		width: 100%;
		position: sticky;
		top: 10%;
		left: 0;
		background: #ffa758;
		box-sizing: border-box;
		padding: 30px 20% 30px 0;
		border-radius: 0 20px 20px 0;
	}
	.side .side-in02{
		width: 100%;
		position: sticky;
		top: 10%;
		left: 0;
		background: rgba(125, 192, 234, 1);
		box-sizing: border-box;
		padding: 30px 20% 30px 0;
		border-radius: 0 20px 20px 0;
	}

	/*sid-nav*/
    .side-nav{
		position: fixed;
		display: block;
		width: 80px;
		right: 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;
	}

	/*ls-icon*/
	.toggle {
		display: none;
	}
	.Label {
		display: block;
		box-sizing: border-box;
		font-size: 13px;
		letter-spacing: 1px;
		padding: 0px 0 10px 0;
		font-family: "yu-mincho-pr6n", sans-serif;
	}
	.Label::after,
	.Label::before {
		content: "";
		position: absolute;
		right: 1em;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari逕ｨ */
		transform: translateY(-50%);
		width: 1px;
		height: 16px;
		background-color: #000;
		transition: all 0.3s;
	}
	.Label::after {
		transform: rotate(90deg);
		width: 1px;
		height: 25px;
		top: 5px;
	}
	.Label,
	.content {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: all 0.3s;
	}
	.content {
		height: 0;
		margin-bottom:10px;
		overflow: hidden;
	}
	.toggle:checked + .Label + .content {
		height: auto;
		padding: 2% 0 0 0;
		transition: all .3s;
	}
	.toggle:checked + .Label::after {
		transform: rotate(90deg) translateY(0) !important;
		height: 20px;
		top: 5px;
	}
	.toggle:checked + .Label::before {
		transform: rotate(0deg) translateY(10px)  !important;
		opacity: 0;
	}

	/*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-color{
		color: #fff !important;
	}
	.cart-title{
        width: max-content;
		font-size: 14px;
        letter-spacing: 0px;
        position: absolute;
        line-height: 1.5em;
        white-space: nowrap;
	}
	.cart-title span{
		color: #80a7d6;
		font-size: 16px;
		margin: 0 10px 0 0;
	}
	.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: 10px;
		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-line{
		width: 100%;
		height: .5px;
		background: #a0a0a0;
		margin: 10px 0 10px 0;
		opacity: .5;
	}
	.link-line02{
		width: 100%;
		height: .5px;
		background: #fff;
		margin: 10px 0;
		opacity: .5;
	}

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

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

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

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

	.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{
		border-top: 1px solid #000;
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 5% auto;
		padding: 5% 0 0 0;
	}
	.f-banner02-list{
		width: 100%;
		max-width: 600px;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.f-banner02-list li{
		width: 47%;
	}
	.f-banner02-list li a{
		width: 100%;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.f-banner02-list li a:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	/*footer*/
	.footer {
		color: #000;
		letter-spacing: 0.3em;
		padding: 0 0 2% 0;
		position: relative;
		text-align: center;
	}
	.footer .insta{
		display: block;
		width: 450px;
		border: 1px solid #eee;
		margin: 0 auto 3% auto;
		transition: .3s;
	}
	.footer .insta:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	.footer_sns {
		margin: 26px 0 0;
	}
	.footer_snsNode {
		display: inline-block;
		margin: 0 10px;
		width: 30px;
	}
	.f-ow{
		width: 120px;
		margin: 25px auto 0 auto;
	}
	.footer_copyright {
		font-family: "Helvetica",serif;
		font-size: 10px;
		letter-spacing: 0.02em;
		margin: 34px 0 0;
	}
	#pagetop{
		position: fixed;
		right: 15px;
		bottom: 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: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
    .s-icon::before{
        content: url("../img/s-size.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
	.l-icon02::before{
        content: url("../img/l-size02.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
    .s-icon02::before{
        content: url("../img/s-size02.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
	.l-icon03::before{
        content: url("../img/l-size03.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
    .s-icon03::before{
        content: url("../img/s-size03.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }

	/* header */
	.header{
		width: 100%;
		position: relative;
		overflow: hidden;
		margin: 0 0 7% 0;
	}

	.mv-logo{
		width: 4%;
        position: absolute;
        top: 2%;
        right: 1%;
        line-height: 0;
        z-index: 10;
	}

	.mv-img{
		width: 100%;
		position: relative;
		margin: 0 auto;
	}

	.mv-title-box{
		width: 40%;
        position: absolute;
        left: 10%;
		top: 10%;
        z-index: 10;
	}
	.mv-title01{
		width: 100%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 5% auto;
	}
	.mv-title01 li{
		position: relative;
		line-height: 0;
	}
	.mv-title01 li .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		line-height: 0;
	}
	.mv-title01 li:nth-child(1){
		width: 28%;
	}
	.mv-title01 li:nth-child(2){
		width: 28%;
	}
	.mv-title01 li:nth-child(3){
		width: 38%;
	}
	.mv-title02{
		width: 80%;
		position: relative;
		margin: 0 auto 7% auto;
	}
	.mv-title02 .dotto{
		width: 80%;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: 0;
		left: 46%;
	}
	.mv-title02 .dotto li{
		width: 1.5%;
		line-height: 0;
	}
	.mv-title02 .dotto li:nth-child(1){
		margin: 0 8% 0 0;
	}
	.mv-title02 .dotto li:nth-child(2){
		margin: 0 8% 0 0;
	}
	.mv-title02 .dotto li:nth-child(3){
		margin: 0 8% 0 0;
	}
	.mv-title02 .bg{
		width: 100%;
		height: 30%;
		background: #fff;
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -1;
	}
	.mv-title03{
		width: 100%;
		position: relative;
	}
	.mv-title03 li:nth-child(1){
		width: 100%;
		position: relative;
		line-height: 0;
		overflow: hidden;
		margin: 0 0 7% 0;
	}
	.mv-title03 li:nth-child(2){
		width: 100%;
		position: relative;
		line-height: 0;
		overflow: hidden;
	}

	/* read */
	.read{
		width: 100%;
		margin: 0 auto 7% auto;
	}
	.read .txt{
		width: 100%;
		font-size: 21px;
        letter-spacing: 4px;
        line-height: 3em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		text-align: center;
		margin: 0 auto;
	}

	/* top-item */
	.top-item{
		width: 100%;
		position: relative;
		margin: 0 auto 7% auto;
	}
	.top-item .img{
		width: 50%;
		overflow: hidden;
		margin: 0 auto 0 auto;
	}
	.top-item .icon{
		width: 20%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 2% auto;
	}
	.top-item .icon li{
		width: 20%;
	}
	.point01{
		position: absolute;
        top: 20%;
        left: 3%;
        z-index: 10;
	}
	.point02{
		position: absolute;
        top: 45%;
        left: 7%;
        z-index: 10;
	}
	.point03{
		position: absolute;
        top: 70%;
        left: 3%;
        z-index: 10;
	}
	.point04{
		position: absolute;
        top: 20%;
        right: 3%;
        z-index: 10;
	}
	.point05{
		position: absolute;
        top: 45%;
        right: 3%;
        z-index: 10;
	}
	.point-box{
		width: 180px;
	}
	.point-box .num{
		width: 40%;
		line-height: 0;
		margin: 0 0 5% 0;
	}
	.point-box .txt{
		font-size: 14px;
        letter-spacing: 2px;
        line-height: 1.8em;
		white-space: nowrap;
		margin: 0 0 5% 0;
	}
	.point-box .line-b{
		width: 100%;
		height: 1px;
		background: #000;
	}
	.point-box .line01{
		width: 40%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: -23.5%;
        right: -36.4%;
		transform:rotate(35deg);
	}
	.point-box .line02{
		width: 20%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: 0%;
        right: -20%;
	}
	.point-box .line03{
		width: 40%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: 24%;
        right: -36.4%;
		transform:rotate(-35deg);
	}
	.point-box .line04{
		width: 40%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: -23.5%;
        left: -36.4%;
		transform:rotate(-35deg);
	}
	.point-box .line05{
		width: 30%;
		height: 1px;
		background: #000;
		position: absolute;
		bottom: 0%;
        left: -30%;
	}

	/* modal */
	.modal-open {
		overflow: hidden;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.open-modal-btn {
		display: block;
		width: 190px;
		background: #85d8cf;
		cursor: pointer;
		transition: .3s;
		position: absolute;
		top: 75%;
        right: 3%;
	}
	.open-modal-btn::after {
		content: '';
		position: absolute;
		bottom: 0;
		right: 0;
		width: 0;
		height: 0;
		border-left: 0px solid transparent;
		border-bottom: 0px solid #fff;
		transition: all 0.3s ease;
	}
	.open-modal-btn:hover::after {
		border-left: 15px solid transparent;
		border-bottom: 15px solid #fff;
	}

	/* モーダルのスタイル */
	.modal-overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(249, 249, 249, 0.9);
		backdrop-filter: blur(5px);
		z-index: 1000;
		opacity: 0;
		visibility: hidden;
		transition: all 0.3s ease;
		display: flex;
		align-items: stretch;
		justify-content: stretch;
	}
	.modal-overlay.active {
		opacity: 1;
		visibility: visible;
	}
	.modal-content {
		border-radius: 0;
		padding: 2rem;
		width: 100%;
		height: 100%;
		overflow-y: auto;
		position: relative;
		transform: scale(0.95);
		transition: all 0.3s ease;
		box-shadow: none;
		display: flex;
		flex-direction: column;
	}

	.modal-overlay.active .modal-content {
		transform: scale(1);
	}
	.close-btn {
		background: none;
		border: none;
		font-size: 1.5rem;
		cursor: pointer;
		color: #85d8cf;
		padding: 0.5rem;
		transition: all 0.2s ease;
		position: absolute;
		top: 10px;
		right: 10px;
		font-size: 16px;
		letter-spacing: 2px;
	}
	.close-btn:hover {
		opacity: .7;
	}
	.pop-item{
		width: 80%;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin: 0 auto;
		position: absolute;
		top: 40%;
        -webkit-transform: translateY(-40%); /* Safari用 */
        transform: translateY(-40%);
		left: 0;
		right: 0;
	}
	.pop-item li{
		width: 23%;
		margin: 0 0 3% 0;
	}
	.pop-title{
		width: 25%;
		margin: 0 auto;
		position: absolute;
		bottom: 10%;
		left: 0;
		right: 0;
	}

	/* top-nav-list */
	.top-nav{
		width: 90%;
		margin: 0 auto 7% auto;
	}
	.top-nav-list{
		width: 100%;
		display: flex;
		justify-content: space-between;
	}
	.top-nav-list li{
		width: 30%;
		position: relative;
	}
	.top-nav-list li a{
		width: 100%;
		display: flex;
		justify-content: space-between;
		padding: 0 0 8% 0;
	}
	.top-nav-list li a .data{
		width: 50%;
		padding: 5% 0 0 0%;
	}
	.top-nav-list li a .data .num{
		width: 40%;
		margin: 0 0 10% 0;
	}
	.top-nav-list li a .data .txt{
		font-size: 15px;
        letter-spacing: 1px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		margin: 0 0 10% 0;
	}
	.top-nav-list li a .img{
		width: 45%;
		overflow: hidden;
	}
	.top-nav-list li a .img .in-img{
		width: 100%;
		transform: scale(1);
		transition: .3s;
	}
	.top-nav-list li a:hover .img .in-img{
		width: 100%;
		transform: scale(1.05);
		transition: .3s;
	}
	.top-nav-list li a .bg01{
		width: 80%;
		height: 25%;
		background: rgba(125, 192, 234, .5);
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -1;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg01{
		width: 90%;
		transition: .3s;
	}
	.top-nav-list li a .bg02{
		width: 80%;
		height: 25%;
		background: rgba(255, 167, 88, .5);
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -1;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg02{
		width: 90%;
		transition: .3s;
	}
	.top-nav-list li a .bg03{
		width: 80%;
		height: 25%;
		background: rgba(140, 185, 188, .5);
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: -1;
		transition: .3s;
	}
	.top-nav-list li a:hover .bg03{
		width: 90%;
		transition: .3s;
	}

	/* door */
	.door{
		width: 100%;
		margin: 0 auto 5% auto;
		position: relative;
		padding: 5% 0 5% 0;
	}
	.door01{
		background: rgba(125, 192, 234, .7);
	}
	.door02{
		background: rgba(255, 167, 88, .8);
	}
	.door03{
		background: rgba(140, 185, 188, 1);
	}
	.door .num{
		width: 10%;
		position: absolute;
		left: 3%;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		z-index: 10;
	}
	.door .sub-title-box{
		width: max-content;
		position: relative;
		margin: 0 auto;
	}
	.door .sub-title-box .dotto01{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 2%;
	}
	.door .sub-title-box .dotto01 li:nth-child(1){
		width: 6px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto01 li{
		width: 6px;
		line-height: 0;
	}
	.door .sub-title-box .dotto01-2{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 30%;
	}
	.door .sub-title-box .dotto01-2 li:nth-child(1){
		width: 6px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto01-2 li{
		width: 6px;
		line-height: 0;
	}

	.door .sub-title-box .dotto02{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 48%;
	}
	.door .sub-title-box .dotto02 li:nth-child(1){
		width: 6px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto02 li{
		width: 6px;
		line-height: 0;
	}
	.door .sub-title-box .dotto02-2{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 71%;
	}
	.door .sub-title-box .dotto02-2 li:nth-child(1){
		width: 6px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto02-2 li:nth-child(2){
		width: 6px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto02-2 li{
		width: 6px;
		line-height: 0;
	}

	.door .sub-title-box .dotto03{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 2%;
	}
	.door .sub-title-box .dotto03 li:nth-child(1){
		width: 6px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto03 li:nth-child(2){
		width: 6px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto03 li:nth-child(3){
		width: 6px;
		line-height: 0;
		margin: 0 25px 0 0;
	}
	.door .sub-title-box .dotto03 li{
		width: 6px;
		line-height: 0;
	}

	.door .sub-title-box .sub-title{
		font-size: 24px;
        letter-spacing: 10px;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #fff;
		margin: 0 0 3% 0;
	}
	.door .title{
		font-size: 30px;
        letter-spacing: 10px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		text-align: center;
	}
	.door .title .icon{
		width: 70px;
        display: inline-block;
        line-height: 0;
        margin: 0 20px;
        position: relative;
        top: 25px;
	}


	.rever{
		flex-direction: row-reverse;
	}
	/* item */
	.item{
		width: 100%;
		margin: 0 auto 7% auto;
		display: flex;
		justify-content: space-between;
	}
	.item .img{
		width: 50%;
		overflow: hidden;
	}
	.item .data{
		width: 50%;
		box-sizing: border-box;
		padding: 5% 7% 0 7%;
	}
	.item .data .line01{
		width: 100%;
		height: 1px;
		background: #7dc0ea;
	}
	.item .data .line02{
		width: 100%;
		height: 1px;
		background: #ff9b4c;
	}
	.item .data .sub-title{
		font-size: 17px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		margin: 7% 0 5% 0;
	}
	.item .data .title-box{
		width: 100%;
		position: relative;
		margin: 0 0 5% 0;
	}
	.item .data .title-box .title-un{
		font-size: 27px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #ccc;
		white-space: nowrap;
	}
	.item .data .title-box .title-up{
		font-size: 27px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		position: absolute;
		top: 0;
		left: 0;
	}
	.item .data .title-box .color01{
		color: #3e93c8;
	}
	.item .data .title-box .color02{
		color: #ff9b4c;
	}
	.item .data .txt{
		font-size: 16px;
        letter-spacing: 4px;
        line-height: 2.3em;
		text-align: justify;
		margin: 10% 0 10% 0;
	}

	/* item02 */
	.item02{
		width: 100%;
		margin: 0 auto 7% auto;
		display: flex;
		justify-content: space-between;
	}
	.item02 .img{
		width: 50%;
		overflow: hidden;
		position: relative;
	}
	.item02 .img .main-title{
		writing-mode: vertical-rl;
		text-orientation: upright;
        font-feature-settings: initial;
		font-size: 21px;
        letter-spacing: 2px;
        line-height: 1.8em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
        white-space: nowrap;
		color: #59a3ad;
	}
	.item02 .img .main-title01{
		position: absolute;
		top: 5%;
		right: 4%;
	}
	.item02 .img .main-title02{
		position: absolute;
		top: 5%;
		right: 4%;
	}
	.item02 .data{
		width: 50%;
		box-sizing: border-box;
		padding: 5% 7% 0 7%;
	}
	.item02 .data .num{
		width: 20%;
		background: #000;
		overflow: hidden;
		line-height: 0;
		margin: 0 0 5% 0;
	}
	.item02 .data .title-box{
		width: 100%;
		position: relative;
		margin: 0 0 1% 0;
	}
	.item02 .data .title-box .title-un{
		font-size: 27px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #ccc;
		white-space: nowrap;
	}
	.item02 .data .title-box .title-up{
		font-size: 27px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		position: absolute;
		top: 0;
		left: 0;
		color: #59a3ad;
	}
	.item02 .data .sub-title{
		width: max-content;
		font-size: 16px;
        letter-spacing: 7px;
        line-height: 2.3em;
		margin: 0 0 15% 0;
		position: relative;
		left: 30%;
	}
	.item02 .data .sub-title .icon{
		width: 30px;
		line-height: 0;
		display: inline-block;
		position: relative;
		top: 12px;
		margin: 0 20px 0 0;
	}

	/* item-w */
	.item-w{
		width: 100%;
		margin: 0 auto 7% auto;
	}
	.item-w .img{
		width: 100%;
		overflow: hidden;
		margin: 0 0 3% 0;
		position: relative;
	}
	.item-w .img .data00{
		width: 27%;
		position: absolute;
		top: 10%;
		right: 5%;
	}
	.item-w .img .data00 .line02{
		width: 100%;
		height: 1px;
		background: #fff;
	}
	.item-w .img .data00 .sub-title{
		font-size: 17px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		margin: 7% 0 5% 0;
	}
	.item-w .img .data00 .title-box{
		width: 100%;
		position: relative;
		margin: 0 0 5% 0;
	}
	.item-w .img .data00 .title-box .title-un{
		font-size: 27px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #ccc;
		white-space: nowrap;
	}
	.item-w .img .data00 .title-box .title-up{
		font-size: 27px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		position: absolute;
		top: 0;
		left: 0;
	}
	.item-w .img .data00 .title-box .color02{
		color: #fff;
	}

	.item-w .data{
		width: 85%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.item-w .data .data01{
		width: 40%;
	}
	.item-w .data .data01 .txt{
		font-size: 16px;
        letter-spacing: 4px;
        line-height: 2.3em;
		text-align: justify;
	}
	.item-w .data .data02{
		width: 50%;
	}

	/* wrap */
	.wrap{
		width: 100%;
		position: relative;
	}
	.side{
		width: 3%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.side .side-in{
		width: 100%;
		position: sticky;
		top: 10%;
		left: 0;
		background: #ffa758;
		box-sizing: border-box;
		padding: 30px 20% 30px 0;
		border-radius: 0 20px 20px 0;
		z-index: 10;
	}
	.side .side-in02{
		width: 100%;
		position: sticky;
		top: 10%;
		left: 0;
		background: rgba(125, 192, 234, 1);
		box-sizing: border-box;
		padding: 30px 20% 30px 0;
		border-radius: 0 20px 20px 0;
		z-index: 10;
	}

	/*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;
	}

	/*ls-icon*/
	.toggle {
		display: none;
	}
	.Label {
		display: block;
		box-sizing: border-box;
		font-size: 13px;
		letter-spacing: 1px;
		padding: 0px 0 10px 0;
		font-family: "yu-mincho-pr6n", sans-serif;
	}
	.Label::after,
	.Label::before {
		content: "";
		position: absolute;
		right: 1em;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari逕ｨ */
		transform: translateY(-50%);
		width: 1px;
		height: 16px;
		background-color: #000;
		transition: all 0.3s;
	}
	.Label::after {
		transform: rotate(90deg);
		width: 1px;
		height: 25px;
		top: 5px;
	}
	.Label,
	.content {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: all 0.3s;
	}
	.content {
		height: 0;
		margin-bottom:10px;
		overflow: hidden;
	}
	.toggle:checked + .Label + .content {
		height: auto;
		padding: 2% 0 0 0;
		transition: all .3s;
	}
	.toggle:checked + .Label::after {
		transform: rotate(90deg) translateY(0) !important;
		height: 20px;
		top: 5px;
	}
	.toggle:checked + .Label::before {
		transform: rotate(0deg) translateY(10px)  !important;
		opacity: 0;
	}

	/*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-color{
		color: #fff !important;
	}
	.cart-title{
        width: max-content;
		font-size: 14px;
        letter-spacing: 0px;
        position: absolute;
        line-height: 1.5em;
        white-space: nowrap;
	}
	.cart-title span{
		color: #80a7d6;
		font-size: 16px;
		margin: 0 10px 0 0;
	}
	.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: 10px;
		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-line{
		width: 100%;
		height: .5px;
		background: #a0a0a0;
		margin: 10px 0 10px 0;
		opacity: .5;
	}
	.link-line02{
		width: 100%;
		height: .5px;
		background: #fff;
		margin: 10px 0;
		opacity: .5;
	}

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

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

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

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

	.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{
		border-top: 1px solid #000;
		width: 100%;
		max-width: 1200px;
		margin: 0 auto 5% auto;
		padding: 5% 0 0 0;
	}
	.f-banner02-list{
		width: 100%;
		max-width: 600px;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.f-banner02-list li{
		width: 47%;
	}
	.f-banner02-list li a{
		width: 100%;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.f-banner02-list li a:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	/*footer*/
	.footer {
		color: #000;
		letter-spacing: 0.3em;
		padding: 0 0 2% 0;
		position: relative;
		text-align: center;
	}
	.footer .insta{
		display: block;
		width: 450px;
		border: 1px solid #eee;
		margin: 0 auto 3% auto;
		transition: .3s;
	}
	.footer .insta:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	.footer_sns {
		margin: 26px 0 0;
	}
	.footer_snsNode {
		display: inline-block;
		margin: 0 10px;
		width: 30px;
	}
	.f-ow{
		width: 120px;
		margin: 25px auto 0 auto;
	}
	.footer_copyright {
		font-family: "Helvetica",serif;
		font-size: 10px;
		letter-spacing: 0.02em;
		margin: 34px 0 0;
	}
	#pagetop{
		position: fixed;
		right: 15px;
		bottom: 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: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
    .s-icon::before{
        content: url("../img/s-size.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
	.l-icon02::before{
        content: url("../img/l-size.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
    .s-icon02::before{
        content: url("../img/s-size.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
	.l-icon03::before{
        content: url("../img/l-size.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }
    .s-icon03::before{
        content: url("../img/s-size.svg");
        width: 17px;
        height: 17px;
        display: inline-block;
        background-size: 17px 17px;
        margin: 0 10px 0 0;
        position: relative;
        top: 0px;
		line-height: 0;
    }

	/* header */
	.header{
		width: 100%;
		position: relative;
		overflow: hidden;
		margin: 0 0 7% 0;
	}

	.mv-logo{
		width: 15%;
        position: absolute;
        top: 2%;
        right: 2%;
        line-height: 0;
        z-index: 10;
	}

	.mv-img{
		width: 100%;
		position: relative;
		overflow: hidden;
		margin: 0 auto;
	}

	.mv-title-box{
		width: 100%;
		background: #f9f9f9;
		padding: 5% 0 7% 0;
	}
	.mv-title01{
		width: 90%;
		position: absolute;
		left: 0;
		right: 0;
		bottom: 14%;
		margin: 0 auto;
		z-index: 10;
	}
	.mv-title01 li{
		position: relative;
		line-height: 0;
	}
	.mv-title01 li .on{
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
		line-height: 0;
	}
	.mv-title01 li:nth-child(1){
		width: 37%;
	}
	.mv-title01 li:nth-child(2){
		width: 35%;
		margin: 0 auto;
		position: absolute;
		top: 45%;
		left: -5%;
		right: 0;
	}
	.mv-title01 li:nth-child(3){
		width: 50%;
		position: absolute;
		top: 85%;
		right: 0;
	}
	.mv-title02{
		width: 70%;
		position: relative;
		margin: 0 auto 5% auto;
	}
	.mv-title02 .on{
		width: 100%;
		position: relative;
		z-index: 10;
	}
	.mv-title02 .dotto{
		width: 80%;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: 0;
		left: 46%;
	}
	.mv-title02 .dotto li{
		width: 1.5%;
		line-height: 0;
	}
	.mv-title02 .dotto li:nth-child(1){
		margin: 0 8% 0 0;
	}
	.mv-title02 .dotto li:nth-child(2){
		margin: 0 8% 0 0;
	}
	.mv-title02 .dotto li:nth-child(3){
		margin: 0 8% 0 0;
	}
	.mv-title02 .bg{
		width: 100%;
		height: 30%;
		background: rgba(198, 224, 248, .5);
		position: absolute;
		left: 0;
		bottom: 0;
	}
	.mv-title03{
		width: 80%;
		position: relative;
		margin: 0 auto;
	}
	.mv-title03 li:nth-child(1){
		width: 100%;
		position: relative;
		line-height: 0;
		overflow: hidden;
		margin: 0 0 6% 0;
	}
	.mv-title03 li:nth-child(2){
		width: 100%;
		position: relative;
		line-height: 0;
		overflow: hidden;
	}

	/* read */
	.read{
		width: 100%;
		margin: 0 auto 10% auto;
	}
	.read .txt{
		width: 100%;
        font-size: 16px;
        letter-spacing: 3px;
        line-height: 2.5em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
        text-align: center;
        margin: 0 auto;
	}

	/* top-item */
	.top-item{
		width: 100%;
		position: relative;
		padding: 10% 0 10% 0;
		margin: 0 auto 15% auto;
	}
	.top-item .img{
		width: 100%;
		overflow: hidden;
		margin: 0 auto 7% auto;
	}
	.top-item .icon{
		width: 75%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto 7% auto;
	}
	.top-item .icon li{
		width: 20%;
	}
	
	.point-box{
		width: 85%;
		margin: 0 auto 7% auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.point-box .num{
		width: 25%;
		line-height: 0;
	}
	.point-box .txt{
		width: 70%;
		font-size: 14px;
        letter-spacing: 3px;
        line-height: 1.8em;
        text-align: justify;
	}
	.point-box .txt br{
		display: none;
	}
	.point-box .line-b{
		display: none;
	}
	.point-box .line01{
		display: none;
	}
	.point-box .line02{
		display: none;
	}
	.point-box .line03{
		display: none;
	}
	.point-box .line04{
		display: none;
	}
	.point-box .line05{
		display: none;
	}

	/* modal */
	.modal-open {
		overflow: hidden;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.open-modal-btn {
		display: block;
		width: 85%;
		margin: 0 auto;
		background: #85d8cf;
		cursor: pointer;
		transition: .3s;
	}
	.open-modal-btn::after {
		content: '';
		position: absolute;
		bottom: 0;
		right: 0;
		width: 0;
		height: 0;
		border-left: 0px solid transparent;
		border-bottom: 0px solid #fff;
		transition: all 0.3s ease;
	}
	.open-modal-btn:hover::after {
		border-left: 15px solid transparent;
		border-bottom: 15px solid #fff;
	}

	/* モーダルのスタイル */
	.modal-overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(249, 249, 249, 0.9);
		backdrop-filter: blur(5px);
		z-index: 1000;
		opacity: 0;
		visibility: hidden;
		transition: all 0.3s ease;
		display: flex;
		align-items: stretch;
		justify-content: stretch;
	}
	.modal-overlay.active {
		opacity: 1;
		visibility: visible;
	}
	.modal-content {
		border-radius: 0;
		padding: 2rem;
		width: 100%;
		height: 100%;
		overflow-y: auto;
		position: relative;
		transform: scale(0.95);
		transition: all 0.3s ease;
		box-shadow: none;
		display: flex;
		flex-direction: column;
	}

	.modal-overlay.active .modal-content {
		transform: scale(1);
	}
	.close-btn {
		background: none;
		border: none;
		font-size: 1.5rem;
		cursor: pointer;
		color: #85d8cf;
		padding: 0.5rem;
		transition: all 0.2s ease;
		position: absolute;
		top: 10px;
		right: 10px;
		font-size: 16px;
		letter-spacing: 2px;
	}
	.close-btn:hover {
		opacity: .7;
	}
	.pop-item{
		width: 90%;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin: 0 auto;
		position: absolute;
		top: 40%;
        -webkit-transform: translateY(-40%); /* Safari用 */
        transform: translateY(-40%);
		left: 0;
		right: 0;
	}
	.pop-item li{
		width: 23%;
		margin: 0 0 3% 0;
	}
	.pop-title{
		display: none;
	}

	/* top-nav-list */
	.top-nav{
		width: 100%;
		margin: 0 auto 10% auto;
	}
	.top-nav-list{
		width: 100%;
	}
	.top-nav-list li{
		width: 100%;
		position: relative;
	}
	.top-nav-list li:nth-child(1){
		width: 100%;
		position: relative;
		margin: 0 0 5% 0;
	}
	.top-nav-list li:nth-child(2){
		width: 100%;
		position: relative;
		margin: 0 0 5% 0;
	}
	.top-nav-list li a{
		width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		padding: 0 0 5% 0;
	}
	.top-nav-list li a .data{
		width: 50%;
		padding: 5% 0 0 7%;
	}
	.top-nav-list li a .data .num{
		width: 50%;
		margin: 0 0 10% 0;
	}
	.top-nav-list li a .data .txt{
		font-size: 18px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		margin: 0 0 10% 0;
	}
	.top-nav-list li a .img{
		width: 37%;
		overflow: hidden;
	}
	.top-nav-list li a .img .in-img{
		width: 100%;
		transform: scale(1);
		transition: .3s;
	}
	.top-nav-list li a:hover .img .in-img{
		width: 100%;
		transform: scale(1.05);
		transition: .3s;
	}
	.top-nav-list li a .bg01{
		width: 30%;
        height: 85%;
		background: rgba(125, 192, 234, .5);
		position: absolute;
		right: 0;
		bottom: 0;
		z-index: -1;
		transition: .3s;
	}
	.top-nav-list li a .bg02{
		width: 30%;
        height: 85%;
		background: rgba(255, 167, 88, .5);
		position: absolute;
		right: 0;
		bottom: 0;
		z-index: -1;
		transition: .3s;
	}
	.top-nav-list li a .bg03{
		width: 30%;
        height: 85%;
		background: rgba(140, 185, 188, .5);
		position: absolute;
		right: 0;
		bottom: 0;
		z-index: -1;
		transition: .3s;
	}

	/* door */
	.door{
		width: 100%;
		margin: 0 auto 8% auto;
		position: relative;
		padding: 5% 0 7% 0;
	}
	.door01-sp{
		width: 100%;
		height: 80%;
		position: absolute;
		bottom: 0;
		left: 0;
		background: rgba(125, 192, 234, .7);
		z-index: -1;
	}
	.door02-sp{
		width: 100%;
		height: 80%;
		position: absolute;
		bottom: 0;
		left: 0;
		background: rgba(255, 167, 88, .8);
		z-index: -1;
	}
	.door03-sp{
		width: 100%;
		height: 80%;
		position: absolute;
		bottom: 0;
		left: 0;
		background: rgba(140, 185, 188, 1);
		z-index: -1;
	}
	.door .num{
		width: 30%;
		margin: 0 auto 6% auto;
		z-index: 10;
	}
	.door .sub-title-box{
		width: max-content;
		position: relative;
		margin: 0 auto;
	}
	.door .sub-title-box .dotto01{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 2%;
	}
	.door .sub-title-box .dotto01 li:nth-child(1){
		width: 4px;
		line-height: 0;
		margin: 0 20px 0 0;
	}
	.door .sub-title-box .dotto01 li{
		width: 4px;
		line-height: 0;
	}
	.door .sub-title-box .dotto01-2{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 30%;
	}
	.door .sub-title-box .dotto01-2 li:nth-child(1){
		width: 4px;
		line-height: 0;
		margin: 0 20px 0 0;
	}
	.door .sub-title-box .dotto01-2 li{
		width: 4px;
		line-height: 0;
	}

	.door .sub-title-box .dotto02{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 48%;
	}
	.door .sub-title-box .dotto02 li:nth-child(1){
		width: 4px;
		line-height: 0;
		margin: 0 20px 0 0;
	}
	.door .sub-title-box .dotto02 li{
		width: 4px;
		line-height: 0;
	}
	.door .sub-title-box .dotto02-2{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 71%;
	}
	.door .sub-title-box .dotto02-2 li:nth-child(1){
		width: 4px;
		line-height: 0;
		margin: 0 20px 0 0;
	}
	.door .sub-title-box .dotto02-2 li:nth-child(2){
		width: 4px;
		line-height: 0;
		margin: 0 20px 0 0;
	}
	.door .sub-title-box .dotto02-2 li{
		width: 4px;
		line-height: 0;
	}

	.door .sub-title-box .dotto03{
		width: max-content;
		display: flex;
		justify-content: flex-start;
		position: absolute;
		top: -5px;
		left: 2%;
	}
	.door .sub-title-box .dotto03 li:nth-child(1){
		width: 4px;
		line-height: 0;
		margin: 0 16px 0 0;
	}
	.door .sub-title-box .dotto03 li:nth-child(2){
		width: 4px;
		line-height: 0;
		margin: 0 15px 0 0;
	}
	.door .sub-title-box .dotto03 li:nth-child(3){
		width: 4px;
		line-height: 0;
		margin: 0 15px 0 0;
	}
	.door .sub-title-box .dotto03 li{
		width: 4px;
		line-height: 0;
	}

	.door .sub-title-box .sub-title{
		font-size: 18px;
        letter-spacing: 5px;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #fff;
		margin: 0 0 3% 0;
	}
	.door .title{
		font-size: 21px;
        letter-spacing: 2px;
        line-height: 1.5em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		text-align: center;
	}
	.door .title .icon{
		width: 30px;
        display: inline-block;
        line-height: 0;
        margin: 0 10px;
        position: relative;
        top: 10px;
	}


	.rever{
		flex-direction: row-reverse;
	}
	/* item */
	.item{
		width: 100%;
		margin: 0 auto 15% auto;
	}
	.item .img{
		width: 100%;
		overflow: hidden;
		margin: 0 0 7% 0;
	}
	.item .data{
		width: 85%;
		margin: 0 auto;
	}
	.item .data .line01{
		width: 100%;
		height: 1px;
		background: #7dc0ea;
	}
	.item .data .line02{
		width: 100%;
		height: 1px;
		background: #ff9b4c;
	}
	.item .data .sub-title{
		font-size: 16px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		margin: 5% 0 3% 0;
	}
	.item .data .title-box{
		width: 100%;
		position: relative;
		margin: 0 0 3% 0;
	}
	.item .data .title-box .title-un{
		font-size: 23px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #ccc;
		white-space: nowrap;
	}
	.item .data .title-box .title-up{
		font-size: 23px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		position: absolute;
		top: 0;
		left: 0;
	}
	.item .data .title-box .color01{
		color: #3e93c8;
	}
	.item .data .title-box .color02{
		color: #ff9b4c;
	}
	.item .data .txt{
		font-size: 14px;
        letter-spacing: 3px;
        line-height: 2.3em;
		text-align: justify;
		margin: 5% 0 7% 0;
	}

	/* item02 */
	.item02{
		width: 100%;
		margin: 0 auto 15% auto;
	}
	.item02 .img{
		width: 100%;
		overflow: hidden;
		position: relative;
		margin: 0 0 7% 0;
	}
	.item02 .img .main-title{
		writing-mode: vertical-rl;
		text-orientation: upright;
        font-feature-settings: initial;
		font-size: 17px;
        letter-spacing: 2px;
        line-height: 1.8em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
        white-space: nowrap;
		color: #59a3ad;
	}
	.item02 .img .main-title01{
		position: absolute;
		width: 70px;
		top: 5%;
		right: 4%;
	}
	.item02 .img .main-title02{
		position: absolute;
		width: 105px;
		top: 5%;
		right: 4%;
	}
	.item02 .data{
		width: 85%;
		position: relative;
		margin: 0 auto;
	}
	.item02 .data .num{
		width: 20%;
		background: #000;
		overflow: hidden;
		line-height: 0;
		position: absolute;
		top: 1.5%;
		left: 0;
	}
	.item02 .data .title-box{
		width: max-content;
		position: relative;
		margin: 0 0 1% 0;
		left: 25%;
	}
	.item02 .data .title-box .title-un{
		font-size: 23px;
        letter-spacing: 2px;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #ccc;
		white-space: nowrap;
	}
	.item02 .data .title-box .title-up{
		font-size: 23px;
        letter-spacing: 2px;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		position: absolute;
		top: 0;
		left: 0;
		color: #59a3ad;
	}
	.item02 .data .sub-title{
		width: max-content;
		font-size: 16px;
        letter-spacing: 3px;
        line-height: 2.3em;
		margin: 0 0 7% 0;
		position: relative;
		left: 40%;
	}
	.item02 .data .sub-title .icon{
		width: 30px;
		line-height: 0;
		display: inline-block;
		position: relative;
		top: 12px;
		margin: 0 15px 0 0;
	}

	/* item-w */
	.item-w{
		width: 100%;
		margin: 0 auto 15% auto;
	}
	.item-w .img{
		width: 100%;
		overflow: hidden;
		margin: 0 0 0% 0;
		position: relative;
	}
	.item-w .img .data00{
		width: 85%;
		margin: 7% auto 0 auto;
	}
	.item-w .img .data00 .line02{
		width: 100%;
		height: 1px;
		background: #ff9b4c;
	}
	.item-w .img .data00 .sub-title{
		font-size: 16px;
        letter-spacing: 2px;
        line-height: 1.8em;
        font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
        margin: 5% 0 3% 0;
	}
	.item-w .img .data00 .title-box{
		width: 100%;
		position: relative;
		margin: 0 0 3% 0;
	}
	.item-w .img .data00 .title-box .title-un{
		font-size: 23px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		color: #ccc;
		white-space: nowrap;
	}
	.item-w .img .data00 .title-box .title-up{
		font-size: 23px;
        letter-spacing: 2px;
        line-height: 1.8em;
		font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
		white-space: nowrap;
		position: absolute;
		top: 0;
		left: 0;
	}
	.item-w .img .data00 .title-box .color02{
		color: #ff9b4c;
	}

	.item-w .data{
		width: 85%;
		margin: 0 auto;
	}
	.item-w .data .data01{
		width: 100%;
	}
	.item-w .data .data01 .txt{
		font-size: 14px;
        letter-spacing: 3px;
        line-height: 2.3em;
        text-align: justify;
        margin: 5% 0 7% 0;
	}
	.item-w .data .data02{
		width: 100%;
	}

	/* wrap */
	.wrap{
		width: 100%;
		position: relative;
	}
	.side{
		width: 6%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.side .side-in{
		width: 100%;
		position: sticky;
		top: 10%;
		left: 0;
		background: #ffa758;
		box-sizing: border-box;
		padding: 10px 10% 10px 0;
		border-radius: 0 10px 10px 0;
		z-index: 10;
	}
	.side .side-in02{
		width: 100%;
		position: sticky;
		top: 10%;
		left: 0;
		background: rgba(125, 192, 234, 1);
		box-sizing: border-box;
		padding: 10px 10% 10px 0;
		border-radius: 0 10px 10px 0;
		z-index: 10;
	}

	/*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;
	}

	/*ls-icon*/
	.toggle {
		display: none;
	}
	.Label {
		display: block;
		box-sizing: border-box;
		font-size: 13px;
		letter-spacing: 1px;
		padding: 0px 0 10px 0;
		font-family: "yu-mincho-pr6n", sans-serif;
	}
	.Label::after,
	.Label::before {
		content: "";
		position: absolute;
		right: 1em;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari逕ｨ */
		transform: translateY(-50%);
		width: 1px;
		height: 16px;
		background-color: #000;
		transition: all 0.3s;
	}
	.Label::after {
		transform: rotate(90deg);
		width: 1px;
		height: 25px;
		top: 5px;
	}
	.Label,
	.content {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: all 0.3s;
	}
	.content {
		height: 0;
		margin-bottom:10px;
		overflow: hidden;
	}
	.toggle:checked + .Label + .content {
		height: auto;
		padding: 2% 0 0 0;
		transition: all .3s;
	}
	.toggle:checked + .Label::after {
		transform: rotate(90deg) translateY(0) !important;
		height: 20px;
		top: 5px;
	}
	.toggle:checked + .Label::before {
		transform: rotate(0deg) translateY(10px)  !important;
		opacity: 0;
	}

	/*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-color{
		color: #fff !important;
	}
	.cart-title{
        width: max-content;
		font-size: 14px;
        letter-spacing: 0px;
        position: absolute;
        line-height: 1.5em;
        white-space: nowrap;
	}
	.cart-title span{
		color: #80a7d6;
		font-size: 16px;
		margin: 0 10px 0 0;
	}
	.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: 10px;
		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-line{
		width: 100%;
		height: .5px;
		background: #a0a0a0;
		margin: 10px 0 10px 0;
		opacity: .5;
	}
	.link-line02{
		width: 100%;
		height: .5px;
		background: #fff;
		margin: 5px 0;
		opacity: .5;
	}

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

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

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

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

	.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: 0 auto 7% 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 #000;
		transition: .3s;
	}
	.f-banner-list li a:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	/*f-banner02*/
	.f-banner02{
		border-top: 1px solid rgba(0, 0, 0, .5);
		width: 100%;
		margin: 0 auto 10% auto;
		padding: 7% 0 0 0;
	}
	.f-banner02-list{
		width: 80%;
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}
	.f-banner02-list li{
		width: 47%;
	}
	.f-banner02-list li a{
		width: 100%;
		display: block;
		border: 1px solid #000;
		transition: .3s;
	}
	.f-banner02-list li a:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	
	/*footer*/
	.footer {
		color: #000;
		letter-spacing: 0.3em;
		padding: 0 0 20% 0;
		position: relative;
		text-align: center;
	}
	.footer .insta{
		display: block;
		width: 450px;
		border: 1px solid #eee;
		margin: 0 auto 3% auto;
		transition: .3s;
	}
	.footer .insta:hover{
		border: 1px solid #000;
		transition: .3s;
	}
	.footer_sns {
		margin: 26px 0 0;
	}
	.footer_snsNode {
		display: inline-block;
		margin: 0 10px;
		width: 30px;
	}
	.f-ow{
		width: 120px;
		margin: 25px auto 0 auto;
	}
	.footer_copyright {
		font-family: "Helvetica",serif;
		font-size: 8px;
		letter-spacing: 0.02em;
		margin: 34px 0 0;
	}
	#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;
		width: 100%;
		-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: 33.33%;
		background: rgba(255, 255, 255, .8);
		box-sizing: border-box;
		border-right: 1px solid #eee;
	}
	.foot_fix_btn ul li:nth-child(2) {
		width: 33.33%;
		background: rgba(255, 255, 255, .8);
		box-sizing: border-box;
		border-right: 1px solid #eee;
	}
	.foot_fix_btn ul li:nth-child(3) {
		width: 33.33%;
		background: rgba(255, 255, 255, .8);
		box-sizing: border-box;
		border-right: 1px solid #eee;
	}
	.foot_fix_btn ul li a {
		display: block;
	}


}
