@charset "utf-8";

/*====================================================================================================

  求人情報

====================================================================================================*/

.recruit_hd-wrap {
  position:relative;
}


.recruit_hd-wrap:after {
  content:"";
  width:100%;
  background-color:#f0f0f0;
  position:absolute;
  left:0;
  bottom:0;
}

.recruit_hd {
  position:relative;
  text-align:left;
}

.recruit_hd .photo {
  z-index:2;
}
  
.recruit_hd-cont h3 {
  padding-top:1.75em;
}

.recruit_hd-cont .lead {
  color:#b3954f;
}

.recruit_hd-cont .lead-line {
  display:inline-block;
  position:relative;
  margin-bottom:0.75em;
}

.recruit_hd-cont .lead-line:after {
  content:"";
  display:block;
  position:absolute;
  left:0;
  bottom:-0.25em;
  width:100%;
  height:1px;
  background-color:#b3954f;
  transform-origin:left top;
  transform:scale(0,1);
}

.recruit_hd-cont .lead.is-scroll .lead-line:after {
  transform:scale(1,1);
}

.recruit_hd-cont .lead-line--1:after {
  -webkit-transition:transform 0.3s ease-out;
  transition:transform 0.3s ease-out;
}

.recruit_hd-cont .lead.is-scroll .lead-line--1:after {
  -webkit-transition-delay:0.2s;
  transition-delay:0.2s;
}

.recruit_hd-cont .lead-line--2:after {
  -webkit-transition:transform 0.6s ease-out;
  transition:transform 0.6s ease-out;
}

.recruit_hd-cont .lead.is-scroll .lead-line--2:after {
  -webkit-transition-delay:0.4s;
  transition-delay:0.4s;
}

.recruit_hd-cont .ap-list {
  width:100%;
  list-style:none;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:stretch;
  -ms-flex-align:stretch;
  align-items:stretch;
  position:relative;
  overflow:hidden;
}

.recruit_hd-cont .ap-list li:after {
  content:"";
  width:30px;
  height:100%;
  display:block;
  position:absolute;
  left:-60px;
  top:-60px;
  background-color:rgba(255,255,255,0.3);
  opacity:0;
  -webkit-transform:rotate(45deg);
  transform:rotate(45deg);
}
.recruit_hd-cont .ap-list.is-scroll li:after {
  -webkit-animation:reflection 6s ease-out infinite;
  animation:reflection 6s ease-out infinite;
}

.recruit_hd-cont .ap-list li {
  width:50%;
  background-color:#b3954f;
  color:#fff;
  text-align:center;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  padding:1.5em 1em 1.25em 1em;
}

.recruit_hd-cont .ap-list li:first-child {
  border-right:1px solid rgba(255,255,255,0.15);
}

.recruit_hd-cont .ap-list li span:before {
  content:"";
  width:100%;
  height:2.25em;
  display:block;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:contain;
  margin-bottom:0.5em;
}

.recruit_hd-cont .ap-list li.awd span:before {
  background-image:url(../image/icon-awd.svg);
}

.recruit_hd-cont .ap-list li.wom span:before {
  background-image:url(../image/icon-wom.svg);
}

@-webkit-keyframes reflection {
  0%   { -webkit-transform:scale(0) rotate(45deg); opacity:0; }
  5%  { -webkit-transform:scale(0) rotate(45deg); opacity:0.5; }
  6%  { -webkit-transform:scale(5) rotate(45deg); opacity:1; }
  25% { -webkit-transform:scale(50) rotate(45deg); opacity:0; }
  100% { -webkit-transform:scale(50) rotate(45deg); opacity:0; }
}

@keyframes reflection {
  0%   { transform:scale(0) rotate(45deg); opacity:0; }
  5%  { transform:scale(0) rotate(45deg); opacity:0.5; }
  6%  { transform:scale(5) rotate(45deg); opacity:1; }
  25% { transform:scale(50) rotate(45deg); opacity:0; }
  100% { transform:scale(50) rotate(45deg); opacity:0; }
}

