/*/////////////////////////////////////////////////////////////////////////////////////////////////

 Contents Layout: カスタマイズ

/////////////////////////////////////////////////////////////////////////////////////////////////*/

/* フォント */
.font-type01 { font-family: 'Barlow Condensed', sans-serif;}
.font-type02 { font-family: 'Lato', sans-serif;}
.font-type03 { font-family: 'Pacifico', sans-serif;}

/* サブメニュー */
#sub-menu {
	height: 60px;
	background: #222222; 
	border-top: #fff 1px solid;
	text-align: center;
}
#sub-menu ul { height: 100%;}
#sub-menu li { 
	display: none; vertical-align: top;
	height: 100%;
	padding: 15px 0; 
	margin: 0 15px; 
	text-align: left; 
	cursor: pointer; 
	position: relative;
	opacity: 0.4;
	transition: all 300ms;
}
#sub-menu li::after { 
	content: ""; 
	display: block; 
	width: 0%; height: 4px; 
	background: #bc212d; 
	position: absolute; bottom: 0; left: 0; right: 0;
	margin: auto;
	transition: all 200ms;
}
#sub-menu li.act { opacity: 1;}
#sub-menu li.act::after { width: 100%;}
#sub-menu li img { 
	display: inline-block; vertical-align: middle; 
	width: auto; height: 100%;
}
#sub-menu li p { 
	display: inline-block; vertical-align: middle; 
	padding-left: 10px; 
	line-height: 1.2em; 
	font-size: 13px; color: #fff;
}
#sub-menu li p span { display: block; font-size: 10px;}

/* Roll Over */
@media screen and (min-width:768px){
	#sub-menu li:hover { opacity: 1;}
}

/*** 編集エリア ***/
#edit { 
	width: 100%; height: 680px; 
	background-color: #f5f5f5;
	position: relative;
	overflow: hidden;
}

/* Mobile */
@media screen and (max-width: 767px) {
	#sub-menu { height: 50px;}
	#sub-menu li { padding: 10px 0;}
	#sub-menu li p { display: none;}
	#edit { height: 450px;}
}


/*/////////////////////////////////////////////////////////////////////////////////////////////////

 Section Layout: 表示エリア

/////////////////////////////////////////////////////////////////////////////////////////////////*/

#edit .view-area { 
	width: calc(100% - 440px); height: 100%; 
	position: relative;
	transition: width 600ms;
}
#edit.full .view-area { width: 100%;}

#edit .view {
	width: 247px; height: 700px; 
	position: absolute; top: 0; bottom: 0; left: 50%;
	margin-left: -120px; margin-top: 10px;
	filter: drop-shadow(0px 15px 8px rgba(0,0,0,0.3));
	transform: scale3d(0.85, 0.85, 1);
	transition: all 400ms;
	transform-origin: center 28%;
}
#edit .view.back { display: none;}
#edit .view path, 
#edit .view polygon { fill: #fff; transition: all 300ms;}

#edit .view .view-tops { position: relative; z-index: 2; filter: drop-shadow(0px 2px 6px rgba(0,0,0,0.3));}
#edit .view .view-bottoms { position: relative; z-index: 1; filter: drop-shadow(0px 2px 4px rgba(0,0,0,0.3));}
#edit .view .view-body { display: block; width: 100%; height: auto;}

#edit .view .view-shadow { position: absolute; z-index: 30;}
#edit .view .team-name { position: absolute; z-index: 20;}
#edit .view .view-item { position: absolute; z-index: 10;}

/* チーム名 */
#edit .view .team-name {
	width: 100%;
	font-size: 16px; font-weight: bold; text-align: center;
	transition: color 300ms;
}
#edit .view .team-name.frame {
	text-shadow: #333 2px 0px 0px, #333 1.75517px 0.958851px 0px, #333 1.0806px 1.68294px 0px, #333 0.141474px 1.99499px 0px, #333 -0.832294px 1.81859px 0px, #333 -1.60229px 1.19694px 0px, #333 -1.97998px 0.28224px 0px, #333 -1.87291px -0.701566px 0px, #333 -1.30729px -1.5136px 0px, #333 -0.421592px -1.95506px 0px, #333 0.567324px -1.91785px 0px, #333 1.41734px -1.41108px 0px, #333 1.92034px -0.558831px 0px;
	letter-spacing: 0.1em;
}
#edit .view.front .team-name { top: 130px;}
#edit .view.back .team-name  { top: 110px;}

