@charset "UTF-8";
/*
 * 変数
 */
/*
 * ブレークポイント
 */
/*
 * 480pxより広くなったら改行なくす
 */
@media (min-width: 610px) {
  .br_sp {
    display: none;
  }
}

/*
 * 780pxより広くなったら改行なくす
 */
@media (min-width: 950px) {
  .br_tab {
    display: none;
  }
}

/*
 * 780pxより狭くなったら改行なくす
 */
@media (max-width: 950px) {
  .pc_br {
    display: none;
  }
}

/*
 * トランジション
 */
/*
 * ボタン
 */
.challenge-block {
  margin-top: 5%;
  position: relative;
  background: url(../images/back2.png) repeat;
  background-size: 583px auto;
}
@media (max-width: 950px) {
  .challenge-block {
    margin-top: 0;
  }
}

label {
  display: flex;
  align-items: center;
}

.form-parts {
  margin-top: 5%;
}

.ch-tit {
  text-align: center;
  position: relative;
  width: 74%;
  margin: 0 auto;
  padding: 5% 0 0;
  max-width: 785px;
}
.ch-tit img {
  width: 100%;
}
@media (max-width: 610px) {
  .ch-tit {
    width: 84%;
    margin: 0 auto;
    padding: 11% 0 3%;
  }
}

/*
 商品画面
 */
.typeselect-block {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.typeselect-block span {
  display: inline-block;
  padding-top: 4px;
}
@media (max-width: 610px) {
  .typeselect-block {
    width: 98%;
  }
  .typeselect-block span {
    font-size: 15px;
  }
  .typeselect-block:first-child {
    margin-bottom: 5%;
  }
}

.tab-content-inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  justify-content: space-around;
  display: flex;
  flex-wrap: wrap;
}

.item-block {
  position: relative;
  min-width: 200px;
  height: 100%;
}
@media (max-width: 610px) {
  .item-block {
    box-shadow: none;
    background-color: transparent;
  }
}

.item-box {
  display: flex;
  align-items: center;
  flex-direction: column;
  transition: all 0.55s cubic-bezier(0.175, 0.885, 0.47, 1.26);
  min-height: 300px;
  background-color: white;
  box-shadow: 2px 7px 18px -6px rgba(0, 0, 0, 0.18);
}
@media (max-width: 610px) {
  .item-box {
    background-color: transparent;
    min-height: auto;
  }
}

/*チェックされたらチェックマーク表示*/
.checked-block {
  position: relative;
  border: 4px solid #f65f53;
}

/* アイコン部 */
.checked-block:before {
  position: absolute;
  display: inline-block;
  font-weight: bold;
  top: 0;
  right: 0;
  transform: translate(40%, -40%);
  content: "";
  background-image: url("../images/checkmark.svg");
  background-size: contain;
  background-repeat: no-repeat;
  border-radius: 50%;
  font-size: 1em;
  line-height: 1;
  min-width: 1em;
  width: 32px;
  height: 32px;
  border: 2px solid #fff;
  box-shadow: 0px 0px 3px #999;
  z-index: 1;
}

.item-title {
  font-weight: bold;
  font-size: 1.2em;
}

.item-title-sub {
  font-size: 13px;
  color: #a8a8a8;
  display: block;
  word-break: break-word;
}

span.lfbox-span {
  vertical-align: middle;
  font-size: 13px;
  width: 95%;
  margin: 0 auto;
  display: inline-block;
  margin-top: 4%;
  margin-bottom: 9%;
}
span.lfbox-span .fa-circle-exclamation {
  margin-right: 3px;
}
@media (max-width: 610px) {
  span.lfbox-span {
    margin-bottom: 0;
  }
}

.sp-option-btn {
  display: none;
}
@media (max-width: 610px) {
  .sp-option-btn {
    display: inline-block;
    background-color: #f65f53;
    color: white;
    padding: 10px 2em;
    margin-top: 4%;
  }
  .sp-option-btn p {
    display: inline-block;
    margin-right: 10px;
  }
}

.aftersenkyo-block .sp-option-btn {
  background-color: #2F33A5;
}

.item-box-text {
  text-align: center;
  margin-top: 5%;
  width: 95%;
}
@media (max-width: 610px) {
  .item-box-text {
    background: white;
    width: 85%;
    position: absolute;
    bottom: -42%;
    padding: 4%;
    box-shadow: 0px 4px 11px 0px rgba(0, 0, 0, 0.14);
  }
}

.item-check-label {
  display: block;
}

.item-box-img {
  width: 100%;
  height: 195px;
  overflow: hidden;
  position: relative;
}
.item-box-img::after {
  content: "";
  display: block;
  opacity: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  border-radius: 30px;
  -webkit-transition: all 0.4s cubic-bezier(0.23, 1, 0.58, 1);
  transition: all 0.4s cubic-bezier(0.23, 1, 0.58, 1);
  background: #000;
}
.item-box-img img {
  transition: all 0.55s cubic-bezier(0.175, 0.885, 0.47, 1.26);
  height: 195px;
  object-fit: cover;
  width: 100%;
  transition: all 0.5s cubic-bezier(0.37, 0.16, 0.12, 1);
}
@media (max-width: 610px) {
  .item-box-img {
    height: auto;
  }
  .item-box-img img {
    height: 260px;
    width: 100%;
    object-fit: cover;
    object-position: bottom;
  }
}

.temp-ok {
  background-color: #f65f53;
  color: white;
  font-weight: bold;
  display: inline-block;
  margin-bottom: 2%;
  position: absolute;
  font-size: 13px;
  padding: 4px;
  top: 0;
  left: 0;
  z-index: 1;
}

.po_temp-ok {
  background-color: #2F33A5;
}

.pos-req {
  color: #f65f53;
  background-color: white;
  padding: 2px 7px 0px;
  font-weight: bold;
  right: 0;
  left: 0;
  top: 0px;
  display: inline-block;
  margin: auto;
  border: 1px solid #f65f53;
  font-size: 0.8em;
  margin-bottom: 8%;
}
@media (max-width: 610px) {
  .pos-req {
    margin-bottom: 0;
  }
}

.pol-act {
  text-align: center;
  width: 100%;
}
.pol-act .select-read-text {
  margin-bottom: 2%;
  color: #2F33A5;
}
.pol-act-tit {
  border-top: 2px solid #f65f53;
  border-bottom: 2px solid #f65f53;
  margin-bottom: 3%;
}
.pol-act-tit p {
  font-weight: bold;
  color: #f65f53;
  line-height: 1;
  font-size: 2em;
}

/*カートに追加*/
.item-block-btn .item-input {
  opacity: 0;
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
}
.item-block-btn .item-input + label {
  font-size: 1.2rem;
  font-weight: bold;
  color: #f65f53;
  background: white;
  display: inline-block;
  padding: 11px 1em;
  border-radius: 2em;
  border: 3px solid #f65f53;
}
.item-block-btn .item-input:checked + label {
  background-color: #f65f53;
  color: white;
}
.item-block-btn .item-input:checked + label::after {
  display: inline-block;
  content: "済";
  width: 3rem;
  height: 1.6rem;
  line-height: 1.5;
  vertical-align: baseline;
  text-align: left;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-width%3D%224%22%20stroke-linecap%3D%22square%22%20stroke-linejoin%3D%22arcs%22%3E%3Cpolyline%20points%3D%2220%206%209%2017%204%2012%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: bottom right;
  background-color: #f65f53;
}
.item-block-btn .item-input:focus + label {
  outline: solid #f65f53 1px;
  box-shadow: 0 0 8px #f65f53;
}