@media print,screen and (min-width:641px) {
  .recruit_hd-wrap {
    padding-top:140px;
  }
  
  .recruit_hd-wrap:after {
    height:88px;
  }
  
  .recruit_hd {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:stretch;
    -ms-flex-align:stretch;
    align-items:stretch;
    position:relative;
    z-index:2;
  }

  .recruit_hd .photo {
    -webkit-box-flex:1;
    -ms-flex:1;
    flex:1;
    padding-left:6%;
    -ms-flex-item-align:end;
    align-self:flex-end;
  }

  .recruit_hd-cont {
    width:392px;
    padding-top:96px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
  }

  .recruit_hd-cont .ap-list {
    padding-top:50px;
    margin-top:auto;
  }
}

@media print,screen and (min-width:641px) and (max-width:1400px) {
  .recruit_hd-cont {
    width:-webkit-calc(392 / 1400 * 100vw);
    width:calc(392 / 1400 * 100vw);
    min-width:288px;
  }
}

@media screen and (max-width:640px) {
  .recruit_hd-wrap {
    padding-top:5.5em;
  }
  
  .recruit_hd-wrap:after {
    height:-webkit-calc(280 / 640 * 100vw - 3em);
    height:calc(280 / 640 * 100vw - 3em);
  }
  
  .recruit_hd .photo {
    position:relative;
  }
  
  .recruit_hd-cont {
    padding-bottom:2.5em;
    text-align:center;
  }
  
  .recruit_hd-cont .ap-list {
    padding-top:2.5em;
  }
}


/*--------------------------------------------------------------------------------
  loop text
--------------------------------------------------------------------------------*/

.recruit_hd-txt-loop {
  width:100%;
  position:absolute;
  left:0;
  top:40px;
  line-height:1;
  overflow:hidden;
}

.recruit_hd-txt-loop .txt {
  width:200%;
  white-space:nowrap;
  position:relative;
  display:-webkit-flex;
  display:flex;
  -webkit-flex-flow:row nowrap;
  flex-flow:row nowrap;
  overflow:hidden;
}

.recruit_hd-txt-loop .txt:before,
.recruit_hd-txt-loop .txt:after {
  content:"MICHINOKU TEIEN";
  display:block;
  text-align:center;
  width:100%;
  padding:0 0.5em;
  font-weight:500;
  letter-spacing:0.1em;
  font-size:900%;
  color:#f0f0f0;
}

.recruit_hd-txt-loop .txt:before {
  -webkit-animation:txt-loop1 100s -50s linear infinite;
  animation:txt-loop1 100s -50s linear infinite;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  will-change:transform;
}

.recruit_hd-txt-loop .txt:after {
  -webkit-animation:txt-loop2 100s linear infinite;
  animation:txt-loop2 100s linear infinite;
}

@media screen and (max-width:640px) {
  .recruit_hd-txt-loop {
    top:2em;
  }
  
  .recruit_hd-txt-loop .txt:before,
  .recruit_hd-txt-loop .txt:after {
    font-size:500%;
  }
}

@-webkit-keyframes txt-loop1 {
  0% {
    -webkit-transform:translateX(100%);
    -ms-transform:translateX(100%);
    transform:translateX(100%);
  }
  to {
    -webkit-transform:translateX(-100%);
    -ms-transform:translateX(-100%);
    transform:translateX(-100%);
  }
}

@keyframes txt-loop1 {
  0% {
    -webkit-transform:translateX(100%);
    -ms-transform:translateX(100%);
    transform:translateX(100%);
  }
  to {
    -webkit-transform:translateX(-100%);
    -ms-transform:translateX(-100%);
    transform:translateX(-100%);
  }
}

@-webkit-keyframes txt-loop2 {
  0% {
    -webkit-transform:translateX(0);
    -ms-transform:translateX(0);
    transform:translateX(0);
  }
  to {
    -webkit-transform:translateX(-200%);
    -ms-transform:translateX(-200%);
    transform:translateX(-200%);
  }
}

