@charset "utf-8";
#fullWrap{
	width: 100%;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	overflow: hidden;
	background-color: #000;
	color: #FFF;
}
#fullWrap .footer{
	margin-top: auto;
}
/**----------------------------------------------
** Header
**---------------------------------------------**/
.l-header__logo{
	width: min(calc(448 / var(--vw-min) * 100vw), 448px);
	position: relative;
	z-index: 1;
}
.l-header__logo img{
	width: 100%;
}

@media screen and (max-width:768px){
	.l-header{
		align-items: center;
		justify-content: center;
	}
	.l-header__logo{
		width: calc(360 / var(--vw-min) * 100vw);
	}
}


/**----------------------------------------------
** main
**---------------------------------------------**/
.l-main{
	width: 100%;
	position: relative;
	padding: min(calc(60 / var(--vw-min) * 100vw), 60px) min(calc(80 / var(--vw-min) * 100vw), 80px);
}
.l-mainContent{
	width: 77.193%;/* 880 */
	min-width: min(100%, 880px);
	max-width: 880px;
	margin: 0 auto;
}

@media screen and (max-width:768px){
	.l-main{
		padding: 0 calc(48 / var(--vw-min) * 100vw);
	}
	.l-mainContent{
		width: 100%;
		max-width: 100%;
	}
}


/**
* mainHead
**/
.l-mainHead{
	width: 100%;
	margin-bottom: min(calc(48 / var(--vw-min) * 100vw), 48px);
}
.l-mainHead--text{
	font-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
	font-weight: 700;
	text-align: center;
	line-height: 2;
}
@media screen and (max-width:768px){
	.l-mainHead{
		margin-bottom: calc(48 / var(--vw-min) * 100vw);
	}
	.l-mainHead--text{
		font-size: calc(26 / var(--vw-min) * 100vw);
	}
}




/*-------------------
* main_stage
*------------------*/
.main_stage{
	width: 100%;
	position: relative;
}

.main_stage__base{
	width: 640px;
	/* width: 72.7273%; */
	max-width: 100%;
	margin: 0 auto;
	position: relative;
}
.main_stage__base:after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border: 1px solid #FFF;
	pointer-events: none;
}
.main_stage__base img{
	max-width: 100%;
}
/*-------------------
* select_parts
*------------------*/
.select_parts{
	position: relative;
	width: 100%;
	margin-top: min(calc(12 / var(--vw-min) * 100vw), 12px);
}
@media screen and (max-width:768px){
	.select_parts{
		margin-top: calc(32 / var(--vw-min) * 100vw);
	}
}
/**
* select_parts-list
**/
.select_parts-list{
	width: 100%;
	margin: 0 auto;
}
.select_parts-list ul{
	display: flex;
	margin: 0 auto;
	gap: min(calc(8 / var(--vw-min) * 100vw), 8px);
}
.select_parts-list__item{
	width: calc((100% - (min(calc(8 / var(--vw-min) * 100vw), 8px))) / 2);
	text-align: center;
	padding: min(calc(20 / var(--vw-min) * 100vw), 20px);
	position: relative;
	font-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
	font-weight: 700;
	line-height: 1;
	background-color: #000;
	cursor: pointer;
    pointer-events: all;
}
.select_parts-list__item:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--color-green);
	opacity: 0;
	transition: opacity .3s ease;
}
.select_parts-list__item:after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border: 1px solid #fff;
	transition: opacity .3s ease;
}

.select_parts-list__item--cont{
	display: inline-block;
	position: relative;
	padding: 0 min(calc(24 / var(--vw-min) * 100vw), 24px) 0 min(calc(48 / var(--vw-min) * 100vw), 48px);
	z-index: 1;
}
.select_parts-list__item--cont .-icon{
	display: inline-block;
	width: min(calc(28 / var(--vw-min) * 100vw), 28px);
	height: min(calc(32 / var(--vw-min) * 100vw), 32px);
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto 0;
}
.select_parts-list__item--cont .-icon svg{
	width: 100%;
	height: 100%;
}
.select_parts-list__item--cont .-icon svg path{
	fill: #FFF;
}

