@media (min-width: 429px) {
    html,body {
        font-size:16px;
    }
}
@media (max-width: 428px) {
    html,body {
        font-size:14px;
    }
}
img {
    max-width: 100%;
}

header {
    text-align   : center;
    margin-bottom: 1.5rem;
}

header .description {
    background-color: #111;
    color           : #eee;
    font-size       : 10px;
    padding         : 5px;
}

header h1 {
    padding: 20px;
}

@media (max-width: 767px) {
    header h1 img {
        max-width: 240px;
    }

}

footer {
    text-align: center;
    padding   : 20px 0;
}

footer a {}

.caution {
    font-size       : 80%;
    background-color: #eee;
    color           : #333;
    padding         : 8px;
    margin          : 8px;
    border-radius   : 8px;
}


.hinban {
    background-color: #eee;
    padding         : 10px;
    font-weight     : bold;
    text-align      : center;
    margin-bottom   : 20px;
}
.row { /* 2022add */
    margin-right: 0;
    margin-left: 0;
}

.content {
    max-width: 1400px;
    margin   : 0 auto;

}

.content__wrap {
    display        : flex;
    flex-wrap      : nowrap;
    justify-content: space-around;
    position: relative;
/*    align-items    : flex-start;	*/
}

@media (max-width: 767px) {
    .content__wrap {
        display: block;

    }
}

#canvas-wrap {
    width: 60%;
    text-align: center;
    margin: 0 auto;
}

#canvas {
    width        : 100%;
    height       : auto;
    position     : relative;
    max-height: 700px;
}
#canvas svg {
    max-height: 65vh !important;
}

@media (max-width: 1024px) {
    #canvas-wrap {
        /*width : 100vw; 2022hide */
        width : 95%;
    }
}

.attImage {
    cursor  : pointer;
    position: absolute;
    top     : 0%;
    left    : 0%;
    height  : auto;
}

#canvas .active {
    box-shadow: 0 0 3px 0 #000;
}
#color {
    width: 49%;

}

@media (max-width: 767px) {
    #color {
        width: 100%;
        margin-top: 20px;
    }
}

.color-col__title {
    padding         : 10px;
    background-color: #eee;
    cursor          : pointer;
    position        : relative;
    margin-bottom   : 1px;
}

.color-col__title::after {
    content            : ">";
    font-family        : monospace, consolas;
    position           : absolute;
    right              : 10px;
    top                : 10px;
    transform          : rotate(-90deg);
    transition-duration: 0.2s;
}

.color-col__title.toggled::after {
    transform: rotate(90deg);
}


.color-col__body {
    padding    : 10px;
    display    : flex;
    flex-wrap  : wrap;
    align-items: flex-start;
}

.color-node {
    display    : flex;
    text-align : left;
    align-items: center;
    margin     : 0 0 4px 8px;
}

@media (max-width: 767px) {
    .color-node {
        margin: 0 0 8px 0px;
        /*width : 24%; 2022hide*/
    }
}

.color-node label {
    cursor: pointer;
    display: flex; /* 2022add */
    width: 112px; /* 2022add */
}

.color-node__block {
    display         : inline-block;
    width           : 30px;
    height          : 30px;
    border-radius   : 4px;
    background-color: #eee;
    box-shadow      : 1px 1px 1px #aaa;
    margin: 0 5px;

}

@media (max-width: 767px) {
    .color-node__block {
        /*         width: 24px;
        height: 24px;
 */
    }
}

.color-node__name {
    font-size: 0.6875rem;
    display  : block;
}

.controlScale {
    display   : none;
    text-align: center;
}

.message {
    display: none;
}


.yellow {
    fill: yellow;
}

.yellowGreen {
    fill: yellowgreen;
}

.red {
    fill: red;
}

.blue {
    fill: blue;
}

.green {
    fill: green;
}

/* V.YELLOW */
.color-node__174 .color-node__block,
.fill__174 {
    fill            : #f7af00;
    background-color: #f7af00;
}

/* V.KHAKI */
.color-node__358 .color-node__block,
.fill__358 {
    fill            : #525747;
    background-color: #525747;
}

/* V.SAND */
.color-node__186 .color-node__block,
.fill__186 {
    fill            : #bfb8a2;
    background-color: #bfb8a2;
}

/* V.GREEN */
.color-node__650 .color-node__block,
.fill__650 {
    fill            : #8fb8b3;
    background-color: #8fb8b3;
}

/* WHITE */
.color-node__100 .color-node__block,
.fill__100 {
    fill            : #f7f8f8;
    background-color: #f7f8f8;
}

