/**
 * Template: snow-monkey
 * Theme Name: Snow Monkey Child
 */
.text-center{text-align:center;}
.smb-accordion__item__body{font-weight: bold !important;}

.smb-section-with-bgimage__bgimage img {
    object-position: top;
}

/* カスタムフォーム */
.contact__form .carousel-list.reserve-datetime .flex {
  gap: 0;
}

.contact__form .carousel-list.reserve-datetime {
/*   position: relative;
  left: 25px; */
}

.contact__form .carousel-list.reserve-datetime .ico__required {
  font-size: 16px;
}

.contact__form .carousel-list.reserve-datetime .time_one-02,
.contact__form .carousel-list.reserve-datetime .time_two-02,
.contact__form .carousel-list.reserve-datetime .time_three-02 {
  font-size: 15px;
  position: relative;
  top: -3px;
}
.contact__form .carousel-list.reserve-datetime .time_one-03,
.contact__form .carousel-list.reserve-datetime .time_two-03,
.contact__form .carousel-list.reserve-datetime .time_three-03 {
  font-size: 15px;
  position: relative;
  top: -3px;
}

.contact__form .carousel-list.reserve-datetime .time_one-04,
.contact__form .carousel-list.reserve-datetime .time_two-04,
.contact__form .carousel-list.reserve-datetime .time_three-04 {
  font-size: 15px;
  position: relative;
  top: -3px;
}

.contact__form .boder {
    border: 1px solid #dfdfdf;
}

.contact__form .is-active {
  display: block !important;
}

.contact__form .contact__select select:focus {
  outline: none;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.contact__form .pc { display: block !important; }
.contact__form .sp { display: none !important; }

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
    .contact__form .pc { display: none !important; }
    .contact__form .sp { display: block !important; }
}


.mailform .wrapper {
	background-size: auto auto;
	background-color: rgba(255, 186, 0, 0.32);
	background-image: repeating-linear-gradient(45deg, transparent, transparent 8px, rgba(255, 186, 0, 0.34) 8px, rgba(255, 186, 0, 0.34) 16px);
}

.contact__form {
  padding-top: 14px;
  padding-bottom: 40px;
  background: #fff;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur in="SourceAlpha" stdDeviation="6" /><feOffset dx="1" dy="4" result="offsetblur" /><feFlood flood-color="rgba(51,51,51,0.1)" /><feComposite in2="offsetblur" operator="in" /><feMerge><feMergeNode /><feMergeNode in="SourceGraphic" /></feMerge></filter></svg>#filter');
  filter: drop-shadow(0px 3px 6px rgba(51, 51, 51, 0.1));
  box-sizing: border-box;
  max-width: 1000px;
  margin: 0 auto;
  border-radius: 12px;
  border: 7px solid #FFBA00;
}
.contact__form dl {
  margin: auto;
}
.contact__form dt {
  font-size: 16px;
  font-weight: 400;
  font-weight: bold;
}
.contact__form dt {
  margin: 20px 0 4px;
}
.contact__form dt .ico__optional,
.contact__form dt .ico__required {
  margin-left: 10px;
  /* padding: 0px 8px 1px; */
  padding: 4px 5px;
  font-size: 13px;
  line-height: 1;

}
.contact__form dt .ico__required {
  color: #fff;
  background: #404040;
}
.contact__form textarea,
.contact__form input[type="text"],
.contact__form input[type="email"] {
  font-size: 16px;
  font-weight: 400;
  background: #fafafa;
  /* border: 0px; */
  border-radius: 4px;
  box-sizing: border-box;
  padding: 4px 17px;
  height: 40px;
}

.contact__form textarea::placeholder,
.contact__form input[type="text"]::placeholder,
.contact__form input[type="email"]::placeholder {
  color: #ccc;
}

.contact__form textarea {
  height: 160px;
  padding: 8px 17px;
  font-size: 15px;
  box-sizing: border-box;
}
.contact select {
  font-size: 18px;
  color: #333;
  font-weight: 400;
}
.contact input[type="text"]#date1::-webkit-input-placeholder,
.contact input[type="text"]#date2::-webkit-input-placeholder,
.contact input[type="text"]#date3::-webkit-input-placeholder {
  color: #333;
}
.contact input[type="text"]#date1:-ms-input-placeholder,
.contact input[type="text"]#date2:-ms-input-placeholder,
.contact input[type="text"]#date3:-ms-input-placeholder {
  color: #333;
}
.contact input[type="text"]#date1::placeholder,
.contact input[type="text"]#date2::placeholder,
.contact input[type="text"]#date3::placeholder {
  color: #333;
}
.contact input[type="text"]#date1::-ms-input-placeholder,
.contact input[type="text"]#date2::-ms-input-placeholder,
.contact input[type="text"]#date3::-ms-input-placeholder {
  color: #333;
}
.contact input[type="text"]#date1:-ms-input-placeholder,
.contact input[type="text"]#date2:-ms-input-placeholder,
.contact input[type="text"]#date3:-ms-input-placeholder {
  color: #333;
}
.contact .reserve__date,
.contact__select {
  position: relative;
  box-sizing: border-box;
  background: #fff;
  color: #333;
  border: 2px solid #ebebeb;
  border-radius: 4px;
}
.contact .reserve__date:after,
.contact__select:after {
  position: absolute;
  content: "";
  top: 13px;
  right: 10px;
  width: 9px;
  height: 9px;
  border: 1px solid #707070;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
}
.contact .reserve__date select,
.contact__select select {
  min-width: 120%;
  font-size: 24px;
  border: none;
  background:none;
}

