@charset "UTF-8";
/**************************************************
Brakpoint
***************************************************/
input, textarea, select {
  border-radius: 0; }

.label_txt {
  font-size: 14px;
  color: #000;
  margin: 0 0 5px 0; }
  @media only screen and (max-width: 640px) {
    .label_txt {
      font-size: 12px; } }

.form_box {
  margin: 0 0 20px; }
  @media only screen and (max-width: 640px) {
    .form_box {
      margin: 0 0 10px; } }

.form_box_01 {
  padding: 10px;
  background: #f2f2f2;
  font-size: 14px;
  margin: 0 0 0 0;
  border: none; }
  @media only screen and (max-width: 640px) {
    .form_box_01 {
      font-size: 12px; } }

.label_01 {
  width: 100%; }

.output_label {
  width: 48%;
  text-align: right; }

.output_txt {
  font-size: 14px;
  color: #1682b1;
  width: 48%;
  text-align: left; }
  @media only screen and (max-width: 640px) {
    .output_txt {
      font-size: 12px; } }

.output_inline {
  margin: 0 0 0 10px;
  color: #1682b1; }

.output_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.error_txt {
  font-size: 12px;
  color: #f00;
  width: 100%;
  font-weight: bold;
  margin: 10px 0 0 0;
  background: #ffe2e2;
  padding: 5px 10px;
  border-radius: 5px; }

/* text form
--------------------------------------------------- */
input.form_txtbox_type_01 {
  width: 240px;
  height: 30px; }
  @media only screen and (max-width: 640px) {
    input.form_txtbox_type_01 {
      width: 70%; } }

input.form_txtbox_type_02 {
  width: 360px;
  height: 30px; }
  @media only screen and (max-width: 640px) {
    input.form_txtbox_type_02 {
      width: 90%; } }

input.form_txtbox_type_03 {
  width: 70px;
  height: 30px; }
  @media only screen and (max-width: 640px) {
    input.form_txtbox_type_03 {
      width: 30%; } }

textarea.form_textarea_type_01 {
  width: 400px;
  height: 100px; }
  @media only screen and (max-width: 640px) {
    textarea.form_textarea_type_01 {
      width: 100%; } }

/* form button
--------------------------------------------------- */
/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer; }

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px; }

.submit_btn_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  margin: 80px auto 50px; }
  @media only screen and (max-width: 640px) {
    .submit_btn_area {
      margin: 50px auto 20px; } }

input.submit_btn_01 {
  width: 180px;
  height: 45px;
  background-color: #1682b1;
  border: none;
  display: block;
  color: #fff;
  font-size: 18px;
  margin: 0 30px;
  -webkit-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out; }
  @media only screen and (max-width: 640px) {
    input.submit_btn_01 {
      width: 46%;
      margin: 0 10px;
      font-size: 16px; } }
  input.submit_btn_01:hover {
    opacity: 0.6;
    filter: alpha(opacity=40); }

.submit_btn_02 {
  width: 200px;
  height: 45px;
  background-color: #1682b1;
  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;
  display: block;
  color: #fff;
  font-size: 18px;
  margin: 0 30px;
  padding: 10px 0 0 0;
  -webkit-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out; }
  @media only screen and (max-width: 640px) {
    .submit_btn_02 {
      width: 46%;
      margin: 0 10px;
      font-size: 16px; } }
  .submit_btn_02:hover {
    opacity: 0.6;
    filter: alpha(opacity=40); }

.thanks_btn {
  margin: 300px auto 20px;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .thanks_btn {
    margin-top: 100px;
  }
}
.thanks_btn_01 {
  width: 260px;
  height: 45px;
  background-color: #1682b1;
  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;
  display: block;*/
  display: inline-block;
  color: #fff;
  font-size: 18px;
  margin: 20px auto 20px;
  padding: 10px 0 0 0;
  -webkit-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out; }
  @media only screen and (max-width: 640px) {
    .thanks_btn_01 {
      width: 80%;
      font-size: 16px; } }

