@charset "UTF-8";
/*--- import -------------------------------------*/
* {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  word-break: break-word;
  box-sizing: border-box;
  vertical-align: baseline;
  background: transparent; }

html, body {
  overflow-x: hidden; }

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

li {
  list-style-type: none; }

blockquote, q {
  quotes: none; }
  blockquote::before, blockquote::after, q::before, q::after {
    content: '';
    content: none; }

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

img, picture {
  vertical-align: top;
  max-width: 100%; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

input, select {
  vertical-align: middle; }

/* safariでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box; }
  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; }

/*------------------------------------- import ---*/
.mv .ttl {
  padding: 120px 0 60px;
  color: #fff;
  background: #2eb2ff; }
  .mv .ttl .box_in {
    position: relative; }
  .mv .ttl .ttl_txt .sub {
    font-size: 24px;
    position: relative; }
    .mv .ttl .ttl_txt .sub:before {
      content: '';
      display: inline-block;
      background: #fff;
      width: 60px;
      height: 1px;
      position: relative;
      top: -8px;
      left: -10px; }
    .mv .ttl .ttl_txt .sub:after {
      content: '';
      display: inline-block;
      background: #fff;
      width: 60px;
      height: 1px;
      position: relative;
      top: -8px;
      right: -10px; }
  .mv .ttl .ttl_txt h2 {
    font-size: 45px;
    line-height: 1.3; }
    @media screen and (max-width: 1100px) {
      .mv .ttl .ttl_txt h2 {
        font-size: 40px; } }
  @media screen and (max-width: 750px) {
    .mv .ttl {
      background: #fff;
      color: #2eb2ff;
      padding: 16vw 0 8vw; } }
  @media screen and (max-width: 750px) and (max-width: 480px) {
    .mv .ttl {
      padding: 24vw 0 8vw; } }
  @media screen and (max-width: 750px) {
      .mv .ttl .ttl_txt .sub {
        font-size: 5.0666666667vw; }
        .mv .ttl .ttl_txt .sub:before {
          width: 8vw;
          background: #2eb2ff; }
        .mv .ttl .ttl_txt .sub:after {
          width: 8vw;
          background: #2eb2ff; }
      .mv .ttl .ttl_txt h2 {
        font-size: 8.933333vw;
        line-height: 1.3;
        margin-top: 1vw; } }

.wrap_content {
  padding-bottom: 60px; }

#contact {
  padding-top: 40px; }

#contact_form .box_in {
  padding-top: 0; }
  #contact_form .box_in #mailformpro {
    padding: 0; }
    #contact_form .box_in #mailformpro .mailform {
      width: 100%;
      margin-top: 30px; }
      #contact_form .box_in #mailformpro .mailform ul {
        display: flex; }
        #contact_form .box_in #mailformpro .mailform ul:first-child {
          border-top: none; }
        #contact_form .box_in #mailformpro .mailform ul .ttl {
          margin: 0;
          text-align: left;
          font-weight: normal;
          width: 30%;
          padding: 30px 1em; }
        #contact_form .box_in #mailformpro .mailform ul .con {
          padding: 1em;
          line-height: 1.5em;
          text-align: left;
          width: 80%;
          display: flex;
          align-items: center;
          flex-wrap: wrap; }
          #contact_form .box_in #mailformpro .mailform ul .con input {
            width: 100%; }
          #contact_form .box_in #mailformpro .mailform ul .con .kome {
            display: block;
            width: 100%; }
@media screen and (max-width: 960px) {
  #contact_form .box_in #mailformpro .mailform ul {
    display: block; }
    #contact_form .box_in #mailformpro .mailform ul:first-child {
      border-top: none; }
    #contact_form .box_in #mailformpro .mailform ul .ttl {
      width: 100%;
      padding: 15px 1em; }
    #contact_form .box_in #mailformpro .mailform ul .con {
      padding: 1em;
      line-height: 1.5em;
      width: 100%; } }

@media screen and (max-width: 750px) {
  #contact_form .box_in #mailformpro .mailform {
    margin-top: 4vw; }
    #contact_form .box_in #mailformpro .mailform ul .con {
      padding: 1em 0.5em;
      padding-top: 0; } }
.need {
  position: relative; }
  .need:after {
    content: '必須';
    background: #1191e1;
    color: #fff;
    font-size: 13px;
    display: inline-block;
    padding: 0px 15px;
    position: relative;
    right: -8px;
    font-weight: normal; }

.mail_confirm {
  margin-bottom: 5px; }

.kome {
  margin-top: 5px;
  font-size: 16px; }
  @media screen and (max-width: 750px) {
    .kome {
      font-size: 0.8rem; } }
