@charset "UTF-8";
/*

	gm form V1.2
	2025.4.11

*/
/* CSS Document */
.form-contact-confirm .help-block {
  display: none; }

.form-control::placeholder {
  color: #cccccc; }

.contact-flow {
  display: flex;
  justify-content: center;
  padding: 0px;
  margin: 0px;
  font-size: .9rem;
  list-style: none; }

.contact-flow-item {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: .5rem 3rem .5rem 2rem;
  width: 6rem;
  height: 2rem;
  text-align: center;
  white-space: nowrap;
  overflow: hidden; }
  .contact-flow-item::before, .contact-flow-item::after {
    position: absolute;
    content: ""; }
  .contact-flow-item::before {
    top: 50%;
    right: .6rem;
    z-index: -1;
    transform: translateY(-50%) scaleX(0.8) rotate(45deg);
    width: 3rem;
    height: 3rem;
    border: 0.12rem solid currentColor;
    border-left: none;
    border-bottom: none;
    background-color: #FFF; }
  .contact-flow-item::after {
    top: 0px;
    left: 0px;
    bottom: 0px;
    z-index: -1;
    width: 4.8rem;
    border: 0.1rem solid currentColor;
    border-right: none; }

.contact-flow-current {
  color: #fff; }
  .contact-flow-current::before {
    background: #000;
    border-color: #000; }
  .contact-flow-current::after {
    background: #000;
    border-color: #000; }

.help-block {
  clear: both;
  width: 100%; }

.gmf_btn {
  position: relative;
  display: inline-block;
  background: #999;
  padding: .5rem 3rem .5rem 2rem;
  border: none;
  background-color: #000;
  color: #fff;
  transition: all .3s;
  /*hoverした際の移動*/ }
  .gmf_btn:hover {
    background-color: #febe00; }
  .gmf_btn::after {
    content: '';
    /*絶対配置で矢印の位置を決める*/
    position: absolute;
    top: 42%;
    right: 13px;
    /*矢印の形状*/
    width: 8px;
    height: 8px;
    border-top: 1.5px solid #fff;
    border-right: 1.5px solid #fff;
    transform: rotate(45deg);
    /*アニメーションの指定*/ }

.gmf_btn_back {
  padding: .5rem 2rem .5rem 2rem;
  border-color: #999; }
  .gmf_btn_back::after {
    border: none; }

.gm_form .row {
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-bottom: 3px solid #f6f6f6; }

.gmf_error_text {
  color: #e00; }

.gm_form_agreement {
  max-width: 800px;
  margin: 5rem auto 1rem auto; }
  .gm_form_agreement .gm_form_content {
    margin-bottom: 2rem; }
  .gm_form_agreement .gm_form_agreement_box {
    margin: 0 auto;
    text-align: center; }
  .gm_form_agreement .gm_form_agreement_check {
    border: 1px solid #eee;
    background-color: #f6f6f6;
    padding: 2rem 1rem; }

.gm_form_radio {
  display: inline-block; }
  .gm_form_radio input[type=radio] {
    display: none; }
    .gm_form_radio input[type=radio]:checked + label {
      background-color: #febe00;
      color: #000;
      border-color: #000; }
      .gm_form_radio input[type=radio]:checked + label::after {
        display: block; }
  .gm_form_radio label {
    margin-right: .5rem;
    margin-bottom: .5rem;
    display: inline-block;
    color: #999;
    border: 1px solid #CCC;
    padding: .25rem .5rem;
    background: #fff;
    position: relative;
    padding: .5rem 3rem .5rem 3rem;
    transition: .2s; }
    .gm_form_radio label::before {
      content: '';
      position: absolute;
      left: 20px;
      top: calc(50% - 8px);
      width: 16px;
      height: 16px;
      border: #707070 1px solid;
      border-radius: 50%;
      background-color: #fff; }
    .gm_form_radio label::after {
      content: '';
      position: absolute;
      left: 23px;
      top: calc(50% - 5px);
      width: 10px;
      height: 10px;
      background: #febe00;
      border-radius: 50%;
      display: none; }

.gm_form_select {
  display: inline-block;
  margin-right: .5rem;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  background-clip: padding-box;
  border: var(--bs-border-width) solid #4c4c4c;
  appearance: none; }