/*テンプレート選択*/
.item-num {
  margin-top: 6%;
}
@media (max-width: 610px) {
  .item-num {
    margin-bottom: 7%;
  }
}

.item-eria-inner {
  display: flex;
  justify-content: space-around;
  margin-bottom: 3%;
}
.item-eria-inner label {
  display: inline-block;
}
@media (max-width: 610px) {
  .item-eria-inner {
    flex-direction: column;
    align-items: center;
    margin-top: 3%;
  }
}

.kouhi-txt {
  border: 1px solid #f65f53;
  display: inline-block;
  padding: 6px 10px;
  font-size: 1rem;
  background: #fff0f0;
}

.la-exclamation-circle {
  font-size: 1.8rem;
  vertical-align: sub;
}

/*タイプ選択*/
/* オリジナルorテンプレート選択　*/
.designselect {
  opacity: 0;
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
}
.designselect + label {
  font-size: 1.5rem;
  font-weight: bold;
  border: 2px solid #f65f53;
  padding: 1em 2em;
}
.designselect + label span {
  font-size: 1rem;
  font-weight: normal;
}
@media (max-width: 950px) {
  .designselect + label {
    padding: 1em;
  }
}
@media (max-width: 610px) {
  .designselect + label {
    width: 100%;
    padding: 1em 0;
    font-size: 1.2rem;
  }
}
.designselect + label::before {
  display: inline-block;
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  border: 2px solid #f65f53;
  margin-right: 0.5rem;
  vertical-align: text-top;
}
@media (max-width: 610px) {
  .designselect + label::before {
    vertical-align: top;
  }
}
.designselect:checked + label {
  background-color: #f65f53;
  color: white;
}
.designselect:checked + label::before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpolyline fill='none' stroke='%23fff' stroke-width='3' points='2,7.3 7.3,12.7 18,2 '/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 0 2px;
  background-color: #f65f53;
  border: 2px solid white;
}
.designselect:focus + label {
  outline: solid #f65f53 2px;
  box-shadow: 0 0 8px #f65f53;
  border-radius: 0;
}

/*テンプレートABC選択*/
.select-read-text {
  display: inline-block;
  color: #2F33A5;
  position: relative;
  font-weight: bold;
  margin-bottom: 3%;
  font-size: 1.2em;
}
@media (max-width: 610px) {
  .select-read-text {
    font-size: 1.1rem;
  }
}
.select-read-text::before, .select-read-text::after {
  content: "\f0d7";
  font-weight: 900;
  font-size: 2em;
  color: #f65f53;
  position: absolute;
  line-height: 1;
  top: -6px;
}
@media (max-width: 950px) {
  .select-read-text::before, .select-read-text::after {
    top: 0px;
    font-size: 1.5em;
  }
}
@media (max-width: 610px) {
  .select-read-text::before, .select-read-text::after {
    font-size: 1.3em;
  }
}
.select-read-text::before {
  left: -31px;
}
@media (max-width: 950px) {
  .select-read-text::before {
    left: -21px;
  }
}
.select-read-text::after {
  right: -31px;
}
@media (max-width: 950px) {
  .select-read-text::after {
    right: -19px;
  }
}

.temp-read-span {
  display: block;
  margin-top: -3%;
  font-size: 15px;
}
.temp-read-span + p {
  margin-bottom: 3%;
}

.leaf-f-b-tit {
  color: #2F33A5;
  font-weight: bold;
  font-size: max(25px, min(2vw, 44px));
  font-size: clamp(25px, 2vw, 44px);
  background: #FFCC41;
  margin-top: 4%;
}

.bira-span {
  font-weight: bold;
  color: #2F33A5;
  display: inline-block;
  background: #fff203;
  padding: 9px 3em;
  margin-top: 2%;
}

.template-block-anim, .original-block-anim, .colorradio {
  animation: tooltipShow 0.3s linear 0s;
}

@keyframes tooltipShow {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}
.cp_checkbox {
  position: relative;
  padding: 3% 0;
}
.cp_checkbox::after {
  content: "";
  display: inline-block;
  width: 114%;
  height: 100%;
  top: 0;
  left: -10%;
  background-color: #ececec;
  position: absolute;
  z-index: -1;
}

.item-template-block {
  margin-top: 4%;
  margin-bottom: 3%;
}
@media (max-width: 610px) {
  .item-template-block {
    margin-top: 10%;
  }
}

.hon_colorsample-box, .sen_colorsample-box, .tarp_colorsample-box, .nobori_colorsample-box {
  display: none;
  margin-top: 4%;
}

.temp-image {
  display: flex;
  justify-content: space-between;
  font-size: 15px;
  flex-wrap: wrap;
  margin-top: 2%;
  align-items: flex-start;
}
@media (max-width: 610px) {
  .temp-image {
    flex-direction: column;
    align-items: center;
  }
}

.medium-zoom-overlay {
  z-index: 4;
}

.medium-zoom-image--opened {
  z-index: 4;
}

.spaser {
  width: 30%;
}

.temp-image-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 31%;
  margin-bottom: 5%;
  background-color: #ececec;
  padding: 3% 2% 2% 2%;
  border: 2px solid #ececec;
  transition: all 0.5s cubic-bezier(0.37, 0.16, 0.12, 1);
}
.temp-image-box-top {
  display: flex;
  align-items: center;
  flex-direction: column;
  margin-bottom: 3%;
}
.temp-image-box-top .image-span {
  position: relative;
  width: 90%;
  max-width: 320px;
}
.temp-image-box-top img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
@media (max-width: 950px) {
  .temp-image-box {
    width: 46%;
    margin-bottom: 5%;
  }
}
@media (max-width: 610px) {
  .temp-image-box {
    width: 90%;
    padding: 5% 2%;
  }
}

.kanban-image-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 31%;
  margin-bottom: 5%;
  background-color: #ececec;
  padding: 3% 2% 2% 2%;
  border: 2px solid #ececec;
  transition: all 0.5s cubic-bezier(0.37, 0.16, 0.12, 1);
}
.kanban-image-box-top {
  display: flex;
  align-items: center;
  flex-direction: column;
  margin-bottom: 3%;
}
.kanban-image-box-top .image-span {
  position: relative;
  width: 90%;
  max-width: 320px;
}
.kanban-image-box-top img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
@media (max-width: 950px) {
  .kanban-image-box {
    width: 46%;
    margin-bottom: 5%;
  }
}
@media (max-width: 610px) {
  .kanban-image-box {
    width: 90%;
    padding: 5% 2%;
  }
}

