@charset "utf-8";

/*-------------------------------------
	page
-------------------------------------*/

/* base */
footer { padding: 2rem;}

#composeArea header { display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between;}
#composeArea header h1 { margin: 0; width: auto; font-size: 1.6rem;}
#composeArea nav { width: auto;}

/* common */
.ctrlBtn:nth-last-of-type(3) { right: 13rem;}

/* compose */
#compose #composeArea { text-align: center;}

#composer .composingArrow { bottom: auto; padding: 1rem; width: clamp(5rem, 7vw, 8rem); height: auto; aspect-ratio: 1 / 1; cursor: pointer; transition: .3s;}
#composer .composingArrow.right { right: 2%;}
#composer .composingArrow.left { left: 2%;}
#composer .composingArrow img { display: block; width: 100%; height: auto;}


#compose h2.line,
#compose h3.line { margin: 0; padding: 0 0 0.8rem; border-bottom: 1px solid #333; cursor: pointer; transition: all ease 0.3s;}
#compose h3.line { margin: 2rem 0 1rem; font-size: 1.8rem;}

#composedItems h2.line { display: flex; align-items: center; flex-wrap: wrap; padding: 0;}
#composedItems h2 .btns { display: flex; align-items: center; justify-content: end; margin: 0 0 0 auto;}
#composedItems h2 .btn { margin: 1rem 0 1rem 2rem; font-size: min(1.6rem, 3vw); min-width: 0;}
#composedItems h2 .btn img { margin: -0.3rem 0.5rem 0 0; width: min(3rem, 6vw); vertical-align: middle;}
#composedItems .kome { margin: 1rem 0 0; text-align: right;}

.composeFilter { position: relative;}
.composeFilter .acd.btn { position: absolute; top: -4.2rem; right: 0;}
.composeFilter .acd.btn.open .plus::after { opacity: 0;}
.composeFilter .acd-content { padding: 0 1.5rem 1rem;}
.composeFilter .composeFilterFlex { padding: 2rem 0 0;}
.composeFilter .composeFilterFlex div:first-child h3 { margin-top: 0;}
.composeFilter h3 { font-size: 1.8rem;}
.composeFilter .price input { margin: 0 1rem; width: calc(50% - 3.8rem); max-width: 20rem;}
.composeFilter .center { margin: 2rem 0 0;}
.composeFilter .center .btn ~ .btn { margin-left: 2rem; min-width: min(22rem, 50%);}
.composeFilter .center .btn.gray { min-width: 0;}

#composeProposed h2 { padding: 0 0 0.8rem;}
#composeProposed .fitImg { cursor: pointer;}
#composeProposed .fitImg img { transition: .3s;}
#composeProposed .fitImg:hover img { opacity: .6;}
#composeProposed .fitImg:has(.ctrlBtn:hover):hover img { opacity: 1;}

.pager { margin: 2rem 0; border-bottom: none;}

