@charset "UTF-8";
/**
 * Fonts
 */
*, *::before, *::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  border: none; }

a, a:link, a:visited, a:hover, a:active {
  -webkit-text-decoration-skip: objects;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

:focus {
  outline: 0; }

ol, ul {
  list-style: none;
  list-style-type: none; }

table, tr, th, td {
  border-collapse: collapse;
  border-spacing: 0; }

header, footer, main, section, nav, menu, article, aside, details, figcaption, figure {
  display: block; }

h1, h2, h3, h4, h5, h6, h7 {
  font-size: inherit;
  font-weight: inherit; }

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="datetime"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime-local"],
input[type="number"],
input[type="range"],
input[type="color"],
input[type="checkbox"],
input[type="file"],
input[type="submit"],
input[type="image"],
input[type="reset"],
input[type="button"],
button,
textarea,
select {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  overflow: visible;
  text-transform: none; }

select::-ms-expand {
  display: none; }

menu {
  margin: 0;
  padding: 0; }

a {
  color: inherit;
  text-decoration: none; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

.formSelect label {
  width: 100%;
  position: relative;
  display: inline-block;
  cursor: pointer;
  /*
    &::before {
      border-bottom: 7px solid #666;
      bottom: -4px;
    }
    */ }
  @media screen and (min-width: 829px) {
    .formSelect label:hover {
      opacity: 0.8; } }
  .formSelect label::before, .formSelect label::after {
    content: "";
    border: 7px solid transparent;
    z-index: 2;
    position: absolute;
    right: 15px;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 0;
    height: 0; }
    @media screen and (max-width: 1280px) {
      .formSelect label::before, .formSelect label::after {
        right: 1.04167vw;
        border: 0.48611vw solid transparent; } }
    @media screen and (max-width: 640px) {
      .formSelect label::before, .formSelect label::after {
        right: 2.34375vw;
        border: 1.09375vw solid transparent; } }
  .formSelect label::after {
    border-top: 10px solid #109a8f;
    top: 3px; }
    @media screen and (max-width: 1280px) {
      .formSelect label::after {
        border-top: 0.69444vw solid #109a8f;
        top: 0.20833vw; } }
    @media screen and (max-width: 640px) {
      .formSelect label::after {
        border-top: 1.5625vw solid #109a8f;
        top: 0.46875vw; } }
  .formSelect label select {
    max-width: 100% !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #f0f0f0;
    height: 72px;
    padding: 0 20px;
    -webkit-box-shadow: 0 4px 0px 0px #d0d0d0;
    box-shadow: 0 4px 0px 0px #d0d0d0;
    border: none;
    cursor: pointer;
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 700;
    font-style: normal;
    color: #109a8f;
    font-size: 1.5rem;
    letter-spacing: 0.2em; }
    .formSelect label select::-ms-expand {
      display: none; }
    @media screen and (max-width: 1280px) {
      .formSelect label select {
        height: 5vw;
        padding: 0 1.38889vw;
        -webkit-box-shadow: 0 0.27778vw 0px 0px #d0d0d0;
        box-shadow: 0 0.27778vw 0px 0px #d0d0d0;
        font-size: 1.04167vw; } }
    @media screen and (max-width: 640px) {
      .formSelect label select {
        height: 15.625vw;
        padding: 0 3.125vw;
        -webkit-box-shadow: 0 0.625vw 0px 0px #d0d0d0;
        box-shadow: 0 0.625vw 0px 0px #d0d0d0;
        font-size: 3.4375vw; } }

.formBtn button, .formBtn input[type="submit"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  display: block;
  width: 100%;
  max-width: 400px;
  height: 72px;
  margin: auto;
  background: #083e94;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.2em;
  color: #fff; }
  @media screen and (min-width: 829px) {
    .formBtn button, .formBtn input[type="submit"] {
      -webkit-transition: .3s;
      -o-transition: .3s;
      transition: .3s; }
      .formBtn button:hover, .formBtn input[type="submit"]:hover {
        -webkit-transition: .3s;
        -o-transition: .3s;
        transition: .3s;
        background: #f0b432; } }
    @media screen and (min-width: 829px) and (max-width: 1280px) {
      .formBtn button:hover, .formBtn input[type="submit"]:hover {
        -webkit-box-shadow: 0 0.27778vw 0 0 #ce9c2f;
        box-shadow: 0 0.27778vw 0 0 #ce9c2f; } }
  @media screen and (max-width: 640px) {
    .formBtn button, .formBtn input[type="submit"] {
      height: 19.53125vw;
      font-size: 4.375vw; } }

.formBtn--white button, .formBtn--white input[type="submit"] {
  background: #fff;
  color: #083e94; }

.formInput input[type="text"],
.formInput input[type="email"],
.formInput input[type="password"],
.formInput input[type="tel"] {
  width: 100%;
  height: 50px;
  padding: 0 15px;
  font-size: 1.5rem;
  letter-spacing: 0.05rem;
  background: #fff;
  border: 1px solid #eee;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  -webkit-box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.1) inset;
  box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.1) inset;
  font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif; }
  .formInput input[type="text"]:hover,
  .formInput input[type="email"]:hover,
  .formInput input[type="password"]:hover,
  .formInput input[type="tel"]:hover {
    -webkit-transition: 0.1s;
    -o-transition: 0.1s;
    transition: 0.1s; }
  @media screen and (max-width: 640px) {
    .formInput input[type="text"],
    .formInput input[type="email"],
    .formInput input[type="password"],
    .formInput input[type="tel"] {
      height: 15.625vw;
      padding: 0 6.25vw;
      font-size: 4.375vw;
      letter-spacing: 0.04em; } }
  .formInput input[type="text"]:placeholder-shown,
  .formInput input[type="email"]:placeholder-shown,
  .formInput input[type="password"]:placeholder-shown,
  .formInput input[type="tel"]:placeholder-shown {
    color: #ccc; }
  .formInput input[type="text"]::-webkit-input-placeholder,
  .formInput input[type="email"]::-webkit-input-placeholder,
  .formInput input[type="password"]::-webkit-input-placeholder,
  .formInput input[type="tel"]::-webkit-input-placeholder {
    color: #ccc; }
  .formInput input[type="text"]:-moz-placeholder,
  .formInput input[type="email"]:-moz-placeholder,
  .formInput input[type="password"]:-moz-placeholder,
  .formInput input[type="tel"]:-moz-placeholder {
    opacity: 1;
    color: #ccc; }
  .formInput input[type="text"]::-moz-placeholder,
  .formInput input[type="email"]::-moz-placeholder,
  .formInput input[type="password"]::-moz-placeholder,
  .formInput input[type="tel"]::-moz-placeholder {
    opacity: 1;
    color: #ccc; }
  .formInput input[type="text"]:-ms-input-placeholder,
  .formInput input[type="email"]:-ms-input-placeholder,
  .formInput input[type="password"]:-ms-input-placeholder,
  .formInput input[type="tel"]:-ms-input-placeholder {
    color: #ccc; }

.formTextarea textarea {
  resize: vertical;
  width: 100%;
  min-height: 120px;
  padding: 15px;
  background: #fff;
  border: 1px solid #eee;
  -webkit-box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.1) inset;
  box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.1) inset;
  font-size: 1.5rem;
  font-family: '游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif;
  /*
    @include bp( max, 1280px ) {
      min-height: vw_pc( 200 );
      padding: vw_pc( 15 );
    }
    */ }
  @media screen and (max-width: 640px) {
    .formTextarea textarea {
      min-height: 46.875vw;
      font-size: 4.375vw;
      padding: 6.25vw; } }
  .formTextarea textarea:placeholder-shown {
    color: #ccc; }
  .formTextarea textarea::-webkit-input-placeholder {
    color: #ccc; }
  .formTextarea textarea:-moz-placeholder {
    opacity: 1;
    color: #ccc; }
  .formTextarea textarea::-moz-placeholder {
    opacity: 1;
    color: #ccc; }
  .formTextarea textarea:-ms-input-placeholder {
    color: #ccc; }