.bira-image-box {
  width: 47%;
  padding: 3% 6% 2% 6%;
  margin-bottom: 5%;
  background-color: #ececec;
}
@media (max-width: 610px) {
  .bira-image-box {
    width: 90%;
  }
}

.news-image-box {
  width: 45%;
}
.news-image-box .image-span {
  max-width: 431px;
}
@media (max-width: 610px) {
  .news-image-box {
    width: 90%;
  }
}

/*タイプ選択*/
.temp-image-radio {
  opacity: 0;
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
}

.temp-image-box-top label {
  margin-top: 7%;
  position: relative;
  padding: 8px 0;
  padding-left: 48px;
  border: 2px solid #ddd;
  border-radius: 0.7em;
  width: 89%;
  background-color: white;
  font-weight: bold;
  transition: all 0.2s ease;
}
.temp-image-box-top label::before, .temp-image-box-top label::after {
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}
.temp-image-box-top label::before {
  background-color: #fff;
  border: 2px solid #ddd;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  left: 8px;
}
.temp-image-box-top label::after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpolyline fill='none' stroke='%23fff' stroke-width='3' points='2,7.3 7.3,12.7 18,2 '/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 0 2px;
  width: 18px;
  height: 17px;
  left: 11px;
  opacity: 0;
}
@media (max-width: 610px) {
  .temp-image-box-top label {
    width: 90%;
  }
}

.temp-image-radio:checked + label {
  border: 2px solid #f65f53;
  background-color: #f65f53;
  color: white;
}

.temp-image-radio:checked + label::before {
  border: 2px solid white;
  background-color: #f65f53;
}

.temp-image-radio:checked + label::after {
  opacity: 1;
}

/*カラー選択*/
.color-radio-box {
  /*色別*/
}
.color-radio-box label {
  margin-top: 4%;
  position: relative;
  padding: 5px 14px;
  padding-left: 36px;
  border: 2px solid #ddd;
  border-radius: 0.7em;
  display: inline-block;
  background-color: white;
}
.color-radio-box label span::before, .color-radio-box label span::after {
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}
.color-radio-box label span::before {
  border-radius: 50%;
  width: 20px;
  height: 20px;
  left: 8px;
}
@media (max-width: 610px) {
  .color-radio-box label {
    margin-top: 0;
    margin-bottom: 8px;
  }
}
.color-radio-box input.color-radio-input {
  opacity: 0;
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
}
.color-radio-box input.color-radio-input:checked + label span::after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpolyline fill='none' stroke='%23fff' stroke-width='3' points='2,7.3 7.3,12.7 18,2 '/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 0 2px;
  width: 18px;
  height: 17px;
  left: 11px;
}
.color-radio-box .lf-color-pare {
  display: inline-block;
  margin-top: 1%;
}
.color-radio-box .radio-color-red + label span::before {
  background-color: #ff0000;
  border: 2px solid white;
}
.color-radio-box .radio-color-red:checked + label {
  border: 2px solid #ff0000;
  background-color: #ff0000;
  color: white;
}
.color-radio-box .radio-color-blue + label span::before {
  background-color: #00a0e9;
  border: 2px solid white;
}
.color-radio-box .radio-color-blue:checked + label {
  border: 2px solid #00a0e9;
  background-color: #00a0e9;
  color: white;
}
.color-radio-box .radio-color-cobalt + label span::before {
  background-color: #1a1ab8;
  border: 2px solid white;
}
.color-radio-box .radio-color-cobalt:checked + label {
  border: 2px solid #1a1ab8;
  background-color: #1a1ab8;
  color: white;
}
.color-radio-box .radio-color-green + label span::before {
  background-color: #008000;
  border: 2px solid white;
}
.color-radio-box .radio-color-green:checked + label {
  border: 2px solid #008000;
  background-color: #008000;
  color: white;
}
.color-radio-box .radio-color-pink + label span::before {
  background-color: #ff69b4;
  border: 2px solid white;
}
.color-radio-box .radio-color-pink:checked + label {
  border: 2px solid #ff69b4;
  background-color: #ff69b4;
  color: white;
}
.color-radio-box .radio-color-orange + label span::before {
  background-color: #ff4500;
  border: 2px solid white;
}
.color-radio-box .radio-color-orange:checked + label {
  border: 2px solid #ff4500;
  background-color: #ff4500;
  color: white;
}

/*政治活動用タスキ　カラー選択*/
.ho-tasuki-temp-image {
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
}
.ho-tasuki-temp-image .ho-tasuki-image-box {
  width: 23%;
}

