@charset "UTF-8";
/*======================================
form-layout
/*======================================*/
#form .glass-card {
  position: relative;
  background: transparent;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgb(var(--white-rgb) / .25);
  box-shadow: 0 12px 30px rgb(var(--black-rgb) / .18);
  overflow: hidden;
}
#form .form-wrap.glass-card {
  border-radius: 0;
  padding: 2.5em 5%;
  width: 110%;
  margin: 2em 0 0 -5%;
}
#form .glass-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: rgb(var(--gray-rgb) / .6);
}
#form .tab-swich {
  background: var(--gray);
  border-radius: 100px;
  height: 3.5rem;
  gap: 0;
  overflow: hidden;
  border-radius: 10px;
}
#form .tab-swich:hover {
  background: rgb(var(--gray-rgb) / .8);
}
#form .tab-swich li {
  flex: 1;
  font-weight: 600;
  line-height: 3.5rem;
  height: 3.5rem;
  border: none;
  background-color: none;
  opacity: .5;
}
#form .tab-swich li:hover {
  background: none;
  opacity: .7;
}
#form .tab-swich li.active {
  background: rgb(var(--navy-rgb) / .8);
  border: none;
  color: var(--white);
  opacity: 1;
}
/* 中身を前面に */
#form .form-wrap > * {
  position: relative;
  z-index: 1;
}
.form-CMN dl {
  padding: 0;
  margin-bottom: 2.5em;
}
.form-CMN dt {
  position: relative;
  flex: 1;
  text-align: left;
  font-size: 100%;
  line-height: 1em;
  margin-bottom: 1em;
  letter-spacing: 2px;
}
.form-CMN dt.required::before {
  content: "必須";
  text-align: center;
  background: rgb(var(--navy-rgb) / .7);
  padding: .3em 1em;
  font-size: 80%;
  vertical-align: .1em;
  line-height: 1em;
  color: var(--white);
  margin-right: .5em;
  border-radius: 3px;
}
.form-CMN dd {
  text-align: left;
  width: 100%;
  line-height: 1em;
}
.form-CMN dd:not(:first-of-type) {
  margin-top: .5em;
}
.form-CMN dd span {
  width: 100%;
}
.form-CMN input, .form-CMN input[type="text"]:focus, .form-CMN select, .form-CMN textarea {
  padding: 0 .5em;
  font-size: 16px;
  height: 55px;
  line-height: 1.2em;
}
.form-CMN .select-wrap dd {
  position: relative;
  max-width: 600px;
}
.form-CMN dl.textarea-wrap {
  display: block;
}
.form-CMN dl.textarea-wrap dd {
  max-width: none;
  width: 100%;
  margin-bottom: 0;
}
.form-CMN textarea {
  text-align: left;
  padding: 1em;
  height: 10em;
  line-height: 1.3em;
  letter-spacing: normal;
}
.form-CMN .schedule-wrap p {
  font-size: 90%
}
.form-CMN .schedule-wrap dl:first-of-type {
  align-items: center;
  margin-bottom: 1em;
}
.form-CMN .schedule-wrap dl:first-of-type dt {
  margin: 1.5em auto;
}
.form-CMN .schedule-wrap dl:first-of-type dd p {
  margin: 0 auto;
}
.form-CMN .schedule-wrap dd {
  position: relative;
}
.form-CMN .schedule-wrap dd:not(:first-of-type) {
  margin-top: 1.5em;
}
.form-CMN .schedule-wrap dd p {
  width: 100%;
  margin-bottom: .5em;
  flex-basis: 100%; /* 最初の要素を1行分に設定 */
  order: -1;
}
.form-CMN .schedule-wrap dd div > span:nth-of-type(1) {
  width: 60%;
  cursor: pointer;
}
.form-CMN .schedule-wrap dd div > span:nth-of-type(2) {
  width: calc(40% - .5em);
  margin-left: .5em;
}
.wpcf7 .acceptance-wrap span.wpcf7-not-valid-tip {
  margin-top: 1em;
}
.wpcf7 .acceptance-wrap span.wpcf7-not-valid-tip::before {
  content: none;
}
/*======================================
form-lede
/*======================================*/
#form .desc {
  display: inline-block;
}
#form .desc p {
  text-align: justify;
}
#form .TEL {
  text-align: center;
  width: 100%;
  letter-spacing: 2px;
}
#form .TEL.glass-card::before {
  content: none;
}
#form .TEL h3 {
  font-size: 120%;
}
#form .TEL p {
  text-align: center;
}
#form .TEL p.name {
  font-size: 90%;
}
#form .TEL p.EN {
  text-align: center;
  font-size: 200%;
  font-weight: 500;
}
@media screen and (min-width:769px) {
  /*======================================
form-layout
/*======================================*/
  .form-CMN dt {
    font-size: 100%;
    font-weight: 500;
    margin-bottom: .5em;
    margin-top: 1.5em;
  }
  .form-CMN dt.required::before {
    padding: .3em 1em;
  }
  .form-CMN dt.required {
    margin-bottom: 1em;
  }
  .form-CMN dd {
    width: 65%;
  }
  .form-CMN .radio-wrap dd {
    width: 100%;
  }
  .form-CMN input, .form-CMN input[type="text"]:focus, .form-CMN select, .form-CMN textarea {
    padding: 0 1em;
  }
  .form-CMN dl.textarea-wrap {
    margin-top: 3em;
  }
  .form-CMN textarea {
    height: 10em;
    padding: 1em;
  }
  .acceptance-wrap {
    font-size: 110%;
  }
} /*END query*/
@media screen and (min-width:768px) {} /*END query*/