@charset "UTF-8";
/* ---------------------------------------
  コンテンツ
-----------------------------------------*/
.custom-confirm_shop a, .custom-confirm_test, .custom-input_output_copy, .custom-input_output_reset, .custom-design_list_btn, .tk-header_title_btn a {
  min-width: 10rem;
  line-height: 1.5;
  padding: 0.5rem 2rem;
  min-height: 4rem;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  color: #FFFFFF;
  background: #46545b;
  border: 2px solid #46545b;
  border-radius: 1rem;
  isolation: isolate;
  position: relative;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  cursor: pointer;
}
.custom-confirm_shop a:hover, .custom-confirm_test:hover, .custom-input_output_copy:hover, .custom-input_output_reset:hover, .custom-design_list_btn:hover, .tk-header_title_btn a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .custom-confirm_shop a, .custom-confirm_test, .custom-input_output_copy, .custom-input_output_reset, .custom-design_list_btn, .tk-header_title_btn a {
    min-width: 25.641025641vw;
    padding: 1.2820512821vw 5.1282051282vw;
  }
}
.comment-custom {
  padding: 8rem 0;
}
@media screen and (max-width: 767px) {
  .comment-custom {
    padding: 20.5128205128vw 0;
  }
}
.comment-custom:last-child {
  padding-bottom: 16rem;
}
@media screen and (max-width: 767px) {
  .comment-custom:last-child {
    padding-bottom: 41.0256410256vw;
  }
}
.comment-custom_flex {
  margin-top: 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .comment-custom_flex {
    display: block;
    margin-top: 12.8205128205vw;
  }
}

.tk-header {
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  .tk-header {
    margin-top: 7.6923076923vw;
  }
}
.tk-header_title_main {
  font-size: 14rem;
  font-family: "Poppins", sans-serif;
  line-height: 1;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .tk-header_title_main {
    font-size: 16.6666666667vw;
  }
}
.tk-header_title_main_d1 {
  color: #8acf19;
}
.tk-header_title_sub {
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .tk-header_title_sub {
    font-size: 3.5897435897vw;
  }
}
.tk-header_title_text {
  font-size: 1.8rem;
  text-align: center;
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .tk-header_title_text {
    text-align: left;
    font-size: 4.1025641026vw;
    margin-top: 7.6923076923vw;
  }
}
.tk-header_title_text.-second {
  margin-top: 3rem;
  padding-top: 3rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .tk-header_title_text.-second {
    margin-top: 7.6923076923vw;
    padding-top: 7.6923076923vw;
  }
}
.tk-header_title_text.-second::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin-inline: auto;
  width: 40rem;
  max-width: 100%;
  border-top: 2px dashed #333333;
}
.tk-header_title_note {
  font-size: 1.2rem;
  text-align: center;
  padding: 1.5rem 1rem;
  max-width: 100%;
  width: 65rem;
  margin: 3rem auto 0;
  border: 2px solid #bf2424;
}
@media screen and (max-width: 767px) {
  .tk-header_title_note {
    font-size: 2.8205128205vw;
    padding: 3.8461538462vw 1.7948717949vw;
    width: 100%;
    margin-top: 7.6923076923vw;
  }
}
.tk-header_title_btn {
  margin-top: 2rem;
}
.tk-header_title_btn a {
  width: 23rem;
  min-height: 5rem;
  border-color: #fc4d50;
  background: #fc4d50;
  color: #FFFFFF;
  margin-inline: auto;
}
.tk-header_desc {
  margin-top: 8rem;
}
.tk-header_desc_title {
  font-size: 2.8rem;
  font-weight: 700;
}

.tk-step-title {
  font-size: 2.4rem;
  letter-spacing: 0;
  font-weight: 700;
  margin-top: 4rem;
  margin-bottom: 2rem;
  cursor: pointer;
  padding: 0.7rem 3rem 0.7rem 6rem;
  color: #FFFFFF;
  background-color: #333333;
  position: relative;
}
@media screen and (max-width: 767px) {
  .tk-step-title {
    font-size: 5.1282051282vw;
    margin-top: 10.2564102564vw;
    margin-bottom: 5.1282051282vw;
    padding: 1.2820512821vw 5.1282051282vw 1.2820512821vw 15.3846153846vw;
  }
}
.tk-step-title::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 2rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: #FFFFFF;
  height: 0.6em;
  width: 0.75em;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