.tasuki-image-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 31%;
  margin-bottom: 5%;
  background-color: #ececec;
  padding: 3% 2% 2% 2%;
  border: 2px solid #ececec;
  transition: all 0.5s cubic-bezier(0.37, 0.16, 0.12, 1);
  justify-content: flex-start;
  width: 17%;
  margin: 3% 1% 2% 1%;
}
.tasuki-image-box .c-radio {
  padding-left: 10px;
}
.tasuki-image-box .c-radio span::before {
  border-radius: 50%;
  width: 20px;
  height: 20px;
  left: 2px;
}
.tasuki-image-box .temp-image-box-top {
  /*色別*/
}
.tasuki-image-box .temp-image-box-top img {
  width: 67%;
}
.tasuki-image-box .temp-image-box-top label {
  width: 100%;
}
.tasuki-image-box .temp-image-box-top label::before, .tasuki-image-box .temp-image-box-top label::after {
  content: none;
}
.tasuki-image-box .temp-image-box-top label span::before {
  background-color: #fff;
  border: 2px solid #ddd;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  left: 8px;
}
@media (max-width: 610px) {
  .tasuki-image-box .temp-image-box-top label span::before {
    width: 16px;
    height: 16px;
    left: 3px;
  }
}
.tasuki-image-box .temp-image-box-top .label-color-white:checked + label {
  border: 2px solid #373737;
  background-color: white;
  color: #373737;
}
.tasuki-image-box .temp-image-box-top .label-color-white:checked + label span::before {
  border: 2px solid #373737;
  background-color: white;
}
.tasuki-image-box .temp-image-box-top .label-color-white:checked + label span::after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpolyline fill='none' stroke='%23373737' stroke-width='3' points='2,7.3 7.3,12.7 18,2 '/%3E%3C/svg%3E");
}
.tasuki-image-box .temp-image-box-top .label-color-red:checked + label {
  border: 2px solid red;
  background-color: red;
  color: white;
}
.tasuki-image-box .temp-image-box-top .label-color-red:checked + label span::before {
  border: 2px solid white;
  background-color: red;
}
.tasuki-image-box .temp-image-box-top .label-color-skyblue:checked + label {
  border: 2px solid deepskyblue;
  background-color: deepskyblue;
  color: white;
}
.tasuki-image-box .temp-image-box-top .label-color-skyblue:checked + label span::before {
  border: 2px solid white;
  background-color: deepskyblue;
}
.tasuki-image-box .temp-image-box-top .label-color-blue:checked + label {
  border: 2px solid blue;
  background-color: blue;
  color: white;
}
.tasuki-image-box .temp-image-box-top .label-color-blue:checked + label span::before {
  border: 2px solid white;
  background-color: blue;
}
.tasuki-image-box .temp-image-box-top .label-color-green:checked + label {
  border: 2px solid green;
  background-color: green;
  color: white;
}
.tasuki-image-box .temp-image-box-top .label-color-green:checked + label span::before {
  border: 2px solid white;
  background-color: green;
}
.tasuki-image-box .temp-image-box-top .label-color-pink:checked + label {
  border: 2px solid hotpink;
  background-color: hotpink;
  color: white;
}
.tasuki-image-box .temp-image-box-top .label-color-pink:checked + label span::before {
  border: 2px solid white;
  background-color: hotpink;
}
.tasuki-image-box .temp-image-box-top .label-color-orange:checked + label {
  border: 2px solid orangered;
  background-color: orangered;
  color: white;
}
.tasuki-image-box .temp-image-box-top .label-color-orange:checked + label span::before {
  border: 2px solid white;
  background-color: orangered;
}
.tasuki-image-box .temp-image-box-top .label-color-yellow:checked + label {
  border: 2px solid #373737;
  background-color: #fff000;
  color: #373737;
}
.tasuki-image-box .temp-image-box-top .label-color-yellow:checked + label span::before {
  border: 2px solid #373737;
  background-color: #fff000;
}
.tasuki-image-box .temp-image-box-top .label-color-yellow:checked + label span::after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpolyline fill='none' stroke='%23373737' stroke-width='3' points='2,7.3 7.3,12.7 18,2 '/%3E%3C/svg%3E");
}
.tasuki-image-box .temp-image-box-top .label-color-yegreen:checked + label {
  border: 2px solid yellowgreen;
  background-color: yellowgreen;
  color: white;
}
.tasuki-image-box .temp-image-box-top .label-color-yegreen:checked + label span::before {
  border: 2px solid white;
  background-color: yellowgreen;
}
.tasuki-image-box .temp-image-box-top .label-color-purple:checked + label {
  border: 2px solid purple;
  background-color: purple;
  color: white;
}
.tasuki-image-box .temp-image-box-top .label-color-purple:checked + label span::before {
  border: 2px solid white;
  background-color: purple;
}
.tasuki-image-box .temp-image-box-top .label-color-cobalt:checked + label {
  border: 2px solid #1a1ab8;
  background-color: #1a1ab8;
  color: white;
}
.tasuki-image-box .temp-image-box-top .label-color-cobalt:checked + label span::before {
  border: 2px solid white;
  background-color: #1a1ab8;
}
@media (max-width: 950px) {
  .tasuki-image-box {
    width: 19%;
    padding: 3% 1% 2%;
  }
  .tasuki-image-box .temp-image-box-top label {
    padding-left: 33px;
  }
}
@media (max-width: 610px) {
  .tasuki-image-box {
    width: 32%;
  }
  .tasuki-image-box .temp-image-box-top label {
    margin-top: 16%;
    font-size: 14px;
    padding: 5px 2px;
    padding-left: 25px;
  }
}

@media (max-width: 610px) {
  .tasuki-image-box input.color-radio-input:checked + label span::after {
    width: 15px;
    height: 14px;
    left: 6px;
  }
}

.ho-tasuki-image-box .item-num .c-radio__block .c-radio__label::before {
  left: 2px;
}

.colorradio {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 8%;
  visibility: visible;
  height: 100%;
  opacity: 1;
  transition: opacity 0.3s;
}
.colorradio .select-read-text::before {
  left: -27px;
}
.colorradio .select-read-text::after {
  right: -27px;
}
@media (max-width: 610px) {
  .colorradio {
    margin-top: 3%;
  }
}

/*後援会ニュース*/
.nwcolorchange .colorradio label {
  margin-top: 2%;
}

/* リーフ*/
.leaf-temp-image {
  justify-content: center;
}

.leaf-image-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 31%;
  margin-bottom: 5%;
  background-color: #ececec;
  padding: 3% 2% 2% 2%;
  border: 2px solid #ececec;
  transition: all 0.5s cubic-bezier(0.37, 0.16, 0.12, 1);
  margin-right: 2%;
  width: 34%;
}
.leaf-image-box .temp-image-box-top label {
  padding: 9px 26px;
  padding-left: 45px;
}
.leaf-image-box .temp-image-box-top label span::before {
  background-color: #fff;
  border: 2px solid #ddd;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  left: 8px;
}
@media (max-width: 610px) {
  .leaf-image-box .temp-image-box-top label {
    margin-top: 4%;
    padding-left: 60px;
  }
}
.leaf-image-box .temp-image-box-top .label-color-white:checked + label {
  border: 2px solid #373737;
  background-color: white;
  color: #373737;
}
.leaf-image-box .temp-image-box-top .label-color-white:checked + label span::before {
  border: 2px solid #373737;
  background-color: white;
}
.leaf-image-box .temp-image-box-top .label-color-white:checked + label span::after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpolyline fill='none' stroke='%23373737' stroke-width='3' points='2,7.3 7.3,12.7 18,2 '/%3E%3C/svg%3E");
}
.leaf-image-box .temp-image-box-top .label-color-red:checked + label {
  border: 2px solid red;
  background-color: red;
  color: white;
}
.leaf-image-box .temp-image-box-top .label-color-red:checked + label span::before {
  border: 2px solid white;
  background-color: red;
}
.leaf-image-box .temp-image-box-top .label-color-skyblue:checked + label {
  border: 2px solid deepskyblue;
  background-color: deepskyblue;
  color: white;
}
.leaf-image-box .temp-image-box-top .label-color-skyblue:checked + label span::before {
  border: 2px solid white;
  background-color: deepskyblue;
}
.leaf-image-box .temp-image-box-top .label-color-blue:checked + label {
  border: 2px solid blue;
  background-color: blue;
  color: white;
}
.leaf-image-box .temp-image-box-top .label-color-blue:checked + label span::before {
  border: 2px solid white;
  background-color: blue;
}
.leaf-image-box .temp-image-box-top .label-color-green:checked + label {
  border: 2px solid green;
  background-color: green;
  color: white;
}
.leaf-image-box .temp-image-box-top .label-color-green:checked + label span::before {
  border: 2px solid white;
  background-color: green;
}
.leaf-image-box .temp-image-box-top .label-color-pink:checked + label {
  border: 2px solid hotpink;
  background-color: hotpink;
  color: white;
}
.leaf-image-box .temp-image-box-top .label-color-pink:checked + label span::before {
  border: 2px solid white;
  background-color: hotpink;
}
.leaf-image-box .temp-image-box-top .label-color-orange:checked + label {
  border: 2px solid orangered;
  background-color: orangered;
  color: white;
}
.leaf-image-box .temp-image-box-top .label-color-orange:checked + label span::before {
  border: 2px solid white;
  background-color: orangered;
}
.leaf-image-box .temp-image-box-top .label-color-yellow:checked + label {
  border: 2px solid #373737;
  background-color: #fff000;
  color: #373737;
}
.leaf-image-box .temp-image-box-top .label-color-yellow:checked + label span::before {
  border: 2px solid #373737;
  background-color: #fff000;
}
.leaf-image-box .temp-image-box-top .label-color-yellow:checked + label span::after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpolyline fill='none' stroke='%23373737' stroke-width='3' points='2,7.3 7.3,12.7 18,2 '/%3E%3C/svg%3E");
}
.leaf-image-box .temp-image-box-top .label-color-yegreen:checked + label {
  border: 2px solid yellowgreen;
  background-color: yellowgreen;
  color: white;
}
.leaf-image-box .temp-image-box-top .label-color-yegreen:checked + label span::before {
  border: 2px solid white;
  background-color: yellowgreen;
}
.leaf-image-box .temp-image-box-top .label-color-purple:checked + label {
  border: 2px solid purple;
  background-color: purple;
  color: white;
}
.leaf-image-box .temp-image-box-top .label-color-purple:checked + label span::before {
  border: 2px solid white;
  background-color: purple;
}
.leaf-image-box .temp-image-box-top .label-color-cobalt:checked + label {
  border: 2px solid #1a1ab8;
  background-color: #1a1ab8;
  color: white;
}
.leaf-image-box .temp-image-box-top .label-color-cobalt:checked + label span::before {
  border: 2px solid white;
  background-color: #1a1ab8;
}
@media (max-width: 950px) {
  .leaf-image-box {
    width: 53%;
  }
}
@media (max-width: 610px) {
  .leaf-image-box {
    width: 100%;
    padding: 8% 2% 3% 2%;
  }
}