@media all and (max-width: 767px) {
  .contact .reserve__date select,
  .contact__select select {
      font-size: 15px;
  }
}

.contact .reserve__date select:invalid,
.contact__select select:invalid {
  color: #222;
}
.contact .contact-privacy__head {
  text-align: center;
}
.contact .contact-privacy__wrap {
  overflow-y: scroll;
  height: 129px;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: calc(27 / 16);
  background: #fff;
  border: 1px solid #b4b4b4;
  box-sizing: border-box;
}
.contact .contact-privacy th,
.contact .contact-privacy td {
  text-align: left;
  box-sizing: border-box;
}
.contact .contact-privacy th {
  width: 4em;
  text-align: right;
  white-space: nowrap;
}
.contact__radio input[type="radio"] {
  display: none;
}
.contact__radio .item01,
.contact__radio .item03 {
  margin-right: 10px;
}
.contact__radio .item01 label {
  font-size: 1.2rem;
}

.contact__radio .item.item03,
.contact__radio .item.item04 {
  height: 80px;
  margin-bottom: 15px;
}

.contact__radio .item03 label,
.contact__radio .item04 label {
  padding-right: 80px;
  font-size: 14px
}

.contact__radio .item01 label span {
  font-size: 1.2rem;
  font-weight: 400;
}
.contact__radio .item01 .contact__radio-txt {
  font-size: 1.0rem;
  font-weight: 400;
  color: #8d8d8d;
  margin-bottom: 10px;
}
.contact__radio .item02 label {
  font-size: 14px;
}
.contact__radio label {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 280px;
  height: 51px;
  padding-left: 15px;
  box-sizing: border-box;
}
.contact__radio input[type="radio"] + label {
  color: #cbcbcb;
  background: url(https://elementgym-fit.com/lp/pilates/honbu01_original/images/contact-radio_bg02.png) 0 0/215px no-repeat;
}
/* .contact__radio input[type="radio"]:checked + label {
  color: #fff;
  background: url(https://elementgym-fit.com/lp/pilates/honbu01_original/images/contact-radio_bg01.png) 0 0/215px no-repeat;
  font-size: 12px;
} */
.contact__checkbox {
  position: relative;
}
.contact__checkbox .checkbox-input {
  display: inline-block !important;
}
.contact__checkbox .checkbox-parts {
  position: relative;
  padding-left: 30px;
  margin-right: 30px;
  white-space: nowrap;
  font-size: 1.4rem;
  text-decoration: underline;
}
.contact__checkbox .checkbox-parts:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #b4b4b4;
  box-sizing: border-box;
}
.contact__checkbox .checkbox-input:checked + .checkbox-parts {
  color: #73c612;
}
.contact__checkbox .checkbox-input:checked + .checkbox-parts:after {
  content: "";
  display: block;
  position: absolute;
  top: 0px;
  left: 5px;
  width: 6px;
  height: 11px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  border-bottom: 3px solid #73c612;
  border-right: 3px solid #73c612;
}
.contact .error_messe {
  padding: 1em;
  margin: 1em 0;
  font-size: 1.6rem;
  font-weight: 400;
  background: #efefef;
}
.contact .error_messe + .error_messe {
  margin-top: 0.5em;
}
.contact__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.contact__checkbox {
  margin: 21px 0 0 30px;
  text-align: center;
  font-size: 17px;
  line-height: 1;
}
.contact__checkbox .checkbox-parts:before {
  top: 0px;
  width: 18px;
  height: 18px;
}
.contact__checkbox .checkbox-input:checked + .checkbox-parts:after {
  top: 0px;
  left: 5px;
  width: 6px;
  height: 11px;
}
.contact #date1,
.contact #date2,
.contact #date3 {
  padding: 0;
  margin-top: -2px;
  font-size: 16px;
  background: #fff;
}
.contact .reserve__date {
  margin-right: 20px;
}
.contact .reserve__date,
.contact__select {
  padding: 4px 25px;
  font-size: 16px;
}
.contact .contact-privacy {
  margin: auto;
  padding-top: 35px;
}
.contact .contact-privacy__head {
  font-size: 1.6rem;
}
.contact .contact-privacy__wrap {
  margin-top: 10px;
  padding: 10px;
}
.contact__btn {
  position: relative;
  margin: 40px auto 0;
  border-radius: 0;
}
.contact__btn-link {
  position: relative;
  background: #73c612;
  box-shadow: 0px 6px 0px -1px #005480;
}
.contact__btn-link:before {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  right: 20px;
  top: calc(50% - 6px);
}
.contact__btn-link input[type="submit"] {
  font-size: 2rem;
  color: #fff;
  box-sizing: border-box;
}
.contact__btn-back a,
.contact__btn-back input[type="button"] {
  background: #666;
  border: 1px solid #666;
  color: #fff;
  box-shadow: 0px 6px 0px -1px #666;
  -webkit-transform: scale(0.7);
  -ms-transform: scale(0.7);
  transform: scale(0.7);
  box-sizing: border-box;
}
.contact__btn-back a {
  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;
  text-decoration: none;
  text-align: center;
}
.contact__btn-wrap {
  margin: 2em auto;
}
@media all and (max-width: 767px) {
  .contact__inner {
    padding-top: 18px;
    padding-bottom: 18px;
    padding-left: 15px;
    padding-right: 15px;
  }
  .contact__head {
    padding-top: 6.5vw;
    padding-bottom: 20px;
  }
  .contact__head01 {
    font-size: 3.2rem;
    font-size: 9vw;
    line-height: calc(40 / 32);
  }
  .contact__head02 {
    margin: 15px auto 25px;
    padding: 0 5vw;
    font-size: 1.2rem;
  }

  .contact__head02:before {
    bottom: -20px;
    left: calc(50% - 5px);
    border: 5px solid transparent;
    border-top: 15px solid #fff;
  }
  .contact__head02 ._delete {
	  display: inline-block;
  }
  .contact__head02 ._delete::before {
	content: '';
	width: 100%;
	height: 1px;
	background: #000;
	position: absolute;
	top: 15px;
	left: 0;
}
.contact__head02 ._delete::after {
	content: '';
	width: 100%;
	height: 1px;
	background: #000;
	position: absolute;
	left: 0;
	top: 20px;
}
  .contact__head02 > span {
    height: 24px;
	vertical-align: baseline;
  }
  .contact__head02 small {
    font-size: 1.2rem;
  }
  .contact__btn01 {
    width: 251px;
  }
  .contact__btn01._item1 {
	margin-bottom: 15px;
  }
  .contact__btn01._item2 a{
	background: #fff;
	color: #ffba00;
  }
  .contact__btn01._item2 a:hover{
	background: #ddd;
  }
  .contact__btn01._item2 a span{
	display: inline-block;
	width: 40px;
  }
  .contact__btn01-link {
    width: 251px;
    height: 56px;
    font-size: 1.8rem;
  }
  .contact-thanks {
    margin: 0 auto 0;
    padding: 35px 30px 5px;
  }
  .contact__form {
    padding: 15px 0px 40px;
  }
  .contact__form textarea {
    height: 136px;
  }
  .contact__radio .contact__radio-txt {
    margin: 4px 0 11px;
  }
  .contact #date1,
  .contact #date2,
  .contact #date3 {
    width: 100%;
    height: 36px;
  }
  .contact .reserve__date {
    margin-bottom: 10px;
  }
  .contact .reserve__date,
  .contact__select {
    width: 100%;
    height: 43px;
  }
  .contact-privacy {
    margin: auto;
    padding-top: 35px;
  }
  .contact-privacy__head {
    font-size: 1.6rem;
  }
  .contact-privacy__wrap {
    margin-top: 10px;
    padding: 10px;
  }
  .contact__btn {
    margin: 40px auto 0;
    width: 100%;
    height: 64px;
  }
  .contact__btn-link input[type="submit"] {
    width: 100%;
    height: 64px;
    font-size: 1.6rem;
  }
  .contact__btn-back a,
  .contact__btn-back input[type="button"] {
    width: 100%;
    height: 64px;
    font-size: 24px;
  }
  .contact #formWrap th,
  .contact #formWrap td {
    padding: 0;
    display: block;
    text-align: left;
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .contact #formWrap th {
    color: #ffba00;
    font-weight: 400;
  }
  .contact #formWrap td {
    padding-bottom: 2em;
  }
  .contact .contact-com {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    line-height: calc(24 / 16);
  }
  .contact .contact-com span:first-child {
    white-space: nowrap;
  }
  .contact .contact-com span:last-child {
    padding-left: 1em;
    text-indent: -1em;
  }
  .contact dt {
    font-size: 12px;
  }
  .contact #date1,
  .contact #date2,
  .contact #date3,
  .contact select {
    font-size: 16px;
  }
}
@media (max-width: 374px) {
  .contact .contact__checkbox {
    margin-left: 0px;
  }
  .contact .checkbox-parts {
    margin-right: 0px;
  }
}
@media all and (min-width: 768px) {
  .contact__inner {
    padding-top: 58px;
    padding-bottom: 82px;
  }
  .contact-thanks {
    margin: 25px auto 0;
    padding: 35px 30px 5px;
    width: 800px;
  }
  .contact__form {
    box-sizing: border-box;
  }
  .contact__form dl {
    width: 720px;
  }
  .contact__form textarea {
    height: 160px;
  }
  .contact__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .contact__radio {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .contact__radio .contact__radio-txt {
    margin: 7px 0 -14px;
  }
  .contact .reserve__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .contact #date1,
  .contact #date2,
  .contact #date3 {
    width: 300px;
    height: 36px;
  }
  .contact .reserve__date,
  .contact__select {
    width: 350px;
    height: 43px;
  }
  .contact .contact-com {
    position: relative;
    margin-top: 35px;
  }
  .contact .contact-privacy {
    width: 700px;
    padding-top: 40px;
  }
  .contact .contact-privacy__wrap {
    margin-top: 14px;
  }
  .contact__btn {
    margin: 40px auto 0;
    width: 348px;
    height: 72px;
    font-size: 2rem;
  }
  .contact__btn-link input[type="submit"] {
    width: 348px;
    height: 72px;
  }
  .contact__btn-back a,
  .contact__btn-back input[type="button"] {
    width: 348px;
    height: 72px;
    font-size: 24px;
  }
  .contact__btn-wrap {
    width: 348px;
  }
  .contact__checkbox {
    margin: 21px 0 0 53px;
  }
  .contact__checkbox .checkbox-parts:before,
  .contact__checkbox .checkbox-parts:after {
    top: 0px;
  }
  .contact__checkbox {
    margin: 21px 0 0 30px;
    text-align: center;
    font-size: 1.7rem;
    line-height: 1;
  }
  .contact__checkbox .checkbox-parts:before {
    top: 0px;
    width: 18px;
    height: 18px;
  }
  .contact__checkbox .checkbox-input:checked + .checkbox-parts:after {
    top: 0px;
    left: 5px;
    width: 6px;
    height: 11px;
  }
  .contact #formWrap .error_messe {
    padding: 10px;
    margin: 10px 50px;
  }
  .contact #formWrap h2 {
    margin-bottom: 2em;
    font-size: 24px;
    text-align: center;
  }
  .contact #formWrap table {
    margin: 2em auto 0;
    width: auto;
  }
  .contact #formWrap th {
    padding: 5px 20px 5px 0;
    text-align: left;
    color: #ffba00;
    font-weight: 400;
    white-space: nowrap;
    vertical-align: top;
    box-sizing: border-box;
  }
  .contact #formWrap td {
    padding: 5px 0;
    width: 60%;
    box-sizing: border-box;
  }
  .contact #formWrap .contact__btn-link {
    width: 348px;
  }
  .contact #formWrap .contact__btn-link input {
    background: transparent;
  }
}
#ui-datepicker-div * {
  font-size: 0.9em;
}
.time1,
.time2 {
  display: none;
}
.radio-btns input[type="radio"] {
  display: none;
}
.radio-btns label {
  position: relative;
  padding-left: 40px;
}
.radio-btns .row {
  font-weight: 400;
}
.radio-btns input[type="radio"] + label:before {
  position: absolute;
  content: "";
  display: block;
  width: 29px;
  height: 29px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #ebebeb;
  left: 0;
  top: 0;
}
.radio-btns input[type="radio"] + label:after {
  position: absolute;
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #2e3175;
  left: 8px;
  top: 7px;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.radio-btns input[type="radio"]:checked + label:after {
  opacity: 1;
}
@media all and (max-width: 767px) {
  .radio-btns label {
    display: inline-block;
  }
  .radio-btns .row {
    margin-bottom: 3px;
  }
}
@media all and (min-width: 768px) {
  .radio-btns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .radio-btns .row {
    margin: 0 40px 5px 0;
    min-width: 200px;
  }
}
a.ui-datepicker-prev.ui-corner-all,
a.ui-datepicker-next.ui-corner-all {
  background: #fff;
}

/*********** ここまでベースCSS・リセットCSS ***********/
.carousel {
  width: 720px;
  height: 337.5px;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
  box-sizing: border-box;
  will-change: transform;
}

.carousel-area {
  height: 100%;
  position: absolute;
  display: flex;
  justify-content: space-between;
  box-sizing: border-box;
  will-change: transform;
  list-style:none;
  padding-left: 0;
}


.carousel-list {
  width: 720px;
  height: 100%;
  box-sizing: border-box;
  will-change: transform;
}

.carousel-img {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  will-change: transform;
}

@media screen and (max-width: 600px) {
  .carousel {
    width: 300px;
    height: 400px;
  }
  .carousel-list {
    width: 300px;
    height: 400px;
    margin-right: 0;
  }
}
/*********** スライド送りボタン ***********/
/* 共有パーツ */
.arrow-wrap {
  width: 100%;
  height: 50px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 10;
  padding: 0 70px;
  box-sizing: border-box;

}
@media screen and (max-width: 769px) {
  .arrow-wrap {
    justify-content: space-around;
    padding: 0;
  }
}

.arrow-btn-center {
  justify-content: center;
  box-sizing: border-box;

}

.arrow-btn {
  width: 200px;
  height: 60px;
  background-color: #FFBA00;
  border-radius: 6px !important;
  transition: 0.2s;
  color: #fff;
  box-sizing: border-box;
  border: none;
  font-weight: 700;
}
@media screen and (max-width: 769px) {
  .arrow-btn {
    width: 130px;
    height: 40px;
  }
}

.arrow-btn:hover {
  background-color: #ff6464;
  opacity: 0.7;
  box-shadow: 0px 1px 10px -2px rgba(0, 0, 0, 0.8);
}

.arrow-btn:disabled {
  background-color: #F4F4F4;
  opacity: 1;
  box-shadow: none;
  border-radius: 6px !important;
}

/* 左 のdiv*/
.arrow-left {
  z-index: 10;
}

/* 右 div*/
.arrow-right {
  z-index: 10;
}

.d-none {
  display: none;
}

.slider-title {
  text-align: center;
  font-size: 30px;
  color: #464646;
  display: inline-block;
  position: relative;
  font-weight: 700;
}
.slider-title::before, .slider-title::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-60%);
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background-color: #ffbb00;
  background: rgba(255, 187, 0, 0.8);
}
@media screen and (max-width: 769px) {
  .slider-title::before, .slider-title::after {
    width: 10px;
    height: 10px;
  }
}
.slider-title::before {
  left: -40px;
}
@media screen and (max-width: 769px) {
  .slider-title::before {
    left: -15px;
  }
}
.slider-title::after {
  right: -40px;
}
@media screen and (max-width: 769px) {
  .slider-title::after {
    right: -15px;
  }
}
.slider-title span {
  font-size: 40px;
  color: #FFBA00;
}
@media screen and (max-width: 769px) {
  .slider-title span {
    font-size: 30px;
  }
}
@media screen and (max-width: 769px) {
  .slider-title {
    font-size: 18px;
    line-height: 30px;
    margin-top: 5px;
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 769px) {
  .slider-title-sp {
    font-size: 14px;
    margin-bottom: 0;
  }
}

.slider-dis {
  font-size: 16px;
  text-align: left;
  font-weight: normal;
  color: #464646;
  margin: 20px 0;
}
@media screen and (max-width: 769px) {
  .slider-dis {
    font-size: 12px;
    margin-top: 5px;
  }
}

.slider-btn-dis {
  margin-top: 20px;
  font-size: 18px;
  text-align: center;
  font-weight: bold;
  color: #FFBA00;
}
@media screen and (max-width: 769px) {
  .slider-btn-dis {
    font-size: 15px;
    margin-top: 90px;
  }
}

.carousel-list {
  text-align: center;
}

.contact__form dt {
  font-size: 30px;
  font-weight: 400;
  font-weight: bold;
  text-align: center;
  color: #464646;
  background: linear-gradient(to bottom, transparent, transparent 70%, #FFEF33 70%, #FFEF33);
  display: inline-block;
  line-height: 40px;
}
@media screen and (max-width: 769px) {
  .contact__form dt {
    font-size: 15px;
    line-height: 25px;
  }
}

.contact__form dt {
  margin: 10px 0 8px;
}

.contact__form .dt-center {
  margin: 30px 0 40px;
}
@media screen and (max-width: 769px) {
  .contact__form .dt-center {
    margin: 10px 0 20px;
  }
}

.contact__form .dt-single {
  margin: 84px 0 40px;
}
@media screen and (max-width: 769px) {
  .contact__form .dt-single {
    margin: 54px 0 20px;
  }
}

.contact__form .ico__optional,
.contact__form .ico__required {
  margin-left: 10px;
  /* padding: 0px 8px 1px; */
  padding: 4px 5px;
  font-size: 20px;
  line-height: 1;
  font-weight: 700;
}
@media screen and (max-width: 769px) {
  .contact__form .ico__optional,
.contact__form .ico__required {
    padding: 2px 3px;
    margin-left: 5px;
  }
}

.contact__form .ico__required {
  color: #fff;
  background: #404040;
}

.contact__radio {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 769px) {
  .contact__radio {
    flex-direction: column;
    align-items: center;
  }
}

.contact__radio .contact__radio-txt {
  margin: 7px 0 -14px;
}

.contact__radio input[type=radio] {
  display: none;
}

.contact__radio .item {
  width: 50%;
  height: 100px;
}
@media screen and (max-width: 769px) {
  .contact__radio .item {
    width: 80%;
    margin: 0 auto;
    height: 70px;
  }
}

.contact__radio .item01 {
  margin-right: 10px;
}
@media screen and (max-width: 769px) {
  .contact__radio .item01 {
    margin: 0;
  }
}

@media screen and (max-width: 769px) {
  .contact__radio .item.item03,
  .contact__radio .item.item04 {
    width: 95%;
  }
}

.contact__radio .item01 label {
  font-size: 24px;
}

.contact__radio .item01 label span {
  font-size: 1.2rem;
  font-weight: 400;
}

.contact__radio .item01 .contact__radio-txt {
  font-size: 1rem;
  font-weight: 400;
  color: #8d8d8d;
  margin-bottom: 10px;
}

.contact__radio .item02 label {
  font-size: 24px;
}

.contact__radio label {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  padding-left: 15px;
  box-sizing: border-box;
}

.contact__radio input[type=radio] + label {
  box-sizing: border-box;
  font-weight: 700;
  color: #cbcbcb;
  background: url(https://elementgym-fit.com/lp/pilates/honbu01_original/images/contact-radio_bg02.png) no-repeat center/contain;
}

.contact__radio input[type=radio]:checked + label {
  color: #fff;
  background: url(https://elementgym-fit.com/lp/pilates/honbu01_original/images/contact-radio_bg01.png) no-repeat center/contain;
}

@media screen and (max-width: 769px) {
  .contact__radio .item .select-sp {
    font-size: 1.5rem;
  }
}

.contact__form textarea,
.contact__form input[type=text],
.contact__form input[type=email] {
  font-size: 24px;
  font-weight: 400;
  background: #fafafa;
  /* border: 0px; */
  border-radius: 6px;
  box-sizing: border-box;
  padding: 6px 20px;
  height: 52px;
  width: 65%;
  margin: 0 auto;
  box-sizing: border-box;

}
@media screen and (max-width: 769px) {
  .contact__form textarea,
.contact__form input[type=text],
.contact__form input[type=email] {
    width: 100%;
    height: 40px;
    font-size: 18px;
    padding: 6px 8px;
  }
}

.tennpo .contact .reserve__date,
.tennpo .contact__select {
  width: 65%;
  height: 53px;
  font-size: 24px;
  margin: 0 auto;
  box-sizing: border-box;

}
@media screen and (max-width: 769px) {
  .tennpo .contact .reserve__date,
.tennpo .contact__select {
    width: 100%;
    height: 40px;
    font-size: 15px;
  }
}
.tennpo .contact .reserve__date:after,
.tennpo .contact__select:after {
  position: absolute;
  content: "";
  top: 50%;
  right: 10px;
  width: 10px;
  height: 10px;
  border: 1px solid #707070;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg) translateY(-50%);
  transform-origin: top center;
  box-sizing: border-box;

}
@media screen and (max-width: 769px) {
  .tennpo .contact .reserve__date:after,
.tennpo .contact__select:after {
    width: 6px;
    height: 6px;
    top: 15px;
  }
}

.flex {
  display: flex;
  margin: 0 -8px;
}
@media screen and (max-width: 769px) {
  .flex {
    flex-direction: column;
  }
}
.flex .flex-item {
  width: 33.3333%;
  padding: 0 8px;
}
@media screen and (max-width: 769px) {
  .flex .flex-item {
    width: 100%;
    padding: 0;
  }
}
.flex .flex-item .date-title {
  font-size: 20px;
  margin: 30px 10px;
}
@media screen and (max-width: 769px) {
  .flex .flex-item .date-title {
    font-size: 13px;
    margin: 10px 0 3px;
  }
}
.flex .flex-item .date {
  margin-bottom: 20px;
  padding-left: 10px;
  width: 100%;
  height: 50px;
  font-weight: 400;
  font-size: 16px;
  font-weight: bold;
  color: #000 !important;
  box-sizing: border-box;

}
@media screen and (max-width: 769px) {
  .flex .flex-item .date {
    width: 95%;
    height: 30px;
    margin-bottom: 5px;
  }
}
.flex .flex-item .date::-moz-placeholder {
  color: #000;
  font-weight: 400;
}
.flex .flex-item .date:-ms-input-placeholder {
  color: #000;
  font-weight: 400;
}
.flex .flex-item .date::placeholder {
  color: #000;
  font-weight: 400;
}
.flex .flex-item .contact .reserve__date,
.flex .flex-item .contact__select {
  width: 100%;
  height: 50px;
  font-size: 1.5rem;
  margin: 0 auto;
  line-height: 36px;
}
@media screen and (max-width: 769px) {
  .flex .flex-item .contact .reserve__date,
.flex .flex-item .contact__select {
    width: 95%;
    height: 30px;
    line-height: 19px;
  }
}
.flex .flex-item .contact .reserve__date:after,
.flex .flex-item .contact__select:after {
  position: absolute;
  content: "";
  top: 50%;
  right: 15px;
  width: 8px;
  height: 8px;
  border: 1px solid #707070;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg) translateY(-75%);
  transform-origin: top center;
  box-sizing: border-box;

}
@media screen and (max-width: 769px) {
  .flex .flex-item .contact .reserve__date:after,
.flex .flex-item .contact__select:after {
    width: 6px;
    height: 6px;
    top: 13px;
  }
}

input[type=date]::-webkit-calendar-picker-indicator {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
}

input[type=date]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

input[type=date]::-webkit-clear-button {
  -webkit-appearance: none;
}

#placeholder {
  display: none;
}

@media screen and (max-width: 769px) {
  .reserve__date {
    position: relative;
  }
  #placeholder {
    position: absolute;
    top: 0;
    left: 10px;
    line-height: 5rem;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 769px) and (max-width: 769px) {
  #placeholder {
    line-height: 3.7rem;
    font-size: 1.2rem;
  }
}

.gym-trainer-container {
	width: 600px;
	max-width: 100%;
}

@media screen and (max-width: 767px) {
	.gym-trainer-container {
		max-width: 90% !important;
		width: 100%;
	}
}
	
.gym-trainer-container p {
	margin-top: 28px;
}

.gym-access-container {
    width: 792px;
    max-width: 100%;
/*     padding: 0 28px; */
    display: flex;
    justify-content: space-between;
    gap: 30px 14px;
    flex-wrap: wrap;
}

.gym-access-item {
    width: calc(50% - 14px);
}

@media screen and (max-width: 767px) {
	.gym-access-container {
		padding: 0 15px;
		display: block;
	}
	
	.gym-access-item {
		width: 100%;
		margin-bottom: 40px;
	}
}

/* カスタムフォームのデザイン */
.carousel.custom-form-carousel {
   height: 100%; 
}

@media screen and (max-width: 600px) {
  .carousel.custom-form-carousel {
    height: 100%;
  }
}

.carousel.custom-form-carousel .carousel-area {
   position: static;
   
}

.carousel.custom-form-carousel .carousel-area .carousel-list {
  flex-shrink: 0;
}

.carousel.custom-form-carousel .carousel-list.reserve-datetime .flex {
  margin: 0 2px;
}

@media screen and (max-width: 600px) {
  .carousel.custom-form-carousel,
  .carousel.custom-form-carousel .carousel-area,
  .carousel.custom-form-carousel .carousel-area .carousel-list {
    height: 100%;
  }
}

.carousel.custom-form-carousel .dt-single {
  margin: 40px 0;
  /* position: relative; */
}

.carousel.custom-form-carousel .reserve__select.contact__select {
  height: 53px;
}

.carousel.custom-form-carousel .contact__select {
  height: 60px;
  padding: 4px 25px 4px 10px;
}

.carousel.custom-form-carousel .contact__select select {
  font-size: 16px;
}

/* ラジオボタン */
.carousel.custom-form-carousel input[type=radio] {
  appearance: none;
  display: none;
}

.carousel.custom-form-carousel input[type=radio] + span {
  /* padding-left: 20px; */
  padding-left: 0;
	padding-right: 40px;
  position: relative;
  /* margin-right: 20px; */
  width: 100%;
  text-align: left;
}

.carousel.custom-form-carousel input[type=radio] + span:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -21px;
  right: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #dfdfdf;
}

.carousel.custom-form-carousel input[type=radio]:checked + span:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -10px;
  right: 12px;
/*   top: 13px; */
  width: 10px;
  height: 20px;
  border-bottom: 6px solid #ff6464;
  border-right: 6px solid #ff6464;
	transform: translate(-5%, -23%) rotate(40deg);
}