@media screen and (max-width: 767px) {
  .tk-step-title::before {
    right: 2.5641025641vw;
  }
}
.tk-step-title.is-close::before {
  margin-top: 0.2rem;
  background: #FFFFFF;
  height: 0.6em;
  width: 0.75em;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
@-webkit-keyframes step-boyon {
  0% {
    -webkit-transform: scale(1, 1) translate(0%, 0%);
            transform: scale(1, 1) translate(0%, 0%);
  }
  15% {
    -webkit-transform: scale(0.9, 0.9) translate(0%, 5%);
            transform: scale(0.9, 0.9) translate(0%, 5%);
  }
  30% {
    -webkit-transform: scale(1.3, 0.8) translate(0%, 10%);
            transform: scale(1.3, 0.8) translate(0%, 10%);
  }
  50% {
    -webkit-transform: scale(0.8, 1.3) translate(0%, -10%);
            transform: scale(0.8, 1.3) translate(0%, -10%);
  }
  70% {
    -webkit-transform: scale(1.1, 0.9) translate(0%, 5%);
            transform: scale(1.1, 0.9) translate(0%, 5%);
  }
  100% {
    -webkit-transform: scale(1, 1) translate(0%, 0%);
            transform: scale(1, 1) translate(0%, 0%);
  }
}
@keyframes step-boyon {
  0% {
    -webkit-transform: scale(1, 1) translate(0%, 0%);
            transform: scale(1, 1) translate(0%, 0%);
  }
  15% {
    -webkit-transform: scale(0.9, 0.9) translate(0%, 5%);
            transform: scale(0.9, 0.9) translate(0%, 5%);
  }
  30% {
    -webkit-transform: scale(1.3, 0.8) translate(0%, 10%);
            transform: scale(1.3, 0.8) translate(0%, 10%);
  }
  50% {
    -webkit-transform: scale(0.8, 1.3) translate(0%, -10%);
            transform: scale(0.8, 1.3) translate(0%, -10%);
  }
  70% {
    -webkit-transform: scale(1.1, 0.9) translate(0%, 5%);
            transform: scale(1.1, 0.9) translate(0%, 5%);
  }
  100% {
    -webkit-transform: scale(1, 1) translate(0%, 0%);
            transform: scale(1, 1) translate(0%, 0%);
  }
}
.tk-step-title-num {
  font-size: 1.6rem;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  position: absolute;
  top: -3rem;
  left: -1rem;
  border-radius: 50%;
  width: 6.5rem;
  height: 6.5rem;
  padding-top: 1px;
  padding-right: 1px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #8acf19;
  opacity: 1;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .tk-step-title-num {
    font-size: 3.5897435897vw;
    width: 15.3846153846vw;
    height: 15.3846153846vw;
  }
}
.tk-step-title-num::before {
  content: "";
  position: absolute;
  bottom: 0.5rem;
  right: -0.6rem;
  -webkit-transform: rotate(-50deg);
          transform: rotate(-50deg);
  background: #8acf19;
  height: 1.2em;
  width: 1.7em;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .tk-step-title-num::before {
    bottom: 1.2820512821vw;
    right: -1.5384615385vw;
  }
}
.tk-step-title-num.is-start {
  -webkit-animation: step-boyon 0.8s ease-out;
          animation: step-boyon 0.8s ease-out;
}
.tk-step-title:first-child {
  margin-top: 0;
}

.tk-step-sub-title {
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 700;
  margin-top: 3rem;
  margin-bottom: 2rem;
  padding: 0.1em 1rem;
  border-left: 3px solid #333333;
}
@media screen and (max-width: 767px) {
  .tk-step-sub-title {
    font-size: 4.1025641026vw;
  }
}
.tk-step-sub-title:first-child {
  margin-top: 0;
}
.tk-step-sub-title > span {
  font-size: 1.2rem;
  display: block;
  color: #bf2424;
}

.custom-design_category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .custom-design_category_li {
    width: calc((100% - 10rem) / 6);
    margin-right: 2rem;
  }
  .custom-design_category_li:nth-child(6n) {
    margin-right: 0;
  }
  .custom-design_category_li:nth-child(n+7) {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .custom-design_category_li {
    width: calc((100% - 5.1282051282vw) / 3);
    margin-right: 2.5641025641vw;
  }
  .custom-design_category_li:nth-child(3n) {
    margin-right: 0;
  }
  .custom-design_category_li:nth-child(n+4) {
    margin-top: 2.5641025641vw;
  }
}
.custom-design_category_li button {
  background: none;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  cursor: pointer;
}
.custom-design_category_li button:hover {
  opacity: 0.7;
}
.custom-design_category_name {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .custom-design_category_name {
    font-size: 3.0769230769vw;
  }
}
.custom-design_list_ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: -1rem;
  margin-right: -3rem;
}
@media screen and (max-width: 767px) {
  .custom-design_list_ul {
    margin-top: -2.5641025641vw;
    margin-right: -5.1282051282vw;
  }
}
.custom-design_list_li {
  width: calc((100% - 12rem) / 4);
  margin-right: 3rem;
  display: none;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .custom-design_list_li {
    width: calc((100% - 10.2564102564vw) / 2);
    margin-right: 5.1282051282vw;
    margin-top: 2.5641025641vw;
  }
}
.custom-design_list label {
  display: block;
  position: relative;
  cursor: pointer;
  height: 100%;
}
.custom-design_list label input {
  position: absolute;
  width: 1px;
  top: 0;
  left: 0;
  visibility: hidden;
}
.custom-design_list label input:checked + div .custom-design_list_box_img {
  background: #46545b;
}
.custom-design_list label input:checked + div .custom-design_list_box_img::before {
  opacity: 0.8;
}
.custom-design_list label input:checked + div .custom-design_list_box_img::after {
  opacity: 1;
}
.custom-design_list_box {
  height: 100%;
}
.custom-design_list_box_img {
  border: 2px solid #46545b;
  background: #FFFFFF;
  border-radius: 1rem;
  padding: 0 2rem;
  overflow: hidden;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  position: relative;
}
@media screen and (max-width: 767px) {
  .custom-design_list_box_img {
    padding: 0 2.5641025641vw;
  }
}
.custom-design_list_box_img::before, .custom-design_list_box_img::after {
  content: "";
  position: absolute;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  opacity: 0;
}
.custom-design_list_box_img::before {
  top: -14rem;
  left: -12rem;
  width: 23rem;
  height: 15rem;
  -webkit-transform: rotate(60deg);
          transform: rotate(60deg);
  background-color: #FFFFFF;
}
@media screen and (max-width: 767px) {
  .custom-design_list_box_img::before {
    top: -35.8974358974vw;
    left: -30.7692307692vw;
    width: 56.4102564103vw;
    height: 38.4615384615vw;
  }
}
.custom-design_list_box_img::after {
  content: "選択中";
  font-size: 1.4rem;
  font-weight: 700;
  color: #46545b;
  top: 1rem;
  left: 1rem;
}
@media screen and (max-width: 767px) {
  .custom-design_list_box_img::after {
    font-size: 3.0769230769vw;
    top: 2.5641025641vw;
    left: 2.5641025641vw;
  }
}
.custom-design_list_box_img img {
  width: 100%;
}
.custom-design_list_box_name {
  font-size: 1.4rem;
  max-height: 3em;
  overflow: hidden;
  margin-bottom: 0.3rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .custom-design_list_box_name {
    font-size: 3.0769230769vw;
  }
}
.custom-design_list_btn {
  margin-top: 1rem;
  padding-left: 3rem;
  display: none;
}
@media screen and (max-width: 767px) {
  .custom-design_list_btn {
    margin-top: 2.5641025641vw;
    padding-left: 7.6923076923vw;
  }
}
.custom-design_list_btn::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% + 0.05em);
  left: 1.1rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: #FFFFFF;
  height: 0.65em;
  width: 0.65em;
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
}
@media screen and (max-width: 767px) {
  .custom-design_list_btn::before {
    left: 2.8205128205vw;
  }
}