.leaf-image-back-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 31%;
  margin-bottom: 5%;
  background-color: #ececec;
  padding: 3% 2% 2% 2%;
  border: 2px solid #ececec;
  transition: all 0.5s cubic-bezier(0.37, 0.16, 0.12, 1);
  margin-right: 2%;
  width: 100%;
}

/*ポスター*/
.poster-image-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 31%;
  margin-bottom: 5%;
  background-color: #ececec;
  padding: 3% 2% 2% 2%;
  border: 2px solid #ececec;
  transition: all 0.5s cubic-bezier(0.37, 0.16, 0.12, 1);
  width: 30%;
}
.poster-image-box .select-read-text::before {
  left: -23px;
}
.poster-image-box .select-read-text::after {
  right: -23px;
}
.poster-image-box .select-read-text::before, .poster-image-box .select-read-text::after {
  font-size: 1.5em;
  line-height: 1.5;
}
@media (max-width: 610px) {
  .poster-image-box .temp-image-box-top {
    width: 80%;
  }
}
@media (max-width: 950px) {
  .poster-image-box {
    width: 48%;
  }
}
@media (max-width: 610px) {
  .poster-image-box {
    width: 92%;
    padding: 7% 2% 5% 2%;
  }
}

/*個人演説会場看板*/
.kanban_2-image-box {
  width: 31%;
  margin-bottom: 4%;
}
.kanban_2-image-box .color-radio-box {
  margin-bottom: 6%;
}
.kanban_2-image-box .image-span {
  max-width: 228px;
  margin-top: 7%;
}
@media (max-width: 610px) {
  .kanban_2-image-box .image-span {
    max-width: 160px;
  }
}
@media (max-width: 610px) {
  .kanban_2-image-box {
    width: 100%;
  }
}

/*枚数選択*/
.c-radio__block {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  width: 100%;
  margin: 0 auto;
  padding: 2% 3% 4%;
  position: relative;
  background-color: #ececec;
}
@media (max-width: 610px) {
  .c-radio__block {
    width: 100%;
    margin-top: 3%;
    padding: 4% 0%;
  }
}

.bira-radio__block {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  width: 100%;
  margin: 0 auto;
  padding: 2% 3% 4%;
  position: relative;
  background-color: #ececec;
}
@media (max-width: 610px) {
  .bira-radio__block {
    width: 100%;
    margin-top: 3%;
    padding: 2% 0%;
  }
}

.c-radio {
  margin-bottom: 0;
  margin-top: 2%;
  display: inline-block;
  width: 28%;
  text-align: left;
  background: white;
  border-radius: 21px;
  padding: 7px 11px;
  border: 2px solid white;
}
@media (max-width: 950px) {
  .c-radio {
    width: 47%;
  }
}
@media (max-width: 610px) {
  .c-radio {
    width: 95%;
    margin-bottom: 5px;
  }
}

.c-radio__vertical {
  display: flex;
}

.c-radio__label {
  position: relative;
  margin-bottom: 0;
  vertical-align: middle;
  display: flex;
  justify-content: space-between;
  padding-left: 31px;
  width: 100%;
  font-size: 17px;
}
@media (max-width: 610px) {
  .c-radio__label {
    font-size: 16px;
  }
}
.c-radio__label span.people-sp {
  font-size: 0.85em;
  display: inline-block;
  color: #7b7b7b;
}
.c-radio__label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0px;
  display: block;
  width: 24px;
  height: 24px;
  box-sizing: border-box;
  transform: translateY(-50%);
  pointer-events: none;
  background-color: #fff;
  border: 1px solid #f65f53;
  border-radius: 14px;
  transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), border-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
.c-radio__label::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0px;
  display: block;
  width: 24px;
  height: 24px;
  box-sizing: border-box;
  transform: translateY(-50%) scale(0);
  background-repeat: no-repeat;
  background-size: 50% 50%;
  background-position: center center;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
  transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1), transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}

span.price-bold {
  display: inline-block;
  font-weight: bold;
}

.c-radio__column {
  flex-direction: column;
}

.c-radio__input:checked + label {
  border: 2px solid #f65f53;
}
.c-radio__input:checked + label .c-radio__label::before {
  color: #fff;
  border-color: #f65f53;
  background-color: #f65f53;
}
.c-radio__input:checked + label .c-radio__label::after {
  transform: translateY(-50%) scale(1);
}

.c-radio__input:focus + label .c-radio__label::before {
  box-shadow: 0 0 0 2px rgba(246, 95, 83, 0.3);
}

.c-radio__input:disabled + label .c-radio__label {
  opacity: 0.5;
}

.c-radio__input:disabled + label .c-radio__label::before {
  background-color: #eee;
}
.c-radio__input:disabled + label .c-radio__label::after {
  content: none;
}

/* チェックボックス */
.cp_ul {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
}
.cp_ul li {
  width: 50%;
  display: flex;
  padding-bottom: 1%;
  padding-top: 1%;
}
@media (max-width: 610px) {
  .cp_ul li {
    width: auto;
    padding-bottom: 3%;
  }
}