@media screen and (max-width:768px){
	.select_parts-list ul{
		width: 100%;
		gap: calc(12 / var(--vw-min) * 100vw);
	}
	.select_parts-list__item{
		width: calc((100% - ((12 / var(--vw-min) * 100vw) * 2)) / 2);
		font-size: calc(24 / var(--vw-min) * 100vw);
		padding: calc(20 / var(--vw-min) * 100vw) calc(8 / var(--vw-min) * 100vw);
	}
	.select_parts-list__item--cont{
		padding: 0 calc(24 / var(--vw-min) * 100vw) 0 calc(48 / var(--vw-min) * 100vw);
	}
	.select_parts-list__item--cont .-icon{
		width: calc(24 / var(--vw-min) * 100vw);
		height: calc(32 / var(--vw-min) * 100vw);
	}
}



/* is_current */
.select_parts-list__item.is_current{
	color: #000;
}
.select_parts-list__item.is_current:before{
	opacity: 1;
}
.select_parts-list__item.is_current:after{
	opacity: 0;
}
.select_parts-list__item.is_current .select_parts-list__item--cont .-icon svg path{
	fill: #000;
}



/**
* select_parts-detail
**/
.select_parts-detail{
	width: 100%;
	margin-top: min(calc(24 / var(--vw-min) * 100vw), 24px);
	min-height:min(calc(162 / var(--vw-min) * 100vw),162px);
}

.select_parts .parts_container{
	display: none;
	opacity: 1;
	transition: all .15s ease-out .17s;
}
.select_parts .parts_container.is-show_item {
	display: block;
	opacity: 1;
}
@media screen and (max-width:768px){
	.select_parts-detail{
		margin-top: calc(32 / var(--vw-min) * 100vw);
		min-height:calc(228 / var(--vw-min) * 100vw);
	}
}


/**------------------------------------------
* Parts - COMMON
------------------------------------------**/
/**
* TEXT COLOR
**/
.select_parts-detail .parts_wrapper.parts_color .parts_list__item {
	width: min(calc(48 / var(--vw-min) * 100vw), 48px);
	height: min(calc(48 / var(--vw-min) * 100vw), 48px);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: 1px solid #fff;
	cursor: pointer;
    pointer-events: all;
}
.select_parts-detail .parts_wrapper.parts_color .parts_list__item:not(:first-child){
	margin-left: min(calc(16 / var(--vw-min) * 100vw), 16px);
}

@media screen and (max-width:768px){
	.select_parts-detail .parts_wrapper.parts_color .parts_list__item {
		width: calc(64 / var(--vw-min) * 100vw);
		height: calc(64 / var(--vw-min) * 100vw);
	}
	.select_parts-detail .parts_wrapper.parts_color .parts_list__item:not(:first-child){
		margin-left: calc(20 / var(--vw-min) * 100vw);
	}
}


/**
* button Area
**/
.bottun_area{
	position: relative;
	width: 100%;
	margin-top: min(calc(64 / var(--vw-min) * 100vw), 64px);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: min(calc(24 / var(--vw-min) * 100vw), 24px);
}
.comBtn.-w100{
	width: 100%;
	text-align: center;
}
.comBtn > a{
	display: block;
	min-width: min(calc(240 / var(--vw-min) * 100vw), 240px);
	line-height: 1;
	padding: min(calc(24 / var(--vw-min) * 100vw), 24px) min(calc(32 / var(--vw-min) * 100vw), 32px);
	text-align: center;
	text-decoration: none;
	font-size: min(calc(20 / var(--vw-min) * 100vw), 20px);
	font-weight: 700;
	background-color: #222;
	border: 1px solid #FFF;
	color: #FFF;
}
.comBtn.-w100 > a{
	display: inline-block;
}
.comBtn.-c_green > a{
	border-color: var(--color-green);
	background-color: var(--color-green);
	color: #000;
}