/* BLACK */
.color-node__009 .color-node__block,
.fill__009 {
    fill            : #291f1d;
    background-color: #291f1d;
}

/* F.YELLOW */
.color-node__F280 .color-node__block,
.fill__F280 {
    fill            : #f0ea0c;
    background-color: #f0ea0c;
}

/* F.GREEN */
.color-node__F434 .color-node__block,
.fill__F434 {
    fill            : #a3ca0f;
    background-color: #a3ca0f;
}

/* F.ORANGE */
.color-node__F094 .color-node__block,
.fill__F094 {
    fill            : #eb6120;
    background-color: #eb6120;
}

/* TURQUOISE */
.color-node__595 .color-node__block,
.fill__595 {
    fill            : #0094ab;
    background-color: #0094ab;
}

/* F.PINK */
.color-node__F024 .color-node__block,
.fill__F024 {
    fill            : #e61478;
    background-color: #e61478;
}

/* RED */
.color-node__055 .color-node__block,
.fill__055 {
    fill            : #d20b17;
    background-color: #d20b17;
}

/* V.PURPLE */
.color-node__059 .color-node__block,
.fill__059 {
    fill            : #652f34;
    background-color: #652f34;
}

/* BLUE */
.color-node__713 .color-node__block,
.fill__713 {
    fill            : #004a9f;
    background-color: #004a9f;
}

/* NAVY */
.color-node__688 .color-node__block,
.fill__688 {
    fill            : #002b46;
    background-color: #002b46;
}

/* GRAY */
.color-node__003 .color-node__block,
.fill__003 {
    fill            : #818781;
    background-color: #818781;
}

/* F.LIME */
.color-node__F353 .color-node__block,
.fill__F353 {
    fill            : #EEE800;
    background-color: #EEE800;
}

/* BROWN */
.color-node__179 .color-node__block,
.fill__179 {
    fill            : #6F583C;
    background-color: #6F583C;
}

/* PURPLE */
.color-node__839 .color-node__block,
.fill__839 {
    fill            : #561179;
    background-color: #561179;
}

/*//////////////////
    コントロール 202205 add
//////////////////*/
input,
textarea,
select {
  outline: none;
  border-radius: 0;
  font-size: 1em;
  font-weight: 500;
}
input, select {
  line-height: 1.6;
  padding: 1.2em 10px;
}
textarea {
  resize: vertical;
  display: block;
  padding: 5px 10px;
  width: 100%;
  height: 200px;
}
select {
  width: 100%;
  border: solid 1px #ccc;
  border-radius: 5px;
  appearance: auto !important;
}
select option {
  font-weight: 500;
  background: #fff;
}
textarea,
input[type=text],
input[type=email],
input[type=tel] {
  -webkit-appearance: none;
  width: 100%;
  border: solid 1px #ccc;
}
input[type=button],
input[type=submit] {
  transition-duration: 0.2s;
  -webkit-appearance: none;
  color: #fff;
  width: 100%;
  height: 3.5em;
  padding: 0;
  font-weight: 700;
}
input, textarea {
  border-radius: 5px;
  background: #fff;
}

input:-moz-placeholder-shown, textarea:-moz-placeholder-shown,
input:-ms-input-placeholder, textarea:-ms-input-placeholder,
input::placeholder,textarea::placeholder,
input:placeholder-shown, textarea:placeholder-shown,
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder,
input:-moz-placeholder, textarea:-moz-placeholder,
input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: #ccc;
  opacity: 0.5;
}
input:focus:-moz-placeholder-shown, textarea:focus:-moz-placeholder-shown,
input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder,
input:focus:placeholder-shown, textarea:focus:placeholder-shown,
input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder,
input:focus:-moz-placeholder, textarea:focus:-moz-placeholder,
input:focus:-ms-input-placeholder, textarea:focus:-ms-input-placeholder {
  color: transparent;
}

.t-center {
    text-align: center;
}
._inner-normal {
    max-width: 960px;
    margin: 0 auto;
    padding: 1.5rem 1rem;
}
.min {
	font-size: .75rem;
}
.medium {
	font-size: .85rem;
    margin-bottom: 0;
}
.f-color-red {
    color: red;
}
.ico-caution {
    margin-right: 1em;
}
.control {
    position: relative;
}
.control__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 700px;
    margin: 0 auto;
    padding: 0 1em;
    transition: .3s ease-in-out;
}
.control__nav::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #000;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: -5;
}
@media (min-width: 556px) {
    .control__nav::before {
        top: 37px;
    }
}
@media (max-width: 555px) {
    .control__nav::before {
        top: 51px;
    }
}
hr.control__nav__bottom {
    margin: 0;
}
.control__nav li {
    padding: .5em 1em;
    text-align: center;
    cursor: pointer;
}
@media (min-width: 556px) {
    .control__nav li {
        width: 100%;
    }
}
@media (max-width: 555px) {
    .control__nav li {
        height: 52px;
    }
}
.control__nav li.active {
    border: solid 1px #000;
    border-bottom: solid 1px #fff;
    background: #fff;
}
.control__box {
    display: none;
}
.control__box.active {
    display: block;
}


