/* CSS Document */
/*ページタイトル*/
.page_title > h2::before{
  content: "CONTACT";
}
/*コンテンツ*/
.contact_wrap{
  box-sizing: border-box;
}
body[wc-view-type="sp"] .contact_wrap{
  padding: calc(var(--headerHeight) / 2) 6vw;
}
body[wc-view-type="tb"] .contact_wrap,
body[wc-view-type="tb-l"] .contact_wrap{
  padding: calc(var(--headerHeight) / 2) 4.5vw;
}
body[wc-view-type="pc"] .contact_wrap{
  padding: calc(var(--headerHeight) / 2) calc((100vw - 800px) /2);
}
.contact_wrap .c_top_text{
  line-height: 1.8rem;
}
body:not([wc-view-type="sp"]) .contact_wrap .c_top_text{
  text-align: center;
}
.contact_wrap .recruit_text{
  color: #e95464;
  margin-top: 0.75rem;
  font-size: 1rem !important;
}
body:not([wc-view-type="sp"]) .contact_wrap .recruit_text{
  width: 500px;
  margin: 0.75rem auto 0;
}
.contact_wrap .recruit_text.kome::before{
  font-size: 1rem !important;
}
.contact_wrap .c_tel_box{
  background-color: #efefef;
  border-radius: 1rem;
  margin-top: 1rem;
}
body:not([wc-view-type="sp"]) .contact_wrap .c_tel_box{
  width: 550px;
  margin: 1.5rem auto;
}
.contact_wrap .c_tel_box > dt,
.contact_wrap .c_tel_box > dd{
  box-sizing:border-box;
  padding: 0.75rem 1rem;
}
.contact_wrap .c_tel_box > dt{
  box-sizing: border-box;
  border-bottom: 2px solid #fff;
  font-weight: 700;
  text-align: center;
  font-size: 1.15rem;
  letter-spacing: 1px;
}
.contact_wrap .c_tel_box > dd{
}
.contact_wrap .c_tel_box > dd > p{
  line-height: 1.8rem;
}
body:not([wc-view-type="sp"]) .contact_wrap .c_tel_box > dd > p{
  text-align: center;
}
.contact_wrap .c_tel_box > dd > .kome{
  margin: 0.25rem 0 0.5rem 0;
}

body:not([wc-view-type="sp"]) .contact_wrap .c_tel_box > dd > .kome{
  width: fit-content;
  margin: 0.5rem auto 0.5rem auto;
}
.contact_wrap .c_tel_box > dd > .c_in_tel{
}
.contact_wrap .c_tel_box > dd > .c_in_tel > a{
  display: flex;
  font-size: 1.5rem;
  width: fit-content;
  margin: 0 auto;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: 1px;
  text-decoration: none;
  align-items: center;
  color: var(--defColor);
}
.contact_wrap .c_tel_box > dd > .c_in_tel > a .c_tel_icon{
  position: relative;
  z-index: 1;
  width: 2rem;
  height: 2rem;
  background-color: #121823;
  border-radius: 50%;
  display: table;
  flex: none;
  margin-right: 0.25rem;
}
.contact_wrap .c_tel_box > dd > .c_in_tel > a .c_tel_icon::before{
  content: "";
  width:2rem;
  height: 1rem;
  background-color: #fff;
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  -webkit-mask-image: var(--wciconsrc);
  mask-image: var(--wciconsrc);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
}
.contact_wrap .c_tel_box > dd > .c_in_tel .business_time{
  display: flex;
  gap:0.5rem;
}

body[wc-view-type="sp"] .contact_wrap .c_tel_box > dd > .c_in_tel .business_time{
  flex-direction: column;
  width: fit-content;
  margin: 0.75rem auto 0;
}
body:not([wc-view-type="sp"]) .contact_wrap .c_tel_box > dd > .c_in_tel .business_time{
  width: fit-content;
  margin: 1rem auto 0;
}
.contact_wrap .c_tel_box > dd > .c_in_tel .business_time > dl{
  display: flex;
  align-items: center;
}
.contact_wrap .c_tel_box > dd > .c_in_tel .business_time > dl dt{
  flex: none;
  margin-right: 0.25rem;
}
.contact_wrap .c_tel_box > dd > .c_in_tel .business_time > dl dt span{
  background-color: #121823;
  display: table;
  font-size: 0.85rem;
  color: #fff;
  font-weight: 700;
  margin-right: 0.25rem;
  padding: 0.25rem 0.5rem 0.3rem;
  border-radius: 1rem;
  line-height: 1em;
}
.contact_wrap .c_tel_box > dd > .c_in_tel .business_time > dl dd{
}
/*フォーム*/
form{
  margin-top: 1.5rem;
}
body:not([wc-view-type="sp"]) form{
  margin-top: 2rem;
}
body[wc-view-type="tb-l"] form{
  width: 750px;
  margin: 2rem auto 0 auto;
}
form > dl{
  display: flex;
}
body[wc-view-type="sp"] form > dl{
  flex-direction: column;
}
body[wc-view-type="sp"] form > dl:not(:first-of-type){
  margin-top: 0.75rem;
}
body:not([wc-view-type="sp"]) form > dl:not(:first-of-type){
  margin-top: 1rem;
}
form > dl > dt{
  padding-bottom: 0.25rem;
}
form > dl > dt,
form > dl > dt label{
  font-size: 0.95rem;
  display: flex;
  font-weight: 700;
}
body:not([wc-view-type="sp"]) form > dl > dt{
  width: 210px;
  align-items: baseline;
}
form > dl > dt::before{
  font-size: 0.8rem;
  letter-spacing: 1px;
  font-weight: 700;
  padding: 0.3rem 0.4rem 0.05rem;
  line-height: 1em;
  border-radius: 1rem;
  flex: none;
  margin-right: 0.25rem;
}
body:not([wc-view-type="sp"]) form > dl > dt::before{
  padding: 0.2rem 0.5rem 0.2rem;
}
form > dl > dt.required::before{
  content: "必須";
  background-color: #121823;
  color: #fff;
}
form > dl > dt.any::before{
  content: "任意";
  background-color: #bbb;
  color: #121823;
}
form > dl > dd{
}
body:not([wc-view-type="sp"]) form > dl > dd{
  width: calc(100% - 210px);
}
form > dl > dd input.wc-input{
  background-color: #efefef !important;
}
.wc-textarea.system_type{
--inputbg:#efefef !important;
}
.wc-selectbox select:invalid{
  background-color: #efefef !important;
}
input.wc-input.system_type:focus {
  box-shadow: 0 0 .3rem -.05rem #2277ca  inset !important;
}
[wc-form][captcha-state] [wc-captcha] {
  border: none !important;
  width: fit-content !important;
  margin: 1rem auto !important;
}
[wc-form][captcha-state] [wc-captcha] .captchadeco::after{
  border-color: #2277ca !important;
}
form .btnswrap{
  display: flex;
  gap:0.75rem;
  justify-content: center;
}
form .btnswrap .contactclear{
  background-color: #A7A7A7 !important;
}