@keyframes txt-loop2 {
  0% {
    -webkit-transform:translateX(0);
    -ms-transform:translateX(0);
    transform:translateX(0);
  }
  to {
    -webkit-transform:translateX(-200%);
    -ms-transform:translateX(-200%);
    transform:translateX(-200%);
  }
}


/*----------------------------------------------------------------------------------------------------

  募集内容
  
----------------------------------------------------------------------------------------------------*/

.requirement {
  background-color:#f0f0f0;
}

.requirement h5 {
  margin-top:2em;
}

.requirement .hdline .ff-en {
  display:inline-block;
  margin-right:1.8rem;
}

.requirement .hdline .ff-min {
  vertical-align:baseline;
}

.no-recruitment {
  background-color:#fff;
  padding:1.25em;
}

@media print,screen and (min-width:641px) {
  .requirement {
    padding-top:96px;
    padding-bottom:96px;
  }
  
  .no-recruitment {
    margin-top:2em;
  }
}

@media screen and (max-width:640px) {
  .requirement {
    padding-top:3em;
    padding-bottom:3.5em;
  }
  
  .no-recruitment {
    padding:1em;
    margin-top:1.5em;
  }
}
  
ul.recruitment-list {
  list-style:none;
  margin-top:2em;
}
ul.recruitment-list li {
  width:100%;
  margin:20px 0 0 0;
}
ul.recruitment-list li:first-child {
  margin:0 !important;
}
ul.recruitment-list li a {
  display:block;
  width:100%;
  color:#ffffff;
  text-decoration:none;
  background:#3c3c3c;
  padding:40px;
}
ul.recruitment-list li a:hover {
  text-decoration:none;
  background:#ffffff;
}

table.recruitment-tbl {
  width:100%;
  border-collapse:collapse;
  margin-top:2em;
  margin-bottom:4em;
}
table.recruitment-tbl tbody {
}
table.recruitment-tbl tbody tr {
}
table.recruitment-tbl tbody tr th,
table.recruitment-tbl tbody tr td {
  padding:1.25em;
}
table.recruitment-tbl tbody tr th {
  width:20%;
  font-weight:500;
  text-align:center;
  white-space:nowrap;
  background:#dcdcdc;
  border-top:1px solid #f0f0f0;
}
table.recruitment-tbl tbody tr td {
  width:80%;
  background-color:#fff;
  border-top:1px solid #e6e6e6;
}

table.recruitment-tbl tr:first-child th:first-of-type,
table.recruitment-tbl tr:first-child td:first-of-type {
  border-top:0;
}

table.recruitment-tbl td b,
table.recruitment-tbl td strong {
  font-weight:500;
}

@media screen and (max-width:640px) {

  table.recruitment-tbl {
    margin-bottom:2em;
  }
}


/*----------------------------------------------------------------------------------------------------

  Entry
  
----------------------------------------------------------------------------------------------------*/

.entry {
  text-align:center;
}

.entry-list {
  list-style:none;
}

.entry__btn a,
.entry__btn button {
  padding:1em 2em;
}

.entry__tel .ff-min {
  letter-spacing:0.025em;
}

@media print,screen and (min-width:641px) {
  .entry {
    padding-top:96px;
    padding-bottom:96px;
  }

  .entry-hdline {
    margin-bottom:40px;
    padding-bottom:10px;
  }
  
  .entry-list {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    padding-top:48px;
  }

  .entry-list li {
    padding-left:20px;
    padding-right:20px;
  }
}

@media screen and (min-width:481px) {  
  .entry__tel a {
    list-style:none;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
  }

  .entry__tel span {
    text-align:left;
  }

  .entry__tel .open {
    padding-left:1em;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
  }
}

@media screen and (max-width:640px) {
  .entry {
    padding-top:3.5em;
    padding-bottom:3.5em;
  }
  
  .entry-lead {
    font-size:0.88em;
  }
  
  .entry-hdline {
    margin-bottom:1.5em;
    padding-bottom:10px;
  }
  
  .entry__tel {
    padding-bottom:2em;
  }
  
  .entry-list {
    padding-top:1.5em;
  }
  
  .entry__btn a {
    display:block;
  }
}