/* 合計金額 */
#edit .view-area .total-price {
	position: absolute; bottom: 30px; left: 0;
	transform: translateX(-100%);
	transition: all 600ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
#edit .view-area .total-price.open {
	transform: translateX(0);
}
#edit .view-area .total-price dl {
	padding: 10px 15px;
	margin-left: 30px;
	border: #bc212d 3px solid;
	background: rgba(255,255,255,0.4);
}
#edit .view-area .total-price dt { display: inline-block;}
#edit .view-area .total-price dd { display: inline-block; font-size: 30px; font-weight: bold; color: #bc212d;}
#edit .view-area .total-price dd span { padding-left: 2px; font-size: 16px;}


/* Mobile */
@media screen and (max-width: 767px) {
	#edit .view-area { width: 50%;}
	#edit .view { width: 150px; margin-left: -75px; top: 10px; bottom: auto; filter:none; transform: scale3d(1, 1, 1);}
	#edit .view svg { width: 100%;}
	#edit .view .team-name { font-size: 10px;}
	#edit .view.front .team-name { top: 80px;}
	#edit .view.back .team-name  { top: 70px;}

	#edit .view-area .total-price { width: 100%; left: 0; bottom: 0; transform: translateX(0);}
	#edit .view-area .total-price dl { width: 100%; padding: 10px 0; margin-left: 0; text-align: center; border: none;}
	#edit .view-area .total-price dt { font-size: 10px;}
	#edit .view-area .total-price dd { font-size: 22px;}
	#edit .view-area .total-price dd span { padding-left: 2px; font-size: 12px;}
}


/*/////////////////////////////////////////////////////////////////////////////////////////////////

 Section Layout: 操作エリア

/////////////////////////////////////////////////////////////////////////////////////////////////*/

#edit .select-area {
	width: 440px;
	height: 100%;
	background-color: #fff;
	border-left: #e1e1e1 1px solid;
	position: absolute; top: 0; right: 0;
	overflow: hidden;
	transform: translateX(100%);
	transition: all 600ms;
}
#edit .select-area.act {
	transform: translateX(0);
}

#edit .select-area .text-link { font-weight: bold; color: #bc212d;}

/*** タイトルエリア ***/
#edit .select-area .item-name {
	display: table;
	width: 100%; height: 80px;
	padding: 20px 80px 20px 20px;
	border-bottom: #e1e1e1 1px solid;
	position: relative;
}
#edit .select-area .item-name h2 { 
	display: table-cell; vertical-align: middle;
	font-size: 20px;
}
#edit .select-area .item-name h2 span { 
	display: block; padding-top: 8px; 
	font-size: 12px; color: #838383;
}
/* CLOSE ボタン */
#edit .select-area .item-name .close {
	width: 80px; height: 80px;
	position: absolute; top: 0; right: 0;
	cursor: pointer;
}
#edit .select-area .item-name .close span em,
#edit .select-area .item-name .close span::before,
#edit .select-area .item-name .close span::after {
	content: "";
	display: block;
	width: 36px;
	height: 2px;
	background: #333;
	position: absolute; top: 0; left: 0; right: 0; bottom: 0;
	margin: auto;
	transition: all 300ms;
}
#edit .select-area .item-name .close span em { opacity: 0;}
#edit .select-area .item-name .close span::before { transform: rotate(45deg);}
#edit .select-area .item-name .close span::after  { transform: rotate(-45deg);}

/* Roll Over */
@media screen and (min-width:768px){
	#edit .select-area .item-name .close:hover span em { opacity: 1;}
	#edit .select-area .item-name .close:hover span::before { width: 26px; transform: rotate(45deg) translateY(-12px);}
	#edit .select-area .item-name .close:hover span::after  { width: 26px; transform: rotate(-45deg) translateY(12px);}
}