.thanks_btn_02 {
  width: 260px;
  height: 45px;
  background-color: #1682b1;
  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;
  display: block;*/
  display: inline-block;
  color: #fff;
  font-size: 18px;
  margin: 20px auto 20px;
  padding: 10px 0 0 0;
  -webkit-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out; }
  @media only screen and (max-width: 640px) {
    .thanks_btn_02 {
      width: 80%;
      font-size: 16px; } }

.form_btn_01 {
  width: 200px;
  height: 45px;
  background-color: #1682b1;
  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;
  display: block;
  color: #fff;
  font-size: 18px;
  margin: 50px auto 20px;
  padding: 10px 0 0 0;
  -webkit-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out; }
  @media only screen and (max-width: 640px) {
    .form_btn_01 {
      width: 60%;
      font-size: 16px;
      margin: 40px auto 10px; } }

/* select box
--------------------------------------------------- */
.select_box {
  position: relative; }
  .select_box select {
    position: relative;
    display: block;
    outline: none;
    text-indent: 0.01px;
    background: none transparent;
    vertical-align: middle;
    border: none;
    -o-text-overflow: '';
    text-overflow: '';
    position: relative;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    height: 30px;
    padding: 5px 5px 5px 15px;
    background-color: #f2f2f2;
    border-radius: 0;
    font-size: 14px;
    color: #000; }
    @media only screen and (max-width: 640px) {
      .select_box select {
        font-size: 12px; } }
  .select_box:after {
    content: "";
    background-image: url(../img/select_arrow.png);
    width: 10px;
    height: 8px;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 13px;
    left: 120px; }
  .select_box select option {
    background-color: #f2f2f2;
    color: #000; }
  .select_box select::-ms-expand {
    display: none; }
  .select_box select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #828c9a; }

.select_box_01 select {
  width: 140px; }

.select_box_02 {
  margin: 0 0 0 10px; }
  .select_box_02 select {
    width: 60px; }
  .select_box_02:after {
    content: "";
    left: 42px; }

.select_box_03 {
  margin: 0 0 0 10px; }
  @media only screen and (max-width: 640px) {
    .select_box_03 {
      margin: 5px 0 5px 10px; } }
  .select_box_03 select {
    width: 60px; }
  .select_box_03:after {
    content: "";
    left: 42px; }

.select_box_04 {
  margin: 0 0 0 10px; }
  .select_box_04 select {
    width: 70px; }
  .select_box_04:after {
    content: "";
    left: 55px; }

.select_flex {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 480px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media only screen and (max-width: 640px) {
    .select_flex {
      width: 100%;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start; } }

.select_flex2 {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 325px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media only screen and (max-width: 640px) {
    .select_flex2 {
      width: 100%;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start; } }

/* radio box
--------------------------------------------------- */
.radio01 {
  width: 120%;
  margin: 5px 0 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (max-width: 640px) {
    .radio01 {
      width: 100%; } }
  .radio01 .radio01_input {
    display: none; }
    .radio01 .radio01_input + label {
      padding-left: 25px;
      position: relative;
      margin-right: 14px;
      font-size: 14px; }
      @media only screen and (max-width: 640px) {
        .radio01 .radio01_input + label {
          margin-right: 35px;
          font-size: 12px; } }
      .radio01 .radio01_input + label::before {
        content: "";
        display: block;
        position: absolute;
        top: 0px;
        left: 0;
        width: 20px;
        height: 20px;
        border: 2px solid #cccccc;
        border-radius: 50%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
    .radio01 .radio01_input:checked + label {
      color: #000;
      position: relative; }
      .radio01 .radio01_input:checked + label:after {
        content: "";
        display: block;
        position: absolute;
        top: 6px;
        left: 6px;
        width: 8px;
        height: 8px;
        background: #73afcc;
        border-radius: 50%; }
      .radio01 .radio01_input:checked + label::before {
        border: 2px solid #73afcc; }

@media only screen and (max-width: 640px) {
  .sp_margin {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 95%; } }

@media only screen and (max-width: 640px) {
  .sp_margin .radio01_input + label {
    margin: 0 0 10px 0;
    width: 30%; } }