@media screen and (max-width:480px) {
  .entry__tel .open {
    display:block;
  }
  
  .entry__tel .open br {
    display:none;
  }
}

/*====================================================================================================

  求人応募

====================================================================================================*/

.contact-info__tel {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
}

.contact-info__tel .item {
  padding-left:0.5em;
  padding-right:0.5em;
}

.contact-info__tel .ff-min {
  letter-spacing:0.025em;
}
  
.contact-info__tel .fax-txt {
  display:inline-block;
  margin-right:0.25em;
  font-size:0.6em;
}

.contact-info__tel .open {
  width:100%;
  padding-top:0.5em;
  text-align:center;
}

@media print,screen and (min-width:641px) {
  .contact-info {
    padding-top:96px;
    padding-bottom:96px;
    text-align:center;
  }
  
  .contact-info__tel {
    padding-top:40px;
  }
}

@media screen and (max-width:640px) {
  .contact-info {
    padding-top:3em;
    padding-bottom:3.5em;
  }
  
  .contact-info__tel {
    padding-top:2em;
  }
}


/*----------------------------------------------------------------------------------------------------

  Calendar
  
----------------------------------------------------------------------------------------------------*/

.calendar {
  border-top:1px solid #e1e1e1;
}

.cal-hdline .ff-min {
  display:inline-block;
  margin-left:1em;
  vertical-align:baseline;
}

@media print,screen and (min-width:641px) {
  .calendar {
    padding-top:96px;
    padding-bottom:112px;
  }
}

@media screen and (max-width:640px) {
  .calendar {
    padding-top:3.5em;
    padding-bottom:3.5em;
  }
}


/*----------------------------------------------------------------------------------------------------

  フォーム
  
----------------------------------------------------------------------------------------------------*/

.contact-fm--bg {
  background-color:#f0f0f0;
}

@media print,screen and (min-width:641px) {
  .contact-fm {
    padding-top:96px;
    padding-bottom:96px;
  }
  
  .fm-block {
    max-width:1180px;
  }
}

@media screen and (max-width:640px) {
  .contact-fm {
    padding-top:3.5em;
    padding-bottom:3.5em;
  }
}


/*--------------------------------------------------------------------------------
  入力画面
--------------------------------------------------------------------------------*/
.entry-hdline {
  display:flex;
  align-items:center;
  font-size:1.2em;
  border-bottom:1px solid #3c3c3c;
}
.entry-hdline:not(:first-of-type) {
  margin-top:40px;
}

/* .form-del
----------------------------------------*/
.form-del {
  display:flex;
  align-items:center;
  justify-content:center;
  column-gap:0.75rem;
  color:#ffffff;
  font-size:0.7em;
  font-weight:500;
  background:#282828;
  margin-left:auto;
  padding:5px 10px 5px 15px;
  cursor:pointer;
}
.form-del:hover {
  background:#646464;
}
.form-del:after {
  position:relative;
  content:"";
  width:2rem;
  height:2rem;
  color:#ffffff;
  line-height:0;
  mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="m12,2C6.4699998,2,2,6.4699998,2,12s4.4699998,10,10,10,10-4.4699993,10-10S17.5300007,2,12,2Zm5,13.5900002l-1.4099998,1.4099998-3.5900002-3.5900002-3.5900002,3.5900002-1.4099998-1.4099998,3.5900002-3.5900002-3.5900002-3.5900002,1.4099998-1.4099998,3.5900002,3.5900002,3.5900002-3.5900002,1.4099998,1.4099998-3.5900002,3.5900002,3.5900002,3.5900002Z"/></svg>');
  background:currentColor;
  mask-repeat:no-repeat;
  mask-size:cover;
  mask-position:center center;
}