/*** 入力エリア ***/
#edit .select-area .item-data {
	width: 100%;
	height: calc(100% - 80px);
	padding: 0 20px 20px;
	overflow: hidden;
	position: absolute;
	top: 80px;
}
#edit .select-area .item-data h3 {
	display: block;
	padding-left: 10px;
	margin-top: 25px;
	margin-bottom: 10px;
	border-left: #bc212d 3px solid;
	line-height: 18px;
	font-size: 15px;
}
#edit .select-area .item-data p { line-height: 1.6em;}

/* 注意書き */
#edit .select-area .item-data .notice { margin-top: 10px;}
#edit .select-area .item-data .notice li { 
	padding-left: 1em; 
	margin-bottom: 5px; 
	font-size: 12px; line-height: 1.4em; color: #838383; 
	position: relative;
}
#edit .select-area .item-data .notice li::before { content: "※"; position: absolute; left: 0;}
#edit .select-area .item-data .notice li:last-child { margin-bottom: 0;}

/* 入力エリア：パーツカラー */
#edit .select-area .parts-list li {
	float: left; 
	width: calc((99.999% - 10px)/2);
	padding: 12px 10px 12px 40px;
	margin-right: 10px;
	margin-top: 10px;
  border: #e1e1e1 1px solid;
	position: relative;
	cursor: pointer;
}
#edit .select-area .parts-list li:nth-child(2n) { margin-right: 0;}
#edit .select-area .parts-list li span {
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 100%;
	position: absolute;
	top: 50%;
	left: 10px;
	margin-top: -10px;
	transition: all 300ms;
}
#edit .select-area .parts-list li dd { padding-top: 4px; font-size: 11px;}
#edit .select-area .parts-list li dd::before { content: "(";}
#edit .select-area .parts-list li dd::after { content: ")";}

/* Roll Over */
@media screen and (min-width:768px){
	#edit .select-area .parts-list li:hover span { transform: scale3d(1.3,1.3,1);}
}

/* 入力エリア：パーツ送りボタン */
#edit .select-area .page-move { padding-top: 25px; margin-top: 25px; border-top: #e1e1e1 1px solid;}
#edit .select-area .page-move li { cursor: pointer;}
#edit .select-area .page-move li.off { cursor: default;}
#edit .select-area .page-move li span { position: relative; transition: all 300ms;}
#edit .select-area .page-move li span::before,
#edit .select-area .page-move li span::after {
	content: "";
	width: 20px;
	height: 2px;
	background: #222;
	position: absolute; top: 0; bottom: 0;
	margin: auto;
	transition: all 300ms;
}
#edit .select-area .page-move li.off span  { color: #e1e1e1;}
#edit .select-area .page-move li.off span::before,
#edit .select-area .page-move li.off span::after { opacity: 0;}

#edit .select-area .page-move .prev-page { float: left;}
#edit .select-area .page-move .prev-page span { padding-left: 30px;}
#edit .select-area .page-move .prev-page span::before,
#edit .select-area .page-move .prev-page span::after { left: 0; transform-origin:left center;}

#edit .select-area .page-move .next-page { float: right;}
#edit .select-area .page-move .next-page span { padding-right: 30px;}
#edit .select-area .page-move .next-page span::before,
#edit .select-area .page-move .next-page span::after { right: 0; transform-origin:right center;}

/* Roll Over */
@media screen and (min-width:768px){
	#edit .select-area .page-move .prev-page:hover span::before { transform: rotate(-45deg) translateY(1px);}
	#edit .select-area .page-move .prev-page:hover span::after  { transform: rotate(45deg) translateY(-1px);}
	#edit .select-area .page-move .next-page:hover span::before { transform: rotate(45deg) translateY(1px);}
	#edit .select-area .page-move .next-page:hover span::after  { transform: rotate(-45deg) translateY(-1px);}
}