.comBtn > a > span.icon_txt{
	display: inline-block;
	position: relative;
	padding-left: min(calc(48 / var(--vw-min) * 100vw), 48px);
	padding-right: min(calc(24 / var(--vw-min) * 100vw), 24px);
}
.comBtn > a > span.icon_txt:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	width: min(calc(28 / var(--vw-min) * 100vw), 28px);
	height: min(calc(32 / var(--vw-min) * 100vw), 32px);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	background-color: #fff;
	margin: auto 0;
}

.comBtn.-c_green > a > span.icon_txt:before{
	background-color: #000;
}

.comBtn > a > span.icon_txt.-x:before{
	-webkit-mask-image: url(../../../../assets/img/common/icon_x.svg);
	mask-image: url(../../../../assets/img/common/icon_x.svg);
}
.comBtn > a > span.icon_txt.-dl:before{
	-webkit-mask-image: url(../img/icon_dl.svg);
	mask-image: url(../img/icon_dl.svg);
}


@media screen and (hover:hover) and (pointer: fine){
	.comBtn > a,
	.comBtn > a > span.icon_txt:before{
		transition: background-color .3s ease, color .3s ease;
	}
	.comBtn > a:hover{
		color: #000;
		background-color: #fff;
	}
	.comBtn > a:hover > span.icon_txt:before{
		background-color: #000;
	}
}

@media screen and (max-width:768px){
	.bottun_area{
		margin-top: calc(48 / var(--vw-min) * 100vw);
		flex-direction: column;
		gap: calc(24 / var(--vw-min) * 100vw);
		align-items: center;
	}
	.comBtn > a{
		display: inline-block;
		min-width: calc(360 / var(--vw-min) * 100vw);
		font-size: calc(32 / var(--vw-min) * 100vw);
		padding: calc(24 / var(--vw-min) * 100vw) calc(64 / var(--vw-min) * 100vw);
	}
	.comBtn > a > span.icon_txt{
		padding-left: calc(48 / var(--vw-min) * 100vw);
		padding-right: calc(24 / var(--vw-min) * 100vw);
	}
	.comBtn > a > span.icon_txt:before{
		width: calc(24 / var(--vw-min) * 100vw);
		height: calc(24 / var(--vw-min) * 100vw);
	}
}


/**
* CONTENTS
**/
@media screen and (max-width:768px){
	.btn_confirm.-download > a,
	.btn_confirm.-share > a{
		min-width: min(calc(580 / var(--vw-min) * 100vw), 580px);
	}
}


/*----------
 image
 ---------- */
/* preview */
.image__previewBlock {
	width:100%;
	padding-top:52.5%;
	position: relative;
	margin-bottom:min(calc(40/ var(--vw-min) * 100vw),40px);
	overflow: hidden;
	border: 1px solid #FFF;
}
@media screen and (max-width:768px){
	.image__previewBlock {
		margin-top:calc(32 / var(--vw-min) * 100vw);
	}
}
.image__previewBlockIn{
	position: absolute;
	width:1200px;
	height:630px;
	background-size:cover;
	background-position: center center;
	left:0;
	top:0;
	transform-origin:left top;
}

/*----------
 generate
 ---------- */
.generateWrap {
	overflow: hidden;
	width:0;
	height:0;
}
.generateBlock {
	position: relative;
	width:1200px;
	height:630px;
}

/*image > inputTxt*/
.image__inputTxt{
	width: unset;
	padding-right: 130px;
    font-size:  120px;
	line-height: 160px;
    height: 160px;
    position: absolute;
    letter-spacing: -0.05em;
    left:5%;
    top: 13%;
    color: #000;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-content: flex-start;
    word-break: break-all;
    line-break: anywhere;
    font-feature-settings: "fwid";
	font-family: toppan-bunkyu-midashi-min-st,sans-serif;
	background-repeat: no-repeat;
	background-size: 100px auto;
    background-position: right bottom 25px;
    font-style:italic;
}
body[data-vol="3"] .image__inputTxt{
    top: 21%;
	padding-right: 40px;
}
body[data-vol="4"] .image__inputTxt{
	left: 0%;
	right: 2.8%;
	top: 43%;
	margin: auto;
	font-size: 224px;
	padding-right: 67px;
	justify-content: flex-end;
	line-height: 320px;
	height: 320px;
}
body[data-vol="5"] .image__inputTxt{
	left:0;
	right: 0;
    top: 12%;
	margin: auto;
	padding-right:0;
	justify-content: center;
}