.form-add {
  display:flex;
  align-items:center;
  justify-content:center;
  column-gap:1rem;
  width:100%;
  max-width:300px;
  font-weight:500;
  text-align:center;
  background-color:#d9d9d9;
  border:1px dashed #3c3c3c;
  cursor:pointer;
  margin:40px auto 0 auto;
  padding:1rem;
}
.form-add:before {
  content:"";
  width:1.5rem;
  height:1.5rem;
  line-height:0;
  position:relative;
  mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><polygon points="23 10 14 10 14 1 10 1 10 10 1 10 1 14 10 14 10 23 14 23 14 14 23 14 23 10"/></svg>');
  background:currentColor;
  color:rgba(var(--color-green),1);
  mask-repeat:no-repeat;
  mask-size:cover;
  mask-position:center center;
}
.form-add-block {
  display:none;
  margin-top:40px;
}

.privacy-check {
  display:flex;
  justify-content:center;
  padding-top:40px;
}

.c-form-txt {
  padding-top:var(--block-space-m);
  padding-bottom:20px;
}
.c-form {
  display:grid;
  align-items:start;
  margin-top:var(--block-space-m);
}
.c-form.-mgt0 {
  margin-top:0;
}
.c-form_ttl {
  display:flex;
  column-gap:1.5rem;
  align-items:center;
}
.c-form_ttl,
.c-form_ttl2 {
  font-weight:700;
  font-family:var(--ff-marugo);
  font-size:var(--fs-m);
}
.c-form_input.-column {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:1rem;
}
@media print, screen and (min-width:641px) {
  .c-form:has(.c-form_ttl) {
    grid-template-columns:25% auto;
  }
  .c-form:has(.c-form_ttl2) {
    grid-template-columns:auto 1fr;
  }
  .c-form {
    grid-column-gap:3rem;
    grid-row-gap:3rem;
  }
  .c-form_ttl {
    justify-self:end;
    margin-top:0.2em;
  }
  .c-form_ttl:not(:has(.c-form-label)) {
    padding-right:6.5rem;
  }
}
@media screen and (max-width:640px) {
  .c-form {
    grid-template-columns:1fr;
    grid-row-gap:1.5rem;
  }
  .c-form_ttl:not(:first-of-type),
  .c-form_ttl2:not(:first-of-type) {
    margin-top:20px;
  }
}

/* .c-cancel-btn
----------------------------------------*/
.c-cancel-btn {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  column-gap:0.5rem;
  vertical-align:middle;
  cursor:pointer;
  border-radius:0.5rem;
  padding:0.75rem 1rem;
  line-height:var(--line-height-s);
  border:1px solid #F55555;
  color:#F55555;
  font-size:var(--fs-3s);
}
.c-cancel-btn:before {
  content:"";
  width:1.75rem;
  height:1.75rem;
  line-height:0;
  position:relative;
  mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="m12,2C6.4699998,2,2,6.4699998,2,12s4.4699998,10,10,10,10-4.4699993,10-10S17.5300007,2,12,2Zm5,13.5900002l-1.4099998,1.4099998-3.5900002-3.5900002-3.5900002,3.5900002-1.4099998-1.4099998,3.5900002-3.5900002-3.5900002-3.5900002,1.4099998-1.4099998,3.5900002,3.5900002,3.5900002-3.5900002,1.4099998,1.4099998-3.5900002,3.5900002,3.5900002,3.5900002Z"/></svg>');
  background:currentColor;
  color:#F55555;
  mask-repeat:no-repeat;
  mask-size:cover;
  mask-position:center center;
}


/*--------------------------------------------------------------------------------
  確認画面
--------------------------------------------------------------------------------*/
table.form-tbl {
  width:100%;
  border-collapse:collapse;
}
table.form-tbl tbody {
}
table.form-tbl tbody tr {
}
table.form-tbl tbody tr th,
table.form-tbl tbody tr td {
  padding:1.25em;
}
table.form-tbl tbody tr th {
  width:20%;
  font-weight:500;
  text-align:center;
  white-space:nowrap;
  background:#dcdcdc;
  border-top:1px solid #f0f0f0;
}
table.form-tbl tbody tr td {
  width:80%;
  background-color:#fff;
  border-top:1px solid #e6e6e6;
}