.now-smart .smart-hidden {
  display: none;
}

.custom-input {
  width: 39rem;
  margin-right: 3rem;
}
@media screen and (max-width: 767px) {
  .custom-input {
    width: auto;
    margin-right: 0;
  }
}
.custom-input_box > div {
  padding: 2rem 0;
  border-bottom: 1px solid #333333;
}
@media screen and (max-width: 767px) {
  .custom-input_box > div {
    padding: 5.1282051282vw 0;
  }
}
.custom-input_box > div:first-child, .custom-input_box > div.-first {
  margin-top: 0;
  padding-top: 0;
}
.custom-input_title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .custom-input_title {
    font-size: 4.1025641026vw;
  }
}
.custom-input_note {
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .custom-input_note {
    font-size: 2.5641025641vw;
  }
}
.custom-input_input, .custom-input_radio, .custom-input_select, .custom-input_range {
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .custom-input_input, .custom-input_radio, .custom-input_select, .custom-input_range {
    margin-top: 1.2820512821vw;
  }
}
.custom-input_input input[type=text] {
  font-size: 1.6rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .custom-input_input input[type=text] {
    font-size: 3.5897435897vw;
  }
}
.custom-input_radio {
  font-size: 1.6rem;
  line-height: 1.5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .custom-input_radio {
    font-size: 3.5897435897vw;
    margin-top: 1.2820512821vw;
  }
}
.custom-input_output_textarea {
  font-size: 1.6rem;
  line-height: 1.5;
  position: relative;
}
@media screen and (max-width: 767px) {
  .custom-input_output_textarea {
    font-size: 3.5897435897vw;
  }
}
.custom-input_output_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .custom-input_output_box {
    margin-top: 2.5641025641vw;
  }
}
.custom-input_output_copy {
  width: auto;
  margin-right: 1rem;
}
@media screen and (max-width: 767px) {
  .custom-input_output_copy {
    margin-right: 2.5641025641vw;
  }
}
.custom-input_output_text {
  display: none;
  font-weight: 700;
  color: #FFFFFF;
  text-align: center;
  padding: 2rem 1rem;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(100% - 2rem);
  background: rgba(0, 0, 0, 0.7);
}
@media screen and (max-width: 767px) {
  .custom-input_output_text {
    padding: 5.1282051282vw 2.5641025641vw;
    width: calc(100% - 5.1282051282vw);
  }
}