.pager.noHit { color: #FF0054; background: #fff6f7; border: 1px solid #FF0054;}

.composeFilter select { width: 100%;}
.composeFilter .btnFlex { display: flex; flex-wrap: wrap; gap: 1rem;}
.composeFilter .btnFlex a {
	display: block;
	padding: 0.6rem 1.5rem;
	width: calc(50% - 1rem/2);
	color: #013161 !important;
	font-size: 1.6rem;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	border: 1px solid #013161;
	border-radius: 4rem;
	cursor: pointer;
}
.composeFilter .btnFlex a.selected { color: #FFF !important; background: #013161;}

#colorSearch { display: flex; flex-wrap: wrap; gap: 2rem; margin: 1rem 0; padding: 0 0.5rem;}
#composeItems #colorSearch li { margin: 0; width: calc(16.66% - 1.666rem); max-width: 7rem;}
#colorSearch .btn { padding: 0; min-width: 0; aspect-ratio: 1;}
#colorSearch a { display: block; width: 100%; height: 100%; min-width: 0; box-shadow: 0 0 0 0.7rem #FFF inset, 0 0.2rem 0.7rem rgba(1, 49, 97, 0.2); aspect-ratio: 1;}


#colorSearch a.btn.btnCred { background: red;}
#colorSearch a.btn.btnCpink { background: pink;}
#colorSearch a.btn.btnCyellow { background: gold;}
#colorSearch a.btn.btnCgreen { background: yellowgreen;}
#colorSearch a.btn.btnCblue { background: deepskyblue;}
#colorSearch a.btn.btnCpurple { background: mediumpurple;}
#colorSearch a.btn.btnCbrown { background: saddlebrown;}
#colorSearch a.btn.btnCwhite { background: white; box-shadow: 0 0 0 0.7rem #FFF inset, 0 0 0 calc(0.7rem + 1px) silver inset, 0 0.2rem 1rem rgba(1, 49, 97, 0.2);}
#colorSearch a.btn.btnCblack { background: black;}
#colorSearch a.btn.btnMono { background: linear-gradient(to bottom right, #FFF 10%, rgb(168, 168, 168) 50%, black 90%);}
#colorSearch a.btn.btnMix { background: conic-gradient(#ff0000,#f39800,#fff100,#00d15e,#32c5ff,#435fff,#cc00ff,#ff0000);}
#colorSearch a.btn.btnBlend { background: linear-gradient(to bottom right, #ff0000 10%,#f39800,#fff100,#00d15e,#32c5ff,#435fff,#cc00ff 90%);}

#colorSearch a.selected:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url("/images/common/icon-checkmark.svg") center no-repeat;
	background-size: 50%;
	transition: all ease 0.5s;
}

#composeProposed.itemLists { padding: 4rem 0 0;}

@media (hover: hover) {
.composeFilter h3.acd:hover,
.composeFilter .btnFlex a:hover { opacity: .6;}

#colorSearch a.btn:hover { box-shadow: 0 0 0 0.7rem #FFF inset, 0 0.5rem 1.5rem rgba(1, 49, 97, 0.3);}
#colorSearch a.btn.btnCwhite:hover { box-shadow: 0 0 0 0.7rem #FFF inset, 0 0 0 calc(0.7rem + 1px) silver inset, 0 0.5rem 1.5rem rgba(1, 49, 97, 0.3);}
}

@media screen and (max-width: 370px){

/* base */

/* common */

/* page */
}

@media screen and (min-width: 768px){

/* base */

/* common */

/* page */
#composeArea header { align-items: center;}
#composeArea header h1 { flex-grow: 1; margin: 0 2rem 0 0; width: auto; font-size: 2.6rem; text-align: left;}
#composeArea nav { width: auto; text-align: right;}
#composer .composingArrow { padding: 2rem;}

#composerCtrl p.long .btn { padding: 1.3rem;}
}

@media print, screen and (min-width:1024px){

/* base */
footer { padding: 4rem 0;}

/* common */

/* page */
#composeArea,
#composeItems { height: 100vh; height: 100dvh;}

#compose h2.line,
#compose h3.line { padding: 0 0 1rem;}

#composedItems .kome { margin: 2rem 0 0;}

.composeFilter .acd-content { padding: 0 2rem 2rem;}
.composeFilter h3 { font-size: 2.2rem;}
.composeFilter .btnFlex { gap: 1.5rem;}
.composeFilter .btnFlex a { padding: 1rem 1.5rem 0.8rem; width: calc(50% - 1.5rem/2); font-size: 1.8rem;}
.composeFilter .price input { max-width: 18rem;}
.composeFilter .center { margin: 3rem 0 0;}
.composeFilter .center .btn ~ .btn { margin-left: 4rem;}

#composeItems #colorSearch li { width: calc(25% - 1.5rem); max-width: none;}

#composeProposed.itemLists { padding: 2rem 0 0;}
#composeProposed h2 { margin: 4rem 0 0; padding: 0 0 1rem;}

.pager:last-of-type { margin-bottom: 0; padding-bottom: 0;}
}

@media print, screen and (min-width:1200px){

/* base */

/* common */

/* page */
#composeArea header h1 { font-size: min(3.2rem, 1.4vw);}
#composedItems h2.line { align-items: end; padding: 2rem 0;}
#composedItems h2 .btn { margin: 0 0 0 2rem;}
#composedItems h2 .btns { display: block; text-align: right;}
#composedItems h2 .btn img { margin: -0.3rem 0.5rem 0 0; width: 3.6rem;}

#composeArea { width: 55%;}
#composeItems { width: 45%;}

.composeFilter .acd.btn { top: -6rem;}
.composeFilter .composeFilterFlex div:first-child h3 { margin-top: 2rem;}

#composeItems .composeFilterFlex { display: flex; flex-wrap: wrap; gap: 2rem; justify-content: space-between;}
#composeItems .composeFilterFlex > div { width: calc(50% - 2rem);}
#composeItems .composeFilterFlex .center { width: 100%;}
#composeItems .composeFilterFlex .long.orderL { width: 100%;}
#composeItems .composeFilterFlex .order2 { order: 2;}
#composeItems .composeFilterFlex .order3 { order: 3;}
#composeItems .composeFilterFlex .order2 ~ .center,
#composeItems .composeFilterFlex .order3 ~ .center { order: 4;}
#composeItems #colorSearch li { width: calc(16.666% - 1.666rem); max-width: 7.27rem;}
#composeItems .itemLists ul { margin: 0 -1rem;}
#composeItems .itemLists ul#colorSearch { margin: 1rem 0;}
#composeItems .itemLists ul li { width: calc(33.33% - 2rem);}
}

@media screen and (min-width:1400px){

#composeItems .itemLists ul li { width: calc(25% - 2rem);}
}

@media screen and (min-width:1650px){

#composeItems .composeFilterFlex .long.orderL { width: calc(50% - 2rem);}
}

@media print {

}