table.form-tbl tr:first-child th:first-of-type,
table.form-tbl tr:first-child td:first-of-type {
  border-top:0;
}

@media screen and (max-width:640px) {
  table.form-tbl {
    margin-bottom:2em;
  }
}

/*--------------------------------------------------------------------------------
  送信完了
--------------------------------------------------------------------------------*/
.mailsend_box {
  width:100%;
  max-width:750px;
  background:#fbe0dd;
  border:1px solid #e64632;
  margin:0 auto;
  padding:40px;
}
.mailsend_box h4 {
  color:#e64632;
  font-size:1.25em;
  text-align:center;
  margin:0 0 20px 0;
}
.mailsend_box strong {
  color:#e64632;
}

.mailsend_box + .contact-info {
  padding:0 !important;
}

.jump_page_auto {
  text-align:center;
  margin:40px auto -30px auto;
}

@media screen and (max-width:640px) {
  .jump_page_auto {
    text-align:center;
    margin:30px auto -10px auto;
  }
}


/*--------------------------------------------------------------------------------
  部品
--------------------------------------------------------------------------------*/

/* Info
----------------------------------------*/
.fm-info {
  text-align:center;
}

.fm-info p {
  display:inline-block;
  border-top:1px solid #3c3c3c;
  border-bottom:1px solid #3c3c3c;
  padding:0.75em 1em;
}

@media print,screen and (min-width:641px) {
  .fm-info {
    padding-bottom:72px;
  }
}

@media screen and (max-width:640px) {
  .fm-info {
    padding-bottom:3em;
  }
}

/* .c-form-errmsg
----------------------------------------*/
.c-form-errmsg {
  font-size:0.9em;
  color:#c84146;
  padding-top:0.5rem;
  padding-bottom:0.75rem;
}
.c-form-errmsg::before {
  content:"※";
}
.c-form-errmsg + .c-form-errmsg { padding-top:0; margin-top:-0.5rem; }

@media screen and (max-width:640px) {
.c-form-errmsg {
  margin-top:-1.5rem;
}
}

/* .c-input-group
----------------------------------------*/
.c-input-group {
  display:flex;
  align-items:center;
  gap:1rem 1.5rem;
  flex-wrap:wrap;
}
.c-input-group_item .c-txtbox,
.c-input-group_item .c-select-field {
  margin-right:0.5rem;
}

/* .sex
----------------------------------------*/
.sex {
  list-style:none;
  display:flex;
  gap:1rem;
}
.sex_item {
  width:25%;
}
@media screen and (max-width:640px) {
  .sex_item {
    width:100%;
  }
}

.fm-label {
  display:inline-block;
  color:#ffffff;
  font-size:0.6em;
  font-weight:normal;
  line-height:1;
  vertical-align:middle;
  padding:0.5em;
  margin-left:1em;
}
.fm-label--required { background-color:#c84146; }
.fm-label--optional { background-color:#a0a0a0; }

/* .c-txtbox
   .c-txtarea
   .c-select
----------------------------------------*/
button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}[type=button],[type=reset],[type=submit],button{cursor:pointer}[type="button"]:disabled,[type="reset"]:disabled,[type="submit"]:disabled,button:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}fieldset,option{padding:0}fieldset{margin:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=number]{-moz-appearance:textfield}label[for]{cursor:pointer}
:root {
  --input-border:1px solid #d0ccc1;
  --input-border-focus:1px solid #777572;
  --input-border-error:1px solid #f55555;
  --input-border-checked:1px solid #d0ccc1;
  --input-bg:#ffffff;
  --input-bg-focus:#ffffff;
  --input-bg-error:#ffffff;
  --input-bg-checked:#ffffff;
  --input-radius:0.3rem;
  --input-pd:0.75rem;
}
.c-txtbox { width:100%; }
.c-txtbox.-auto { width:auto; }
.c-txtbox.-small { width:max(10em, 25%); }
@media (min-width:641px) {
  .c-txtbox.-medium { width:max(20em, 50%); }
  .c-txtbox.-large { width:max(30em, 75%); }
}
@media (max-width:640px) {
  .c-txtbox.-medium,
  .c-txtbox.-large { width:100%; }
}