.custom-confirm {
  width: 67rem;
  position: sticky;
  top: 2rem;
}
@media screen and (max-width: 767px) {
  .custom-confirm {
    width: auto;
    position: relative;
    margin-top: 7.6923076923vw;
  }
}
.custom-confirm .comments {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  height: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
  -webkit-transform-origin: center top;
          transform-origin: center top;
}
@media screen and (max-width: 767px) {
  .custom-confirm .comments {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
}
.custom-confirm .comments .comment {
  width: 130%;
}
@media screen and (max-width: 767px) {
  .custom-confirm .comments .comment {
    width: 200%;
  }
}
.custom-confirm_design {
  height: 55rem;
  background: #efefef;
  border-radius: 1rem;
  padding: 2rem 1rem;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  position: relative;
}
@media screen and (max-width: 767px) {
  .custom-confirm_design {
    border-radius: 2.5641025641vw;
    padding: 5.1282051282vw 2.5641025641vw;
    height: 64.1025641026vw;
  }
}
.custom-confirm_design::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: none;
}
.custom-confirm_design.is-dark {
  background: #333333;
}
.custom-confirm_design_inner {
  overflow: hidden;
  height: 100%;
}
.custom-confirm_design_inner.is-reverse .comments {
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}
.custom-confirm_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .custom-confirm_box {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 5.1282051282vw;
  }
}
@media screen and (max-width: 767px) {
  .custom-confirm_bg-change {
    width: 100%;
  }
}
.custom-confirm_test {
  min-height: 5rem;
  margin-left: auto;
  margin-right: 1rem;
}
@media screen and (max-width: 767px) {
  .custom-confirm_test {
    margin-left: 0;
    margin-top: 2.5641025641vw;
    min-height: 15.3846153846vw;
    margin-right: 2.5641025641vw;
  }
}
.custom-confirm_test.is-disabled {
  pointer-events: none;
  border-color: #AAAAAA;
  background: #AAAAAA;
}
@media screen and (max-width: 767px) {
  .custom-confirm_shop {
    width: 56.4102564103vw;
    margin-top: 2.5641025641vw;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.custom-confirm_shop a {
  width: 23rem;
  min-height: 5rem;
  border-color: #fc4d50;
  background: #fc4d50;
  color: #FFFFFF;
}
.custom-confirm_shop a::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% + 0.05em);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1.1rem;
  width: 1.6em;
  height: 1.6em;
  background: url("../img/common/icon_target-white.svg") no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .custom-confirm_shop a::before {
    right: 2.8205128205vw;
  }
}
@media screen and (max-width: 767px) {
  .custom-confirm_shop a {
    width: 100%;
    min-height: 15.3846153846vw;
    margin-right: 2.5641025641vw;
  }
}
.custom-confirm_shop.is-disabled a {
  pointer-events: none;
  border-color: #AAAAAA;
  background: #AAAAAA;
}

/* ---------------------------------------
  各テンプレートの微調整のためのCSS
-----------------------------------------*/
.html-koboresakura .name,
.html-koboresakura .comment-text,
.html-koboresakura-goka .name,
.html-koboresakura-goka .comment-text {
  position: relative;
  z-index: 1;
}

.html-meruaora-original01 .name,
.html-meruaora-original01 .comment-text {
  position: relative;
  z-index: 1;
}