.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.cp_ul-label {
  width: 100%;
  display: inline-block;
  text-align: left;
}
.cp_ul-label .cp_ul-input:checked + .cp_ul-span::before {
  color: #fff;
  border-color: #f65f53;
  background-color: #f65f53;
}
.cp_ul-label .cp_ul-input:focus + .cp_ul-span::before {
  box-shadow: 0 0 0 2px rgba(246, 95, 83, 0.3);
}
.cp_ul-label .cp_ul-input:checked + .cp_ul-span::after {
  transform: translateY(-50%) scale(1);
}
.cp_ul-label .cp_ul-input:disabled + .cp_ul-span {
  opacity: 0.5;
}
.cp_ul-label .cp_ul-input:disabled + .cp_ul-span::before {
  background-color: #eee;
}
.cp_ul-label .cp_ul-input:disabled + .cp_ul-span::after {
  content: none;
}
.cp_ul-label .cp_ul-span {
  position: relative;
  margin-bottom: 0;
  vertical-align: middle;
  padding-left: 30px;
}
.cp_ul-label .cp_ul-span::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 22px;
  height: 22px;
  box-sizing: border-box;
  transform: translateY(-50%);
  pointer-events: none;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 2px;
  transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), border-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), box-shadow 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}
.cp_ul-label .cp_ul-span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 22px;
  height: 22px;
  box-sizing: border-box;
  transform: translateY(-50%) scale(0);
  background-repeat: no-repeat;
  background-size: 54% 54%;
  background-position: center center;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
  transition: background-color 0.3s cubic-bezier(0.19, 1, 0.22, 1), transform 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}

.temp-hidden .color-radio-box label, .poster-hidden .color-radio-box label, .leaf-hidden .color-radio-box label, .kanban_2-hidden .color-radio-box label, .kanban-hidden .color-radio-box label {
  background-color: #ececec;
  color: #adadad;
}
.temp-hidden .color-radio-box label span::before, .poster-hidden .color-radio-box label span::before, .leaf-hidden .color-radio-box label span::before, .kanban_2-hidden .color-radio-box label span::before, .kanban-hidden .color-radio-box label span::before {
  opacity: 0.3;
}

.triangle3 {
  margin: 0 auto;
  margin-bottom: 3%;
  max-width: 60px;
}
.triangle3 img {
  width: 100%;
}

.item-block-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 2%;
  margin-top: 2%;
}

.modalclose__bottom {
  display: inline-block;
  background-color: #e2e2e2;
  border-radius: 14px;
  padding: 2px 21px;
  margin-top: 2%;
}

#meishi-temp-num .c-radio, #leaf-temp-num .c-radio, #kanban_2-temp-num .c-radio, #bira-temp-num .c-radio, #news-temp-num .c-radio, #tasuki-temp-num .c-radio, #hagaki-temp-num .c-radio {
  width: 100%;
}
@media (max-width: 610px) {
  #meishi-temp-num .c-radio, #leaf-temp-num .c-radio, #kanban_2-temp-num .c-radio, #bira-temp-num .c-radio, #news-temp-num .c-radio, #tasuki-temp-num .c-radio, #hagaki-temp-num .c-radio {
    width: 95%;
  }
}

/*
自動計算フォーム
*/
.sticky-eria {
  margin: 4% 0 11%;
  width: 27%;
}
.sticky-eria .est-ex-eria {
  top: 0;
  transform: translate3d(0, 0, 0);
  will-change: position, transform;
}
@media (max-width: 950px) {
  .sticky-eria {
    width: 100%;
  }
}

.sticky-eria.m_fixed {
  left: 0;
  position: fixed;
  top: auto;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.49);
  margin: 0;
  padding-top: 2%;
  z-index: 3;
}

.est-block {
  max-width: 1408px;
  margin: 0 auto;
  margin-top: 5%;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
}

.est-block.current {
  display: flex !important;
  align-items: stretch;
}
.est-block.current::after {
  content: "";
  background: white;
  background: linear-gradient(0deg, white 0%, white 0%, #f2f2f2 0%, #f2f2f2 51%, #f2f2f2 91%, white 91%, white 100%);
  width: 200%;
  height: 88%;
  left: -53%;
  bottom: 0;
  position: absolute;
  z-index: -1;
}
@media (max-width: 610px) {
  .est-block.current::after {
    background: linear-gradient(0deg, white 0%, white 0%, #f2f2f2 0%, #f2f2f2 51%, #f2f2f2 95%, white 95%, white 100%);
    height: 100%;
  }
}
@media (max-width: 950px) {
  .est-block.current {
    flex-direction: column;
  }
}

.est-check-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 97%;
  margin: 0 auto;
}

.est-p-after {
  background-color: #2F33A5;
  display: inline-block;
  padding: 4px 3px 3px 1px;
  margin-right: 5px;
  border-radius: 6px 0 0 6px;
  font-size: 13px;
  display: flex;
  align-items: center;
  align-self: stretch;
}
.est-p-after span {
  color: white;
  writing-mode: vertical-rl;
}

.est-p-before {
  background-color: #f65f53;
  display: inline-block;
  padding: 4px 3px 3px 1px;
  margin-right: 5px;
  border-radius: 6px 0 0 6px;
  font-size: 13px;
  display: flex;
  align-items: center;
  align-self: stretch;
}
.est-p-before span {
  color: white;
  writing-mode: vertical-rl;
}

/*合計金額*/
.for-total {
  z-index: 1;
  bottom: 0;
  width: 100%;
  padding: 2%;
  background-color: white;
  color: #f65f53;
  display: flex;
  overflow: hidden;
  border-top: 1px solid;
}
.for-total p {
  display: flex;
  width: 50%;
}

.for-total-value {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 50%;
}

input[name=total] {
  width: auto;
  margin: 0 10px;
  display: none;
}

#for-total-span {
  font-size: 1.5rem;
}

#for-total-span.anim-span {
  animation: slot 0.3s ease;
}

@keyframes slot {
  from {
    margin-top: -17%;
  }
  to {
    margin-top: 0;
  }
}
#for-total-span.anim-span-end {
  animation: slot-down 0.3s ease;
}

@keyframes slot-down {
  from {
    margin-top: 0;
  }
  to {
    margin-top: 17%;
  }
}
.est-ex-open {
  display: none;
}
@media (max-width: 610px) {
  .est-ex-open {
    display: inline-block;
    color: white;
    border-bottom: 1px solid;
    margin-bottom: 3%;
    font-size: 14px;
    font-weight: bold;
    margin-left: 10px;
  }
  .est-ex-open .fa-angle-down {
    transition: transform 0.5s ease;
    margin-left: 3px;
  }
}

.est-ex-open.close .fa-angle-down {
  transform: rotate(180deg);
}

.est-ex-count {
  display: none;
}
@media (max-width: 610px) {
  .est-ex-count {
    display: inline-block;
    height: 29px;
    width: 29px;
    border-radius: 50%;
    line-height: 29px;
    text-align: center;
    background-color: #f65f53;
  }
  .est-ex-count span {
    color: white;
  }
}

@media (max-width: 610px) {
  .est-ex-block {
    display: none;
  }
}

.est-ex-table {
  width: 100%;
  margin: 0 auto;
  font-size: 14px;
  margin-top: 25px;
  border-spacing: 0px 10px;
}
.est-ex-table tbody {
  overflow-y: scroll;
  text-align: justify;
}
.est-ex-table tbody tr {
  background-color: #FFF0EF;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto;
  border-radius: 6px;
}
@media (max-width: 610px) {
  .est-ex-table tbody tr {
    width: 90%;
  }
}
.est-ex-table tbody tr.est-se {
  background-color: aliceblue;
}
.est-ex-table tbody tr.est-poster {
  background-color: aliceblue;
}
.est-ex-table tbody .est-line .est-td-text {
  width: 70%;
}
.est-ex-table tbody .fa-circle-xmark {
  padding-right: 3px;
}
.est-ex-table tbody td + td {
  text-align: center;
  width: 19%;
}
.est-ex-table tbody td {
  padding-right: 5px;
  width: 80%;
  display: flex;
  align-items: center;
}