.c-txtbox,
.c-txtarea,
.c-select {
  background-color:#ffffff;
  border:1px solid #d7d7d7;
  -webkit-transition:background-color ease-out 0.1s, border-color ease-out 0.1s;
  transition:background-color ease-out 0.1s, border-color ease-out 0.1s;
  padding:0.3em;
}
.c-txtarea {
  width:100%;
  height:clamp(150px,(300 / 640 * 100vw),300px);
  resize:vertical;
}
.c-txtbox:focus,
.c-txtarea:focus {
  background-color:#ffffff !important;
  border-color:#3c3c3c !important;
}
.c-txtbox.is-err,
.c-txtarea.is-err {
  font-size:0.9em;
  background-color:#f8e4e4;
  border-color:#c84146;
}

/* .c-select
----------------------------------------*/
:root {
  --select-icon-area:2rem;
  --select-icon-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path d="M5,9l7,7l7-7H5z"/></svg>');
  --select-icon:#282828;
  --select-icon-size:80%;
}
.c-select-field {
  display:inline-block;
  position:relative;
}
.c-select-field:after {
  content:"";
  width:var(--select-icon-area);
  height:100%;
  position:absolute;
  right:calc(var(--input-pd) / 2);
  top:0;
  pointer-events:none;
  mask-image:var(--select-icon-image);
  mask-repeat:no-repeat;
  mask-size:var(--select-icon-size);
  mask-position:center center;
  background-color:#282828;
}
.c-select {
  width:100%;
  overflow-x:hidden;
  cursor:pointer;
  padding-right:calc(var(--select-icon-area) + var(--input-pd));
}
.c-select:focus {
  border:var(--input-border-focus);
  background-color:var(--input-bg-focus);
}
.c-select.is-err {
  border:var(--input-border-error);
  background-color:var(--input-bg-error);
}

/* .c-check
   .c-radio
----------------------------------------*/
:root {
  --checkbox-size:1.75rem;
  --checkbox-radius:50%;
  --checkbox-border:2px solid #d0ccc1;
  --checkbox-border-checked:0;
  --checkbox-bg:transparent;
  --checkbox-bg-checked:#282828;
  --checkbox-icon-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30" fill="currentColor"><polygon points="25.0881481 5.0147733 12.9413981 17.1615229 4.9118515 9.1325232 1 13.0437734 9.0295471 21.0733197 12.9413981 24.9852267 16.8527026 21.0733197 29 8.9266799 25.0881481 5.0147733"/></svg>');
  --checkbox-icon-size:65%;
  --checkbox-icon:transparent;
  --checkbox-icon-checked:#ffffff;
  --checkbox-mgt:0.25em;
  
  --radio-size:1.75rem;
  --radio-border:0;
  --radio-border-checked:0;
  --radio-bg:#d0ccc1;
  --radio-bg-checked:#282828;
  --radio-icon-size:35%;
  --radio-icon:#ffffff;
  --radio-icon-checked:#ffffff;
  --radio-mgt:0.25em;
}

.c-check-field,
.c-radio-field {
  cursor:pointer;
  display:flex;
  column-gap:0.75rem;
  align-self:flex-start;
  padding:calc(var(--input-pd) + 0.15rem);
  border:var(--input-border);
  background-color:var(--input-bg);
  transition:background-color ease-out 0.1s, border-color ease-out 0.1s;
  line-height:1.5;
}
.c-check-field.-normal,
.c-radio-field.-normal {
  padding:0;
  border-radius:0;
  border:0;
  background:none;
}
.c-check-field:not(.-normal):has(input:checked) { border:var(--input-border-checked); background-color:var(--input-bg-checked); }
.c-radio-field:not(.-normal):has(input:checked) { border:var(--input-border-checked); background-color:var(--input-bg-checked); }
.c-check-field:not(.-normal):has(.is-err),
.c-radio-field:not(.-normal):has(.is-err) {
  border:var(--input-border-error);
  background-color:var(--input-bg-error);
}
.c-check-field_txt,
.c-radio-field_txt {
  flex:1;
}
.c-check-field_input,
.c-radio-field_input {
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
}
.c-check-field_input input,
.c-radio-field_input input {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0, 0);
  border:0;
}
.c-check-field_input:after,
.c-radio-field_input:after {
  content:"";
}