/* 入力エリア：サイズ選択 */
#edit .select-area .size-list li {
	float: left; 
	width: calc((99.999% - 20px)/3);
	margin: 15px 10px 0 0;
	position: relative;
}
#edit .select-area .size-list li:nth-child(3n) { margin-right: 0;}
#edit .select-area .size-list li::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-right: #3E5264 2px solid;
	border-bottom: #3E5264 2px solid;
	position: absolute;
	right: 15px;
	bottom: 22px;
	transform: rotate(45deg);
	pointer-events: none;
}
#edit .select-area .size-list li label { 
	display: block; 
	padding-bottom: 5px;
	font-weight: bold;
}
#edit .select-area .size-list li select { 
	display: block;
	width: 100%;
	height: 50px;
	padding-left: 15px;
	border: #e1e1e1 1px solid;
	font-size: 16px;
	cursor: pointer;
}

/* 合計数量＆金額 */
#edit .select-area .price {
	padding-bottom: 10px;
	margin-top: 30px;
	text-align: right;
	border-bottom: #e1e1e1 1px solid;
}
#edit .select-area .price dt { display: inline-block; margin-left: 15px;}
#edit .select-area .price dd { display: inline-block; font-size: 24px; font-weight: bold;}
#edit .select-area .price dd.total { color: #bc212d;}
#edit .select-area .price dd.total span { display: inline-block; padding-left: 2px; font-size: 14px;}


/* 入力エリア：カラー選択 */
#color-select .item-data { padding: 20px !important;}
#color-select .item-data .color-list li { 
	float: left; 
	width: calc((99.999% - 20px)/3);
	height: 60px; 
	padding: 5px 10px; 
	margin: 5px 10px 5px 0;
	cursor: pointer;
	position: relative;
}
#color-select .item-data .color-list li:nth-child(3n) { margin-right: 0;}
#color-select .item-data .color-list li span { font-size: 10px;}
#color-select .item-data .color-list li::after {
	content: "";
	width: 20px; height: 20px;
	background: url(../img/icon/icon_check.svg) no-repeat center;
	background-size: contain;
	position: absolute; bottom: 10px; right: 10px;
	filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.4));
	transition: all 100ms;
	transform: scale(0);
}
#color-select .item-data .color-list li.act::after { transform: scale(1);}

/* 入力エリア：チーム名入力 */
#edit .select-area .input-name input {
	width: 100%; height: 40px;
	padding: 0 10px;
	margin-right: 10px;
	border-bottom: #e1e1e1 1px solid;
	vertical-align: bottom;
	font-size: 16px;
}
#edit .select-area .input-name input::placeholder { color: #e1e1e1;}

/* 入力エリア：表示位置選択 */
#edit .select-area .input-disp input { display: none;}
#edit .select-area .input-disp input + label { 
	display: block;
	width: 100%;
	padding: 15px 10px;
	margin-bottom: 5px;
	font-weight: bold;
	cursor: pointer;
	position: relative;
}
#edit .select-area .input-disp input + label::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border: #e1e1e1 1px solid;
	position: absolute; top: 0; left: 0;
	pointer-events: none;
	transition: border 300ms;
}
#edit .select-area .input-disp input:checked + label::after {
	border: #bc212d 2px solid;
}
/* 入力エリア：フォント選択 */
#edit .select-area .input-font input { display: none;}
#edit .select-area .input-font input + label { 
	display: block; 
	width: 100%;
	padding: 10px;
	margin-bottom: 5px;
	font-size: 20px;
	font-weight: bold;
	cursor: pointer;
	position: relative;
}
#edit .select-area .input-font input + label::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border: #e1e1e1 1px solid;
	position: absolute; top: 0; left: 0;
	pointer-events: none;
	transition: border 300ms;
}
#edit .select-area .input-font input:checked + label::after {
	border: #bc212d 2px solid;
}