.att {
    display: inline-block;
    font-size: .75rem;
    padding: 0 5px 2px;
    color: #fff;
    margin-left: 0.5em;
}
.att--any {
    background: #aaa;
}
.att--must {
    background: #000;
}
.ico-check {
    display: inline-block;
    padding: 0 .5rem;
    position: relative;
    bottom: 2px;
    
}
.ctrl {
    max-width: 700px;
    margin: 2em auto 0;
    padding: 1rem;
}
.ctrl__head {
    display: flex;
    align-items: center;
}
.ctrl__item {
    margin-bottom: 1.5em;
}
.ctrl__body__content {
    display: block;
    margin-top: 0.1875em;
    font-weight: 500;
}
.ctrl__body__text {
    font-size: .75rem;
}
.formPanel {
    margin: 0 auto;
    text-align: center;
}

/* メール登録部分 */
.email-register {
    display: flex;
}
.email-register #btnpasswd {
    margin-left: 1em;
}
.email-register #btnnewpasswd {
    width: 84px;
}

/* 郵便番号部分 */
.postcode .form-control {
    max-width: 100px;
    margin-right: 1em;
}

/* 画像選択部分 */
#logo .row {
    align-items: flex-end;
    margin-bottom: 1.5em;
}
#logo .overflow-auto {
    display: none;
}

/* btn arrow */
button#pdf_save,
button#pdf_load {
    position: fixed;
    z-index: 5;
}
@media (min-width: 821px) {
    button#pdf_save,
    button#pdf_load {
        bottom: 30px;
        right: 30px;
    }
}
@media (max-width: 820px) {
    button#pdf_save,
    button#pdf_load {
        bottom: 10px;
        right: 10px;
    }
}
/* サイズ・数量入力エリア */
.tooltip.show {
    opacity: 1 !important;
}
.tooltip-inner {
    max-width: 700px;
    width: 100%;
    padding-bottom: .5em;
}
/* サイズ別合計数量 */
.total-table-wrap {
    overflow-x: scroll;
}
table#sumorder td span {
	color: #dc3545ed;
	font-weight: bold;
}


/*********************************************************/

.col-palette {
    display: none;
    position: absolute;
    z-index: 10;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.4) ;
    border-radius: .5em;
    color: #212529;
    max-width: 400px;
    width: 95%;
    padding: 1em;
}

.col-lists {
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(auto-fit, minmax(60px, 1fr));
    gap: 5px;
    width: 100%;
}
.col-lists h3 {
    font-size: 1.5em;
    position: absolute;
    top: -2.2em;
    left: 0;
    padding: .3em .8em;
    background: #000;
    color: #fff;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.4) ;
    border-radius: 8px;
}
.col-piece {
    width: 4em;
    height: 3em;
    margin: 3px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 5px;
    box-shadow: inset 0 0 0 1px #bbb;
}
.col-piece:hover .col-name {
    display: flex;
}
.col-name {
    display: none;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    padding: 4px;
    background: rgba(255,255,255,.25);
    color: #000;
    font-weight: bold;
    font-size: 12px;
    line-height: 1.2;
    border-radius: 5px;
}


/*svg colorame*/
#canvas-wrap .table {
	width: auto;
	@media (max-width: 768px) {
		margin: -2em auto 2em;
	}
	@media (min-width: 769px) {
		margin: -3em auto 2em;
	}
}
#canvas-wrap .table th {
	color: #fff;
}

#canvas-wrap .table th,
#canvas-wrap .table td {
	@media (max-width: 1024px) {
		width: 7.8125vw;
		font-size: 2.148vw;
	}
	@media (max-width: 768px) {
		width: 9.765625vw;
		font-size: 2.864vw;
	}
	@media (min-width: 1025px) {
		width: 5.281vw;
		font-size: 1.549vw;
	}
	@media (min-width: 1420px) {
		width: 75px;
		font-size: 22px;
	}
}
#canvas-wrap #GRADATION {
    opacity: .7;
    mix-blend-mode: multiply;
}
