@charset "UTF-8";

:root {
  /* ピッカーのボタン */
  --pcr-button-size: 32px;

  /* 線の色 */
  --button-border-color: #e0e0e0;
}

body.page-template-page-maker #main {
  padding-top: 0;
}

body.page-template-page-maker .post_download {
  padding: 0;
}

.ad_01 {
  margin: 20px 0;
}

.layer_select_wrap {
  width: 60vw;
  padding-top: 80px;
}

.layer_select_wrap>.inner {
  box-sizing: border-box;
  padding: 8% 10% 0;
}

.layer_title {
  font-size: 24px;
  line-height: 1.4;
  font-weight: bold;
  color: #3e3e3e;
  display: block;
  box-sizing: border-box;
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
  padding: 0;
  margin: 0 0 10px;
}

.layer_select_box {
  background: #fff;
  padding: 4% 5%;
  border-radius: 16px;
  margin-bottom: 40px;
}

/* 着せ替え */
.maker-preview-wrap {
  /* position: sticky;
  top: 24px; */
}

#maker-preview {
  min-height: 350px;
}

.maker-preview {
  position: relative;
  width: 100%;
  aspect-ratio: 1.2 / 1;
  background: #fff;
  /* border: 1px solid var(--button-border-color); */
  border-radius: 16px;
  overflow: hidden;
  transition: opacity 0.15s ease;
}

.maker-preview.is-updating {
  opacity: 0.88;
}

.maker-layer {
  position: absolute;
  inset: 0;
}

.maker-layer svg {
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
}

.maker-panel {
  /* padding: 5%;
  margin-bottom: 5px;
  border-radius: 16px;
  background: #fff; */
}

.maker-tabs_groups {
  margin-bottom: 4%;
}

.maker-group {
  padding: 5%;
  border-radius: 16px;
  background: #fff;
  margin-bottom: 30px;
}

#maker-part-groups .maker-group {
  border-radius: 0 0 16px 16px;
}

/* ベース選択だけ横並び */
.maker-group:has(#maker-base-options) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.maker-group:has(#maker-base-options) .maker-group-head {
  margin-bottom: 0;
  flex: 0 0 auto;
}

.maker-group:has(#maker-base-options) .maker-options {
  flex: 1 1 auto;
  justify-content: flex-start;
}

.maker-panel .ad_02 {
  padding: 40px 0 0;
  border-radius: 0;
  /* justify-content: space-between; */
}

.maker-panel .ad_02 .ad_02_l {
  margin-right: 1%;
}

.maker-title {
  font-size: 18px;
  font-weight: 700;
}

.maker-group-head {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 12px;
  margin-bottom: 15px;
  height: 34px;
}

.maker-group-head .maker-title {
  margin: 0;
}

.maker-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

#maker-base-options .maker-option {
  width: 70px;
  height: 50px;
  border-radius: 100px;
}

.maker-option {
  appearance: none;
  border: 1px solid var(--button-border-color);
  background: #fff;
  color: #3e3e3e;
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.3;
  cursor: pointer;
  width: 100px;
  height: 100px;
}

.maker-option:hover {
  border-color: #999;
}

.maker-option.is-active {
  border-color: #3e3e3e;
  background: #fff;
}

#layer-hair {
  z-index: 1;
}

#layer-face {
  z-index: 2;
}

#layer-clothes {
  z-index: 3;
}

#layer-item {
  z-index: 4;
}

#layer-hand {
  z-index: 5;
}

/* 色変更 */
.maker-color-panel {
  display: grid;
  gap: 20px;
}

.maker-color-list {
  display: grid;
  gap: 14px;
}

.maker-color-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.maker-color-meta {
  display: grid;
  gap: 4px;
}

.maker-color-label {
  font-size: 14px;
  line-height: 1.4;
  color: #3e3e3e;
}

.maker-color-code {
  font-size: 12px;
  line-height: 1.4;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.maker-color-chip-wrap {
  position: relative;
  display: inline-flex;
  width: 40px;
  height: 40px;
  cursor: pointer;
}

.maker-color-chip {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 2px solid var(--button-border-color);
  background: var(--chip-color);
  display: inline-block;
  box-sizing: border-box;
}

.maker-color-input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
}