/* Mobile */
@media screen and (max-width: 767px) {
	#edit .select-area { width: 50%;}
	#edit .select-area .item-name { height: 70px; padding: 10px 40px 10px 10px;}
	#edit .select-area .item-name h2 { font-size: 12px; font-weight: bold; line-height: 1.2em;}
	#edit .select-area .item-name h2 span { padding-top: 4px; font-size: 10px; font-weight: normal;}
	#edit .select-area .item-name .close { width: 44px; height: 44px; top: 5px; z-index: 1;}
	#edit .select-area .item-name .close span em, 
	#edit .select-area .item-name .close span::before, 
	#edit .select-area .item-name .close span::after { width: 24px;}
	#edit .select-area .item-data { 
		height: calc(100% - 70px); padding: 0 10px 20px; top: 70px; 
		overflow: scroll; -webkit-overflow-scrolling: touch;
	}
	#edit .select-area .item-data h3 { margin-top: 15px; font-size: 13px;}
	#edit .select-area .item-data p { font-size: 11px; line-height: 1.4em;}
	#edit .select-area .item-data .notice li { font-size: 10px;}

	#edit .select-area .parts-list li { float: none; width: 100%; padding: 10px 10px 10px 40px; margin: 5px 0 0;}
	#edit .select-area .parts-list li dd { font-size: 10px;}

	#edit .select-area .page-move { padding: 15px 0; margin-top: 15px;}
	#edit .select-area .page-move li span { padding: 0 !important;}
	#edit .select-area .page-move li span::before,
	#edit .select-area .page-move li span::after { display: none;}

	#edit .select-area .size-list { margin-top: 10px;}
	#edit .select-area .size-list li { width: calc((99.999% - 10px)/2); margin: 10px 0 0; margin-right: 10px !important;}
	#edit .select-area .size-list li:nth-child(2n) { margin-right: 0 !important;}
	#edit .select-area .size-list li select { height: 36px; padding-left: 10px;}
	#edit .select-area .size-list li::after { bottom: 17px;}

	#edit .select-area .price { 
		padding-bottom: 0;
		border: none;
		margin-top: 15px; 
		text-align: left; line-height: 1.8em;
	}
	#edit .select-area .price dt { margin-left: 0; font-size: 10px;}
	#edit .select-area .price dd { font-size: 18px; font-weight: bold;}
	#edit .select-area .price dd.total span { padding-left: 2px; font-size: 12px;}

	#color-select .item-data { padding: 10px !important;}
	#color-select .item-data .color-list li {
    width: calc((99.999% - 10px)/3);
    height: 50px;
		padding: 5px;
    margin: 5px 5px 0 0;
	}
	#color-select .item-data .color-list li span { font-size: 8px;}
	#color-select .item-data .color-list li::after { width: 15px; height: 15px; bottom: 5px; right: 5px;}

	#edit .select-area .input-font input + label { font-size: 4.2vw;}
}


/*/////////////////////////////////////////////////////////////////////////////////////////////////

 Section Layout: カラー表示・選択ボタンエリア

/////////////////////////////////////////////////////////////////////////////////////////////////*/

/*** 選択済みカラー表示 ***/
#edit .color-area {
	position: absolute; bottom: 50%; left: 0;
	margin-bottom: 10px;
	transform: translateX(-100%);
	transition: all 600ms;
}
#edit .color-area.act { transform: translateX(0%);}

#edit .color-area li {
	display: block;
	width: 60px; height: 60px;
	margin-bottom: 1px;
	position: relative;
	overflow: hidden;
	cursor: pointer;
	transition: all 300ms;
}
#edit .color-area li dl {
	display: block;
	width: 200px; height: 60px;
	padding: 15px 0;
	position: absolute; top: 0; left: 40px;
	/*text-shadow: rgba(0, 0, 0, 0.4) 1px 1px 4px;*/
	opacity: 0;
	transition: all 300ms;
}
#edit .color-area li dl dd { padding-top: 4px; font-size: 10px;}
#edit .color-area li dl dd::before { content: "("; padding-right: 2px;}
#edit .color-area li dl dd::after  { content: ")"; padding-left: 2px;}

/* Roll Over */
@media screen and (min-width:768px){
	#edit .color-area li.act, 
	#edit .color-area li:hover { width: 200px;}
	#edit .color-area li.act dl, 
	#edit .color-area li:hover dl { opacity: 1; left: 50px;}
}