.generateWrap .image__inputTxt{
	top: 14%;
}

.txt-append{
	font-size: 100px;
    line-height: 180px;
	font-style: italic;
	color: #FFF;
}

/*image > itxtImg*/
body[data-vol="1"] .image__txtImg{
	width: 1070px;
    padding-top: 300px;
    background: url(../img/txt.png) no-repeat bottom right / contain;
    position: absolute;
    bottom: 16%;
    right: 5%;
}
body[data-vol="2"] .image__txtImg{
	width: 1080px;
    padding-top: 340px;
    background: url(../img/txt_vol2.png) no-repeat bottom right / contain;
    position: absolute;
    bottom: 10%;
    right: 5%;
}
body[data-vol="3"] .image__txtImg{
	width: 1080px;
    padding-top: 205px;
    background: url(../img/txt_vol3.png) no-repeat bottom right / contain;
    position: absolute;
    bottom: 20%;
    right: 5%;
}
body[data-vol="4"] .image__txtImg{
	width: 1080px;
    padding-top: 166px;
    background: url(../img/txt_vol4.png) no-repeat bottom right / contain;
    position: absolute;
    top: 20%;
    right: 0;
    left: 0;
    margin: auto;
}
body[data-vol="5"] .image__txtImg{
	width: 800px;
    padding-top: 310px;
    background: url(../img/txt_vol5.png) no-repeat bottom right / contain;
    position: absolute;
    bottom: 14%;
    right: 0;
    left: 0;
    margin: auto;
}
/*
.image__bg[data-bg="wh"] .image__txtImg{
	background: url(../img/txt.png) no-repeat bottom right / contain;
}
.image__bg[data-bg="bk"] .image__txtImg{
	background: url(../img/txt.png) no-repeat bottom right / contain;
}
.image__bg[data-bg="red"] .image__txtImg{
	background: url(../img/txt.png) no-repeat bottom right / contain;
}
*/
.image__inputTxt[data-color="red"]{
	color: var(--color-red);
}
.image__inputTxt[data-color="wh"]{
	color: #FFF;
}
.image__inputTxt[data-color="bk"]{
	color: #000;
}

/* colorSelect */
.colorSelect{
	width: 100%;
    background-color: #222;
    padding: min(calc(20 / var(--vw-min) * 100vw), 20px);
	display: flex;
}
.colorItem{
	width: min(calc(48 / var(--vw-min) * 100vw), 48px);
    height: min(calc(48 / var(--vw-min) * 100vw), 48px);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #fff;
    cursor: pointer;
    pointer-events: all;
	margin-right: min(calc(20 / var(--vw-min) * 100vw), 20px);
}
.colorItem input{
	position: relative;
}

.colorItem input[type=radio] {
	display: none; 
}
.colorItem__label{
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
}
.colorItem._red .colorItem__label{
	background-color: #e60012;
}
.colorItem._wh .colorItem__label{
	background-color: rgb(255, 255, 255);
}
.colorItem._bk .colorItem__label{
	background-color: rgb(0, 0, 0);
}

.colorItem .colorItem__label:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: url(../img/icon_check.png) no-repeat center rgba(0, 0, 0, 0.3);
    background-size: min(calc(32 / var(--vw-min) * 100vw), 32px);
    top: 0;
    left: 0;
    opacity: 0;
    -webkit-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out;
	pointer-events: none;
}
.colorItem input[type="radio"]:checked + label.colorItem__label:after{
	opacity: 1;
}

/* input text */
.inputTxtWrap{
	width:100%;
	margin-bottom: min(calc(20 / var(--vw-min) * 100vw),20px);
	position: relative;
}

