<div id="wrap">
    
    <!-- section -->
    <div class="section section--d">
      <div class="center">
        <div class="comp-input">
          <div class="comp-input__contents">
          
            <div class="comp-input__input">
              <input type="phone" value="2">
            </div>
            
            <div class="comp-input__radio">
              <label>
                <input type="radio" name="radio1" checked>
                <span>AAA</span>
              </label>
              <label>
                <input type="radio" name="radio1">
                <span>BBB</span>
              </label>
            </div>
            
          </div>
        </div>
      </div>
    </div>
    <!--/section -->

  </div>
html,
body {
  margin: 0;
  padding: 0;
  font-family: sans-serif;
  font-size: 16px;
  line-height: 1.4;
  color: #555;
  background: #fff;
}

* {
  box-sizing: border-box;
}

#wrap {
  position: relative;
}

.section {
  padding: 40px 20px;
  border-bottom: 1px solid #ddd;

  &:last-child {
    border-bottom: 0;
  }
  
  &--d {
    background: #000;
  }
}

.center {
  width: 100%;
  max-width: 980px;
  margin: auto;
}

/* i */

.comp-input {
  background: fade(#fff, 10%);
  padding: 10px 15px;
  
  &__contents {
    display: flex;
    align-items: center;
    position: relative;
    
    &::after {
      content: '';
      display: block;
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      height: 1px;
      background: fade(#fff, 50%);
    }
    
    &:focus-within {
      &::after {
        background: #fff; 
      }
    }
  }
  
  &__input {
    flex: 1 1 auto;
    margin-right: 10px;
    
    input {
      width: 100%;
      height: 36px;
      color: #fff;
      border: 0;
      background: transparent;
      font-size: 18px;
      outline: none;
    }
  }
  
  &__radio {
    flex: 0 0 auto;
    display: flex;
    
    label {
      display: block;
      position: relative;
      padding-right: 5px;
      margin-right: 5px;
      cursor: pointer;
      
      &::after {
        content: '';
        display: block;
        position: absolute;
        top: 4px;
        bottom: 4px;
        right: 0;
        width: 1px;
        background: fade(#fff, 50%);
      }
      
      &:last-child {
        padding-right: 0;
        margin-right: 0;
        
        &::after {
          display: none;  
        }
      }
      
      span {
        font-size: 18px;
        letter-spacing: 1px;
        color: fade(#fff, 50%);
      }
      
      &:hover {
        span {
          color: #fff;
        }
      }
      
      input {
        position: absolute;
        top: 0;
        left: 0;
        width: 0;
        height: 0;
        padding: 0;
        margin: 0;
        opacity: 0;
        
        &:focus, &:checked {
          & ~ span {
            color: #fff;
          }
        }
      }
    }
  }
}
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.