.est-ex-head {
  width: 100%;
  position: fixed;
  display: flex;
}
.est-ex-head_item {
  width: 81%;
}
.est-ex-head_price {
  width: 23%;
}
.est-ex-head p {
  background-color: #f65f53;
  color: white;
  display: inline-block;
  font-size: 0.8em;
  text-align: center;
  padding: 3px 0;
}
.est-ex-head p + p {
  border-left: 2px solid white;
}
@media (max-width: 610px) {
  .est-ex-head {
    display: none;
  }
}

.fa-toggle-x {
  display: inline-block;
  cursor: pointer;
  background: #d2d2d2;
  padding: 2px 4px;
  border-radius: 4px;
  margin-left: 5px;
  width: 17%;
}

.est-ex-block {
  max-height: 23vh;
  overflow: auto;
}

.est-ex-block::-webkit-scrollbar {
  width: 10px;
}

.est-ex-block::-webkit-scrollbar-track {
  background-color: #e4e4e4;
  border-radius: 100px;
}

.est-ex-block::-webkit-scrollbar-thumb {
  border-radius: 100px;
  border: 2px solid transparent;
  background-clip: content-box;
  background-color: #f65f53;
}

.est__color {
  background-color: white;
  font-size: 14px;
  padding: 2%;
  border-top: 1px solid #f65f53;
}
.est__color p {
  position: relative;
  display: inline-block;
}
.est__color p::before {
  display: inline-block;
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  margin-right: 0.2rem;
  border: 1px solid #a2a2a2;
  vertical-align: top;
}

.before-ele {
  padding-bottom: 5px;
}
.before-ele::before {
  background-color: #FFF0EF;
}

.do-ele::before {
  background-color: aliceblue;
}

.speaser {
  display: inline-block;
  margin-bottom: 2%;
}

.select-pref-wrapp {
  width: 80%;
  margin: 0 auto;
  max-width: 780px;
  text-align: center;
  margin-bottom: 5%;
}
@media (max-width: 610px) {
  .select-pref-wrapp {
    width: 90%;
  }
}

.pref-select-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 950px) {
  .pref-select-btn {
    align-items: stretch;
  }
}
@media (max-width: 610px) {
  .pref-select-btn {
    flex-direction: column;
  }
}

.pref-wrapp {
  background: #fff0f0;
  width: 100%;
  margin: 0 auto;
  padding: 7% 0%;
}
@media (max-width: 610px) {
  .pref-wrapp {
    margin-top: 2%;
  }
}

.pref-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80%;
  margin: 0 auto;
  max-width: 600px;
  margin-top: 2%;
}
@media (max-width: 610px) {
  .pref-box {
    flex-direction: column;
    width: 100%;
  }
}

.select-pref {
  width: 90%;
  max-width: 445px;
  text-align: center;
  position: relative;
  border-radius: 2px;
  border: 2px solid #f65f53;
  background: #ffffff;
}
.select-pref::before, .select-pref::after {
  display: block;
  content: "";
  position: absolute;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  right: 25px;
  width: 10px;
  height: 10px;
  margin-top: -5px;
  pointer-events: none;
}
.select-pref::before {
  top: 46%;
  background: #f65f53;
}
.select-pref::after {
  top: 35%;
  background: #fff;
}

p.pref-attention {
  margin-top: 2%;
  font-size: 0.9em;
}
@media (max-width: 610px) {
  p.pref-attention {
    margin-top: 5%;
  }
}

.prefselect {
  opacity: 0;
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
}
.prefselect:focus + label {
  outline: solid #2F33A5 2px;
}
.prefselect + label {
  font-size: 1.5rem;
  font-weight: bold;
  padding: 1em 0;
  text-align: center;
  background-color: #FFCC41;
  color: #2F33A5;
  opacity: 0.6;
  width: 48%;
  display: inline-block;
}
.prefselect + label span {
  font-size: 1rem;
  font-weight: normal;
}
@media (max-width: 950px) {
  .prefselect + label {
    width: 50%;
  }
}
@media (max-width: 610px) {
  .prefselect + label {
    width: 100%;
  }
}
.prefselect + label::before {
  display: inline-block;
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  border: 3px solid #2F33A5;
  margin-right: 0.5rem;
  vertical-align: sub;
  background-color: #ffe0a7;
}
.prefselect:checked + label {
  background-color: #FFCC41;
  color: #2F33A5;
  opacity: 1;
}
.prefselect:checked + label::before {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpolyline fill='none' stroke='%232F33A5' stroke-width='3' points='2,7.3 7.3,12.7 18,2 '/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 0 2px;
  width: 1.5rem;
  height: 1.5rem;
  margin-right: 0.5rem;
}

.select-pref select {
  width: 100%;
  padding-right: 1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  background: transparent;
  background-image: none;
  -webkit-appearance: none;
  appearance: none;
  padding: 8px;
}
.select-pref select:focus {
  outline: 0;
}

.select-pref select::-ms-expand {
  display: none;
}

.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0;
  justify-content: center;
  position: relative;
  width: 70%;
}
@media (max-width: 950px) {
  .tab-wrap {
    width: 100%;
  }
}

.tab-label {
  color: #ffffff;
  background: #b8b8b8;
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
  order: -1;
  position: relative;
  z-index: 2;
  cursor: pointer;
  transition: all 0.5s cubic-bezier(0.37, 0.16, 0.12, 1);
  padding: 13px 2.5em;
}
@media (max-width: 610px) {
  .tab-label {
    padding: 13px 0.5rem;
    width: 50%;
    justify-content: center;
    height: 56px;
  }
}
.tab-label::before {
  content: "";
  position: absolute;
  opacity: 0;
  top: 96%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #b8b8b8;
  transition: all 0.5s cubic-bezier(0.37, 0.16, 0.12, 1);
}
.tab-label:hover::before {
  content: "";
  top: 100%;
  opacity: 1;
}

.tab-label.t_fixed {
  left: 0;
  position: fixed;
  top: 80px;
}
@media (max-width: 610px) {
  .tab-label.t_fixed {
    top: 85px;
  }
}

.po_switch.t_fixed {
  right: 0;
  left: auto;
}

.tab-label:not(:last-of-type) {
  margin-right: 5px;
}
@media (max-width: 610px) {
  .tab-label:not(:last-of-type) {
    margin-right: 0;
  }
}

.tab-content {
  width: 100%;
  height: 0;
  opacity: 0;
  position: relative;
  display: none;
  border: 3px solid #f65f53;
  background: #fff0f0;
}