@media screen and (max-width:768px){
	.inputTxtWrap {
		width:100%;
	}
}
.inputTxt {
    font-size: min(calc(26 / var(--vw-min) * 100vw), 26px);
	font-weight: 700;
    display: block;
    padding: 0.2em 0.5em;
    width: 100%;
    height: min(calc(60 / var(--vw-min) * 100vw), 60px);
}
.input__caution{
	line-height:1;
	right:min(calc(10 / var(--vw-min) * 100vw),10px);
	top:min(calc(10 / var(--vw-min) * 100vw),10px);
	color:#888;
	position:absolute;
}
@media screen and (max-width:768px){
	.input__caution{
		right:calc(16 / var(--vw-min) * 100vw);
		bottom:calc(16 / var(--vw-min) * 100vw);
	}
}
.input__caution.al{
	color:#F00;
	font-weight:700;
}

/*----------
 generaterLists
 ---------- */
.generaterListsBlock{
	position: relative;
	padding-top: min(calc(36 / var(--vw-min) * 100vw),36px);
	margin-bottom:  min(calc(48 / var(--vw-min) * 100vw),48px);
	padding-left: min(calc(40 / var(--vw-min) * 100vw),40px);
	padding-right: min(calc(40 / var(--vw-min) * 100vw),40px);
	border-top: 2px solid var(--color-darkgray);
}

.generaterLists{
	display: flex;
	width: calc(100% - min(calc(80 / var(--vw-min) * 100vw),80px));
	/*flex-wrap: wrap;*/
}
.generaterItem{
	width: min(calc(190 / var(--vw-min) * 100vw),190px);
	border: 1px solid var(--color-green);
	background-color: var(--color-green);
	margin-right: min(calc(10 / var(--vw-min) * 100vw),10px);
}
.generaterItem:last-child{
	margin-right:0;
}
.generaterItem img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 0.4s ease;
}
.generaterItem.is-active img{
	opacity: 0.6;
}
@media screen and (hover:hover) and (pointer: fine){
	.generaterItem:hover img{
		opacity: 0.6;
	}
}
/* controlBlock */
.controlBlock{
	display: flex;
	padding: 0 min(calc(24 / var(--vw-min)* 100vw), 24px) 0;
	align-items: center;
	height: min(calc(44 / var(--vw-min)* 100vw), 44px);
	position: relative;
}
@media screen and (max-width:767px){ 
	.controlBlock{
		padding: 0 calc(24 / var(--vw-min) * 100vw) 0;
		height: calc(80 / var(--vw-min) * 100vw);
		position: relative;
	}
}
/* arrow */
.controlBlock{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	pointer-events: none;
	z-index: 1;
}
.controlBlock .arrowBtn{
    position: absolute;
	pointer-events: all;
    bottom: min(calc(40 / var(--vw-min) * 100vw),40px);
    margin: auto;
    width: min(calc(30 / var(--vw-min) * 100vw), 30px);
    height: min(calc(30 / var(--vw-min) * 100vw), 30px);
    box-sizing: border-box;
    transform: rotate(45deg);
    transition: all .3s ease;
	z-index: 2;
	cursor: pointer;
}
.arrowBtn._next {
	right: min(calc(10 / var(--vw-min) * 100vw), 10px);
    border-top: 1px solid  var(--color-green);
    border-right: 1px solid  var(--color-green);

}
.arrowBtn._prev {
    left: min(calc(10 / var(--vw-min) * 100vw),10px);
    border-bottom:1px solid var(--color-green);
    border-left: 1px solid  var(--color-green);
}
.controlBlock .arrowBtn.swiper-button-disabled{
	opacity: 0.4;
}
@media screen and (max-width:767px){ 
	.controlBlock .arrowBtn{
		bottom:calc(30 / var(--vw-min) * 100vw);
	}
}
@media screen and (hover:hover) and (pointer: fine){
	/* hover */
	.arrowBtn._next:hover {
		right: min(calc(5 / var(--vw-min) * 100vw), 5px);
	}
	.arrowBtn._prev:hover {
		left: min(calc(5 / var(--vw-min) * 100vw), 5px);
	}
}