/*** アクションボタン ***/
#edit .action-area {
	position: absolute; top: 50%; left: 0;
	margin-top: 10px;
	transition: all 600ms;
}
#edit .action-area li {
	display: block;
	width: 60px; height: 60px;
	margin-bottom: 1px;
	background: #222;
	position: relative;
	cursor: pointer;
}
#edit .action-area li img { 
	width: 25px; height: auto;
	position: absolute; top: 0; left: 0; right: 0; bottom: 0;
	margin: auto;
}


/* Mobile */
@media screen and (max-width: 767px) {
	#edit .color-area { display: none; width: 50%; margin-bottom: 0; bottom: 100px; z-index: 10;}
	#edit .color-area li { width: 40px; height: 40px; margin: 4px 10px 0; border-radius: 100%;}
	/*
	#edit .color-area { width: 50%; margin-bottom: 0; bottom: 15px; z-index: 10;}
	#edit .color-area li { width: 40px; height: 40px; margin: 4px 10px 0; border-radius: 100%;}
	*/
	#edit .action-area { top: auto; bottom: 55px; left: 10px; z-index: 10; margin-top: 0;}
	#edit .action-area li { width: 40px; height: 40px; border-radius: 100%;}
	#edit .action-area li img { width: 20px;}
}


/*/////////////////////////////////////////////////////////////////////////////////////////////////

 Section Layout: ボタンエリア

/////////////////////////////////////////////////////////////////////////////////////////////////*/
#btnArea {
	padding: 40px 0;
	border-top: #e1e1e1 1px solid;
	border-bottom: #e1e1e1 1px solid;
	text-align: center;
}
#btnArea li { display: inline-block; vertical-align: top; padding: 0 10px;}
#btnArea li a { display: table; width: 280px; height: 60px; position: relative; cursor: pointer;}
#btnArea li a span { display: table-cell; vertical-align: middle; font-size: 16px; color: #fff;}

#btnArea li a.btn-save {
	background-color: #bc212d;
	background-image: url(../img/icon/icon_save.svg);
	background-repeat: no-repeat;
	background-position: 20px center;
	background-size: 24px auto;
}
#btnArea li a.btn-share {
	background-color: #13598b;
	background-image: url(../img/icon/icon_share.svg);
	background-repeat: no-repeat;
	background-position: 20px center;
	background-size: 20px auto;
}
#btnArea li a.btn-order {
	background-color: #bc8721;
	background-image: url(../img/icon/icon_order.svg);
	background-repeat: no-repeat;
	background-position: 20px center;
	background-size: 20px auto;
}


/* Mobile */
@media screen and (max-width: 767px) {
	#btnArea { padding: 15px 0;}
	#btnArea ul { padding: 0 10px; letter-spacing: -.4em;}
	#btnArea li { width: 50%; padding: 0 5px; letter-spacing: normal;}
	#btnArea li:last-child { width: 100%; margin-top: 10px;}
	#btnArea li a { width: 100%; height: 44px;}
	#btnArea li a span { font-size: 12px;}
	#btnArea li a.btn-save { background-position: 10px center; background-size: 20px auto;}
	#btnArea li a.btn-share { background-position: 10px center; background-size: 18px auto;}
}


/*/////////////////////////////////////////////////////////////////////////////////////////////////

 Section Layout: サイズ表

/////////////////////////////////////////////////////////////////////////////////////////////////*/

#sizeList table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
#sizeList .tbl-frame { margin: 10px 0 25px;}
#sizeList .tbl-frame:last-child { margin-bottom: 0;}

#sizeList table th, #sizeList table td {
  padding: 10px 0;
  border: #E5E5E5 1px solid;
  font-size: 11px;
  color: #3E5264;
  text-align: center;
}
#sizeList table th:first-child { width: 100px;}
#sizeList table th { background-color: #F5F6F7; font-weight: bold;}


/* Mobile */
@media screen and (max-width: 767px) {

	#sizeList .tbl-frame {
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 20px;
  }
  #sizeList .tbl-frame:last-child { margin-bottom: 0;}
  #sizeList table { width: 500px;}
  #sizeList table th, #sizeList table td { padding: 5px; font-size: 10px; vertical-align: middle;}
  #sizeList table th:first-child { width: 60px;}
}