/* アクティブなタブ */
.tab-switch:checked + .tab-label {
  background: #f65f53;
  color: white;
}
.tab-switch:checked + .tab-label:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #f65f53;
  opacity: 1;
}

.tab-switch:checked + .po_switch {
  background: #2F33A5;
  color: white;
}
.tab-switch:checked + .po_switch:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #2F33A5;
  opacity: 1;
}

.tab-switch:checked + .tab-label + .tab-content {
  height: auto;
  padding: 30px 15px;
  opacity: 1;
  transition: 0.5s opacity;
  display: inline-block;
}

.tab-switch:checked + .po_switch + .tab-content {
  border: 3px solid #2F33A5;
  background: aliceblue;
}

/* ラジオボタン非表示 */
.tab-switch {
  display: none;
}

/* ------works_modal css------ */
.js-show-popup {
  margin-bottom: 3%;
  position: relative;
  min-width: 200px;
  display: inline-block;
  width: 30%;
  max-width: 260px;
  cursor: pointer;
}
.js-show-popup:focus::after {
  background-color: aliceblue;
}
@media (max-width: 610px) {
  .js-show-popup {
    width: 90%;
    max-width: 330px;
    margin-bottom: 40%;
  }
}
.js-show-popup:hover .item-box {
  transition: all 0.55s cubic-bezier(0.175, 0.885, 0.47, 1.26);
  transform: scale(0.95);
}
.js-show-popup:hover .item-box-img::after {
  opacity: 0.15;
  border-radius: 30px;
  transition: all 0.55s cubic-bezier(0.175, 0.885, 0.47, 1.26);
  transform: scale(0.68) translateY(4%);
}
.js-show-popup:hover .item-box-img img {
  transition: all 0.55s cubic-bezier(0.175, 0.885, 0.47, 1.26);
  transform: scale(0.68) translateY(4%);
  border-radius: 30px;
}

.poster-wrapper {
  display: block;
  text-align: center;
  margin-top: 5%;
  width: 100%;
}
@media (max-width: 610px) {
  .poster-wrapper {
    margin-top: 12%;
  }
}

.micromodal-slide[aria-hidden=false] .js-show-popup {
  pointer-events: none;
}

.modal__wrapper {
  position: relative;
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal__container {
  width: 90vw;
  max-width: 1115px;
  height: 80vh;
  margin: auto;
  padding: 5% 3% 4%;
  background: #fff;
  overflow-y: scroll;
  overflow-x: hidden;
  text-align: center;
}
@media (max-width: 610px) {
  .modal__container {
    width: 92vw;
    padding-bottom: 6%;
  }
}

.modal__container::-webkit-scrollbar {
  width: 14px;
}

.modal__container::-webkit-scrollbar-track {
  background-color: #e4e4e4;
}

.modal__container::-webkit-scrollbar-thumb {
  background-color: #f65f53;
  border: 2px solid #e4e4e4;
}

/*ポップアップ中身*/
@media (max-width: 610px) {
  .popup-top-text {
    margin-bottom: 5%;
  }
}
.popup-top-text p {
  color: #2F33A5;
  font-weight: bold;
  font-size: max(25px, min(3vw,44px));
  font-size: clamp(25px, 3vw, 44px);
  background: linear-gradient(transparent 60%, #FFCC41 60%);
}

.popup-top-eria {
  margin: 0 auto;
  margin-bottom: 7%;
  width: 90%;
}
@media (max-width: 610px) {
  .popup-top-eria {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 10%;
    margin-top: 5%;
  }
}

.popup-top-text {
  display: inline-block;
  margin-bottom: 3%;
}
@media (max-width: 610px) {
  .popup-top-text {
    margin-bottom: 6%;
  }
}

.popup-top-img img {
  width: 256px;
  height: 180px;
  object-fit: cover;
}
@media (max-width: 610px) {
  .popup-top-img img {
    width: 281px;
    height: 187px;
  }
}

.modal {
  display: none;
  font-family: inherit;
}

.modal.is-open {
  display: block;
}

.modal__overlay {
  z-index: 4;
}

/*閉じるボタン*/
.modal__close {
  display: block;
  position: absolute;
  width: 57px;
  height: 57px;
  border-radius: 50%;
  /* 丸みの度合い */
  background: #f65f53;
  /* ボタンの背景色 */
  transition: transform 0.5s;
  top: -4%;
  left: 96%;
  z-index: 1;
}
.modal__close::before, .modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px;
  height: 21px;
  background: #fff;
  /* バツ印の色 */
}
.modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
  content: "";
}
.modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modal__close:hover {
  /* マウスオーバー時のスタイル */
  transform: rotate(180deg);
}
.modal__close:focus-visible {
  box-shadow: 0 0 8px #f65f53;
  outline: none;
}
@media (max-width: 610px) {
  .modal__close {
    left: 88%;
    width: 48px;
    height: 48px;
    top: -4%;
  }
}

/*トップの電話番号のモーダル*/
.headtel__close {
  width: 64px;
  height: 64px;
  position: absolute;
  top: -17px;
  right: -13px;
}
.headtel__close span {
  position: absolute;
  display: inline-block;
  color: white;
  font-size: 12px;
  width: 100%;
  top: 59%;
  right: 0;
  left: 0;
  margin: auto;
}
.headtel__close::before, .headtel__close::after {
  top: 42%;
  left: 50%;
  width: 4px;
  height: 32px;
}
.headtel__close:hover {
  transform: scale(1.2);
}
@media (max-width: 610px) {
  .headtel__close {
    left: 88%;
    width: 55px;
    height: 55px;
    top: -4%;
  }
  .headtel__close::before, .headtel__close::after {
    top: 38%;
    height: 27px;
  }
}

.headetel__container {
  height: 50vh;
  border: 3px solid #f65f53;
  z-index: 3;
  overflow: visible;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.headetel__container .headtel__content {
  line-height: 1.5;
}
.headetel__container .htel__header {
  border-bottom: 2px dashed #adadad;
  padding-bottom: 1%;
}
.headetel__container .htel__header .top-span {
  color: white;
  background-color: #f65f53;
  padding: 3px 9px;
  border-radius: 20px;
}
.headetel__container .htel__header .tel-span {
  display: block;
  font-size: 25px;
}
@media (max-width: 610px) {
  .headetel__container .htel__header .tel-span {
    font-size: 20px;
  }
}
.headetel__container .htel__header .tel-span p {
  display: inline-block;
  font-weight: bold;
  font-size: 44px;
  margin-left: 4px;
  vertical-align: sub;
}
@media (max-width: 610px) {
  .headetel__container .htel__header .tel-span p {
    font-size: 35px;
  }
}
.headetel__container .htel__footer {
  padding-top: 2%;
  font-size: 19px;
}
.headetel__container .htel__footer .map {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 2%;
}
.headetel__container .htel__footer .map img {
  width: 50%;
  max-width: 117px;
  margin-right: 14px;
}
.headetel__container .htel__footer .map span {
  border: 2px solid #FFCC41;
  width: 70px;
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 610px) {
  .headetel__container .htel__footer {
    font-size: 17px;
  }
}

/*# sourceMappingURL=challenge-form.css.map */