.maker-pickr-wrap {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.maker-pickrs {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.pickr-holder {
  position: relative;
}

/* 必要なら詳細ページ寄り */
.pcr-app[data-theme='monolith'] {
  z-index: 9999;
}

.maker-pickr-wrap .pcr-button,
.maker-pickr-wrap .pcr-button::before,
.maker-pickr-wrap .pcr-button::after,
.pickr-wrap .pcr-button,
.pickr-wrap .pcr-button::before,
.pickr-wrap .pcr-button::after {
  border-radius: 999px !important;
}

.maker-pickr-wrap .pcr-button {
  width: var(--pcr-button-size);
  height: var(--pcr-button-size);
  min-width: var(--pcr-button-size);
  min-height: var(--pcr-button-size);
  overflow: hidden;
  color: inherit !important;
  border: 1px solid transparent;
  box-sizing: border-box;
}

.maker-pickr-wrap.is-white .pcr-button {
  border-color: #c6c6c6;
}

.maker-pickr-wrap .pcr-button::before {
  background: none;
}

.pickr-wrap .pcr-button:hover {
  opacity: 0.8;
}

.pcr-swatches {
  display: none !important;
}

.color-changer .pcr-swatches {
  margin-right: -10px;
  margin-left: -10px;
  order: 4;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
}

.color-changer .pcr-swatches>button::before {
  border-radius: 100%;
  background: none;
}

.color-changer .pcr-swatches>button::after {
  border-radius: 100%;
}

.pcr-app .pcr-swatches>button {
  width: calc(1.8em - 5px);
  height: calc(1.8em - 5px);
}

.pcr-app button.pcr-active {
  box-shadow: 0 0 0 1px hsla(0, 0%, 100%, 0.85), 0 0 0 3px currentColor;
  border-radius: 100px !important;
}

.color-changer .pcr-interaction .pcr-result:hover,
.color-changer .pcr-interaction .pcr-result:focus {
  background: #fff;
}

/* カラーピッカー */
.pcr-app.socost-maker-editor {
  border-radius: 6px !important;
}

.pcr-app.socost-maker-editor .pcr-interaction input {
  margin-top: 20px;
  margin-right: 0;
  margin-left: 0;
  border: 1px solid #eee;
  border-radius: 6px;
  color: #3e3e3e;
  text-align: center;
  filter: none;
}

.pcr-app[data-theme=monolith].socost-maker-editor .pcr-selection .pcr-color-palette .pcr-palette:before {
  background: none;
}

.pcr-app[data-theme=monolith].socost-maker-editor .pcr-selection .pcr-color-palette .pcr-palette {
  border-radius: 6px;
}

/* サムネイル */
.thumb_inner2 {
  position: relative;
}

.maker-option-thumb {
  width: 100px;
  height: 100px;
  padding: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.maker-option-thumb-img {
  width: 56px;
  height: 56px;
  object-fit: contain;
}

.maker-option-thumb.is-active {
  border-color: #3e3e3e;
}

.maker-option-thumb-label {
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
  color: #3e3e3e;
}

/* 操作ボタン */
.maker-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  position: static;
  margin-top: -20px;
  z-index: 9999;
}

.maker-reset-parts-btn,
.maker-reset-colors-btn {
  appearance: none;
  border: 1px solid var(--button-border-color);
  background: #fff;
  color: #3e3e3e;
  border-radius: 999px;
  padding: 11px 15px;
  line-height: 1.4;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  position: static;
  z-index: 9999;
}

.maker-reset-parts-btn:hover,
.maker-reset-colors-btn:hover {
  border-color: #999;
}

.maker-reset-parts-btn:disabled,
.maker-reset-colors-btn:disabled,
.maker-hand-flip-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  border-color: #e3e3e3;
  color: #999;
}

.maker-reset-parts-btn:disabled:hover,
.maker-reset-colors-btn:disabled:hover,
.maker-hand-flip-btn:disabled:hover {
  border-color: #e3e3e3;
}

/* 反転 */
.maker-sub-action {
  appearance: none;
  border: 1px solid var(--button-border-color);
  background: #fff;
  color: #3e3e3e;
  border-radius: 999px;
  padding: 10px 20px;
  font-size: 13px;
  line-height: 1.2;
  cursor: pointer;
}

.maker-sub-action:hover {
  border-color: #999;
}

.maker-sub-action.is-active {
  border-color: #3e3e3e;
  background: #f7f7f7;
}

/* タブ */
.maker-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.maker-tab {
  appearance: none;
  border: 1px solid var(--button-border-color);
  background: #fff;
  color: #3e3e3e;
  border-radius: 100px;
  padding: 10px 22px;
  cursor: pointer;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto;
  min-height: 50px;
  min-width: 70px;
  text-align: left;
}

.maker-tab:hover {
  border-color: #999;
}

.maker-tab.is-active {
  border-color: #3e3e3e;
  background: #f7f7f7;
}

.maker-tab-icon {
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 18px;
  display: none;
}

.maker-tab-icon-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

/* ------------------------------
   タブ：線なし・ベタ塗り
------------------------------ */
#maker-base-options .maker-option,
.maker-tabs .maker-tab {
  border: none;
  background: #f3f3f3;
  font-size: 13px;
  font-weight: 700;
}

#maker-base-options .maker-option:hover,
.maker-tabs .maker-tab:hover {
  border: none;
  background: #eaeaea;
}

#maker-base-options .maker-option.is-active,
.maker-tabs .maker-tab.is-active {
  border: none;
  background: #3e3e3e;
  color: #fff;
}

@media (max-width: 860px) {
  .maker-preview-wrap {
    position: static;
  }
}

@media screen and (max-width: 1024px) {
  body.page-template-page-maker .post_download {
    padding: 0 8% 6%;
  }
  .illust_main>.inner{
    padding: 0;
  }
  .layer_select_wrap{
    margin-top: 8%;
  }
  .layer_select_wrap>.inner {
    padding: 0;
  }

  .illust_cont#maker .illust_main .post_thumb2 {
    padding: 8% 8% 0;
  }

  .illust_cont#maker {
    display: block;
    padding: 0 8%;
    margin-top: 0;
  }

  .layer_select_wrap {
    width: 100%;
    padding: 0;
  }

  .ad_01 {
    height: auto;
    padding: 20px 8%;
  }
}

/*------------------------------------------------------------

  【MacBook用】縦幅短いとき

------------------------------------------------------------*/
@media (max-height: 800px) and (min-width: 1024px) {
  .maker-preview {
    aspect-ratio: 1.3 / 1;
  }
}