.carousel.custom-form-carousel .contact__radio {
  max-width: 700px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px 2%;
  text-align: left;
  justify-content: flex-start;
}

.carousel.custom-form-carousel .contact__radio label {
  background: #F4F4F4;
  border-radius: 5px;
  color: #cbcbcb;
  font-weight: 700;
  font-size: 17px;
  padding: 10px 18px;
  width: calc(50% - 1%);
}

.carousel.custom-form-carousel .contact__radio label:has(input[type=radio]:checked) {
  background: #ff6464;
  color: #fff;
}

.carousel.custom-form-carousel .contact__radio label:has(input[type=radio]:checked) span::before {
  background: #fff;
}


/* チェックボックス */
.carousel.custom-form-carousel input[type=checkbox] {
  appearance: none;
  display: none;
}

.carousel.custom-form-carousel input[type=checkbox] + span {
  padding-left: 0;
	padding-right: 40px;
  position: relative;
  width: 100%;
  text-align: left;
  display: inline-block;
}

.carousel.custom-form-carousel input[type=checkbox] + span:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -21px;
  right: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #dfdfdf;
}

.carousel.custom-form-carousel input[type=checkbox]:checked + span:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -10px;
  right: 12px;
  width: 15px;
  height: 25px;
  transform: translate(-5%, -23%) rotate(40deg);
  border-bottom: 6px solid #FFBA00;
  border-right: 6px solid #FFBA00;
}