/* .c-check */
.c-check-field_input {
  width:var(--checkbox-size);
  height:var(--checkbox-size);
  border-radius:var(--checkbox-radius);
  border:var(--checkbox-border);
  background-color:var(--checkbox-bg);
  margin-top:var(--checkbox-mgt);
}
.c-check-field_input:after {
  width:var(--checkbox-size);
  height:var(--checkbox-size);
  mask-image:var(--checkbox-icon-image);
  mask-repeat:no-repeat;
  mask-size:var(--checkbox-icon-size);
  mask-position:center center;
  background-color:var(--checkbox-icon);
}
.c-check-field_input:has(input:checked) { border:var(--checkbox-border-checked); background-color:var(--checkbox-bg-checked); }
.c-check-field_input:has(input:checked):after { background-color:var(--checkbox-icon-checked); }

/* .c-radio */
.c-radio-field_input {
  width:var(--radio-size);
  height:var(--radio-size);
  border-radius:100%;
  border:var(--radio-border);
  background-color:var(--radio-bg);
  margin-top:var(--radio-mgt);
}
.c-radio-field_input:after {
  width:var(--radio-icon-size);
  height:var(--radio-icon-size);
  border-radius:100%;
  background-color:var(--radio-icon);
}
.c-radio-field_input:has(input:checked) { border:var(--radio-border-checked); background-color:var(--radio-bg-checked); }
.c-radio-field_input:has(input:checked):after { background-color:var(--radio-icon-checked); }

/* Button
----------------------------------------------------------------------*/
.fm-btn-wrap {
  display:flex;
  flex-direction:row-reverse;
  align-items:center;
  justify-content:center;
  gap:30px;
  margin-left:-0.5em;
  margin-right:-0.5em;
}

.fm-btn {
  width:320px;
  text-align:center;
}

.fm-btn .p-btn {
  width:100%;
  padding:1em 2em;
}

.fm-btn--group .p-btn {
  margin:0 0.5em;
}

.fm-btn--send {
  -webkit-box-ordinal-group:2;
  -ms-flex-order:1;
  order:1;
}

.fm-btn--back {
  -webkit-box-ordinal-group:1;
  -ms-flex-order:0;
  order:0;
}
  
@media print,screen and (min-width:641px) {
  .fm-btn {
    padding-top:80px;
  }
  
  .fm-btn:not(.fm-btn--group) {
    max-width:320px;
  }
  
  .fm-btn--group {
    max-width:540px;
  }

  .fm-btn--next,
  .fm-btn--send {
    -webkit-box-flex:0.5;
    -ms-flex-positive:0.5;
    flex-grow:0.5;
  }
}

@media screen and (max-width:640px) {
  .fm-btn-wrap {
    flex-direction:column;
    gap:20px;
    margin-top:2.5em;
  }
  
  .fm-btn--group {
    width:100%;
  }

  .fm-btn--send {
    width:70%;
  }
  
  .fm-btn--back {
    width:30%;
  }
  
  .fm-btn--group .p-btn {
    padding-left:1em;
    padding-right:1em;
  }
}

/*--------------------------------------------------------------------------------
  .c-form-label
--------------------------------------------------------------------------------*/
.c-form-label {
  display:inline-block;
  width:5rem;
  text-align:center;
  line-height:1;
  border-radius:0.3rem;
  padding:0.5em;
  font-size:var(--fs-min);
  font-weight:normal;
  color:#FFF;
  background-color:#F55555;
}