.carousel.custom-form-carousel .contact__checkbox {
  max-width: 700px;
  margin: 20px auto;
  text-align: left;
}

.carousel.custom-form-carousel .contact__checkbox label {
  background: #F4F4F4;
  border-radius: 5px;
  color: #cbcbcb;
  font-weight: 700;
  font-size: 17px;
  padding: 18px;
  width: 49%;
  display: inline-block;
  text-align: left;
  margin-bottom: 16px;
}

.carousel.custom-form-carousel .contact__checkbox label:has(input[type=checkbox]:checked) {
  background: #FFBA00;
  color: #fff;
}

.carousel.custom-form-carousel .contact__checkbox label:has(input[type=checkbox]:checked) span::before {
  background: #fff;
}

/* SP */
@media screen and (max-width: 769px) {
  .carousel.custom-form-carousel .slider-title {
    font-size: 16px;
  }

  .carousel.custom-form-carousel .slider-title span {
    font-size: 20px;
  }

  .carousel.custom-form-carousel .dt-single {
    margin: 20px 0;
  }

  .carousel.custom-form-carousel .contact__select {
    height: 40px;
    width: 99%;
  }

  .carousel.custom-form-carousel .contact__checkbox label {
    font-size: 16px;
    padding: 16px;
    width: 100%;
    display: block;
    text-align: left;
/*    margin-bottom: 16px;*/
  }

  .carousel.custom-form-carousel .contact__radio label {
    font-size: 16px;
    padding: 10px 16px;
    width: 100%;
    display: inherit;
    text-align: left;
/*    margin-bottom: 16px;*/
  }

  .carousel.custom-form-carousel input[type=radio] + span {
    width: 100%;
    display: inline-block;
  }

  .carousel.custom-form-carousel input[type=checkbox] + span:before,
  .carousel.custom-form-carousel input[type=radio] + span:before {
    width: 30px;
    height: 30px;
    margin-top: -15px;
  }

  .carousel.custom-form-carousel input[type=checkbox]:checked + span:after {
/*    margin-top: -6px;
    right: 9px;
    top: 7px;
    width: 12px;
    height: 18px;*/
    right: 9px;
    top: 7px;
    width: 12px;
    height: 18px;
    position: absolute;
    top: calc(50% + 8px);
    -webkit-transform: translate(-50%, -50%) rotate(40deg);
    transform: translate(0, -50%) rotate(40deg);
  }

  .carousel.custom-form-carousel input[type=radio]:checked + span:after {
/*    margin-top: -6px;
    right: 9px;
    top: 13px;
    width: 12px;
    height: 18px;*/
    right: 9px;
    top: 7px;
    width: 12px;
    height: 18px;
    position: absolute;
    top: calc(50% + 8px);
    -webkit-transform: translate(-50%, -50%) rotate(40deg);
    transform: translate(0, -50%) rotate(40deg);
  }

  .carousel.custom-form-carousel .reserve__select.contact__select {
    height: 37px;
  }
}

@media screen and (max-width: 769px) {
  .carousel.custom-form-carousel input[type=radio]:checked + span:after {
    width: 7px;
    height: 14px;
  }
}