@charset "UTF-8";
/*----------------------------------------------------
グローバルナビブレイクポイント
/* ハンバーガーメニューの切り替わるポイント。
----------------------------------------------------*/
/* gnav.jsの変数「gNav_bpoint」も数値を合わせる */
/*----------------------------------------------------
基本設定
----------------------------------------------------*/
/* ホバー変更はやさ*/
/* slickのautoスライドの時などに、画面をタップするとスライドが動かなくなるのを防ぐ */
/* safariでボタンを押した際に出てくる青枠を消す */
/*----------------------------------------------------
中央寄せ
----------------------------------------------------*/
/* 上下左右中央寄せ */
/* 上下中央寄せ */
/* 左右中央寄せ */
/*----------------------------------------------------
リストマーカー
----------------------------------------------------*/
/*----------------------------------------------------
よく使う疑似要素、小技
----------------------------------------------------*/
/* ボックス影 */
/* 反転*/
/* 文字幅が指定幅を超えたときに「...」を表示する */
/* icon 横にぐるっと回転 */
/* 親要素よりも幅を超えて表示 */
/* 矢印 */
/*----------------------------------------------------
矢印つきボタン
----------------------------------------------------*/
/*----------------------------------------------------
読み込み
----------------------------------------------------*/
/*----------------------------------------------------
フォント
----------------------------------------------------*/
/* Light/Medium */
/* Regular/Medium */
/*----------------------------------------------------
google font
----------------------------------------------------*/
/*----------------------------------------------------
フォント設定
----------------------------------------------------*/
/*----------------------------------------------------

//html例：<p>テキスト<a href="" class="link_text">こちら</a>テキス</p>

----------------------------------------------------*/
/* ホバーで下線が左に消える */
/* ホバーで左から右に線が出る */
/* ホバーで中央から線が出る */
/* ホバーで中央の線がきえる */
/*----------------------------------------------------
中央から下線 

//html例：<a class="link" href="><span>home</span></a>
----------------------------------------------------*/
/*----------------------------------------------------
左から下線 

//html例：<a class="link_L" href="><span>home</span></a>
----------------------------------------------------*/
/*----------------------------------------------------
フォーム(リセット) 
----------------------------------------------------*/
input[type=text],
input[type=email],
button,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #DCEEF2;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  width: 100%;
}

input[type=text],
input[type=email],
select,
textarea {
  padding: 15px;
  /* 751- */
}
@media all and (min-width: 751px) {
  input[type=text],
  input[type=email],
  select,
  textarea {
    padding: 20px;
  }
}

input[type=checkbox] {
  /* デフォルトを消して擬似要素で作る。 */
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: none;
  display: block;
  position: relative;
  cursor: pointer;
  margin: -0.2em 1.5em 0 0em;
}
input[type=checkbox]::before {
  /* ベースの四角 */
  content: "";
  position: absolute;
  display: block;
  background: #DCEEF2;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid #DCEEF2;
  top: -4px;
}
input[type=checkbox]::after {
  /* チェックを入れた時の表示 */
  content: "";
  position: absolute;
  display: block;
  width: 13px;
  height: 8px;
  border-left: 3px solid #34373B;
  border-bottom: 3px solid #34373B;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 5px;
  left: 8px;
  opacity: 0;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
input[type=checkbox]:checked::after {
  opacity: 1;
}

input[type=radio] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: none;
  display: block;
  position: relative;
  cursor: pointer;
  margin: -0.2em 1.5em 0 0em;
}
input[type=radio]::before {
  /* ベースの四角 */
  content: "";
  position: absolute;
  display: block;
  background: #DCEEF2;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid #DCEEF2;
  top: -4px;
}
input[type=radio]::after {
  /* チェックを入れた時の表示 */
  content: "";
  position: absolute;
  display: block;
  width: 13px;
  height: 8px;
  border-left: 3px solid #34373B;
  border-bottom: 3px solid #34373B;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 5px;
  left: 8px;
  opacity: 0;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
input[type=radio]:checked::after {
  opacity: 1;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  border: none;
  background: #DCEEF2;
  border-radius: 0;
  font: inherit;
  cursor: pointer;
  width: 100%;
  position: relative;
  /* 751- */
}
@media all and (min-width: 751px) {
  select {
    max-width: 400px;
  }
}

::-webkit-input-placeholder {
  color: #9FB1BA;
}

::-moz-placeholder {
  color: #9FB1BA;
}

:-ms-input-placeholder {
  color: #9FB1BA;
}

::-ms-input-placeholder {
  color: #9FB1BA;
}

::placeholder {
  color: #9FB1BA;
}

/*----------------------------------------------------
フォーム
----------------------------------------------------*/
#form {
  padding: 60px 0 50px 0;
}
#form .intro {
  padding-bottom: 20px;
  font-size: 13px;
  letter-spacing: 0;
  line-height: 1.6;
  /* 751- */
}
@media all and (min-width: 751px) {
  #form .intro {
    text-align: right;
  }
}
#form .mwform-file-delete {
  display: none;
}
#form .row {
  margin-bottom: 30px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #form .row {
    margin-bottom: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
#form .row:last-child {
  margin-bottom: 40px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #form .row:last-child {
    margin-bottom: 50px;
  }
}
#form .row .label {
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin-bottom: 5px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #form .row .label {
    width: 25%;
    margin: 0;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.6;
    vertical-align: middle;
  }
}
#form .row .label sup {
  color: #ED3D51;
  top: 3px;
  left: 3px;
  font-size: 18px;
}
#form .row .label .multiple {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 11px;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: #436F96;
  padding-left: 10px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #form .row .label .multiple {
    display: block;
    padding: 0;
    font-size: 13px;
    letter-spacing: 0.05em;
    line-height: 1.6;
  }
}
#form .row .contents {
  /* 751- */
}
@media all and (min-width: 751px) {
  #form .row .contents {
    width: 73%;
  }
}
#form .row .contents.radio {
  padding: 6px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#form .row .contents.radio .mwform-radio-field:not(:first-child) {
  margin-left: 20px;
}
#form .row .contents.radio .mwform-radio-field .mwform-radio-field-text {
  display: block;
  padding-left: 15px;
}
#form .row .contents.radio label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#form .row .contents.checkbox {
  padding: 6px 0;
  margin-bottom: -30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#form .row .contents.checkbox .mwform-checkbox-field {
  width: 50%;
  display: inline-block;
  margin: 0 0 30px 0;
}
#form .row .contents.checkbox .mwform-checkbox-field .mwform-checkbox-field-text {
  display: block;
  padding-left: 15px;
}
#form .row .contents.checkbox label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#form .row .contents.checkbox {
  /* 751- */
}
@media all and (min-width: 751px) {
  #form .row .contents.checkbox {
    margin-bottom: -30px;
  }
  #form .row .contents.checkbox .mwform-checkbox-field {
    width: auto;
    margin: 0 40px 35px 0;
  }
}
#form .row .contents.address .postcode {
  width: 146px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #form .row .contents.address .postcode {
    width: 183px;
  }
}
#form .row .contents.address #search {
  display: inline-block;
  margin-left: 10px;
  color: #436F96;
  text-decoration: underline;
  cursor: pointer;
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 1.6;
  /* 751- */
}
@media all and (min-width: 751px) {
  #form .row .contents.address #search {
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.6;
  }
}
#form .row .contents.address .select {
  display: block;
  margin: 10px 0;
  position: relative;
}
#form .row .contents.address .select::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-top: solid 2px #34373B;
  border-right: solid 2px #34373B;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  border-color: #34373B;
  right: 20px;
  top: calc(50% - 2px);
  -webkit-transform: translateY(-50%) rotate(135deg);
          transform: translateY(-50%) rotate(135deg);
}
#form .row .contents.address .select {
  /* 751- */
}
@media all and (min-width: 751px) {
  #form .row .contents.address .select {
    margin: 20px 0;
  }
  #form .row .contents.address .select::after {
    left: 370px;
  }
}
#form .row .contents.tel input {
  /* 751- */
}
@media all and (min-width: 751px) {
  #form .row .contents.tel input {
    width: 400px;
  }
}
#form .agree {
  text-align: center;
}
#form .agree p {
  font-size: 13px;
  letter-spacing: 0.05em;
  line-height: 2.1;
  /* 751- */
}
@media all and (min-width: 751px) {
  #form .agree p {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.75;
  }
}
#form .agree p a {
  color: #436F96;
  text-decoration: underline;
}
#form .agree .agree_check {
  display: inline-block;
  text-align: left;
  margin: 40px auto;
}
#form .agree .agree_check .mwform-checkbox-field {
  display: inline-block;
}
#form .agree .agree_check .mwform-checkbox-field .mwform-checkbox-field-text {
  display: block;
  padding-left: 15px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
}
#form .agree .agree_check label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#form .agree .agree_check .error {
  text-align: center;
  padding-top: 5px;
}
#form .agree .agree_check {
  /* 751- */
}
@media all and (min-width: 751px) {
  #form .agree .agree_check {
    margin: 50px auto;
  }
}

/*----------------------------------------------------
入力カウント
----------------------------------------------------*/
#count {
  display: none;
}
@media all and (min-width: 1260px) {
  #count {
    display: block;
    position: fixed;
    position: -webkit-fixed;
    right: 0;
    top: 380px;
    width: 74px;
    background-color: #2662B4;
  }
  #count p {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    text-orientation: upright;
    padding: 20px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.1em;
    line-height: 1;
    color: #fff;
  }
  #count p span {
    font-size: 34px;
    letter-spacing: 0.1em;
    line-height: 1;
    color: #FFFF00;
  }
}

/*----------------------------------------------------
checkページ
----------------------------------------------------*/
#check #form.check_page .row {
  margin-bottom: 0;
}
#check #form.check_page {
  /* チェックページでは非表示*/
}
#check #form.check_page sup, #check #form.check_page .multiple, #check #form.check_page #search, #check #form.check_page .select::after, #check #form.check_page .agree {
  display: none;
}
#check #form.check_page .row {
  border-bottom: 1px solid #E4E4E4;
  padding: 15px 0;
  font-size: 15px;
}
#check #form.check_page .row .label {
  color: #2662B4;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1.6;
  /* 751- */
}
@media all and (min-width: 751px) {
  #check #form.check_page .row .label {
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.6;
  }
}
#check #form.check_page .row .contents.checkbox {
  margin: 0;
  padding: 0;
}
#check #form.check_page {
  /* 751- */
}
@media all and (min-width: 751px) {
  #check #form.check_page .row {
    padding: 20px 0;
  }
}

/*----------------------------------------------------
thanks
----------------------------------------------------*/
#thanks {
  padding: 50px 0;
  /* 751- */
}
@media all and (min-width: 751px) {
  #thanks {
    padding: 100px 0;
    max-width: 850px;
    margin: 0 auto;
  }
}
#thanks h2 {
  margin-bottom: 30px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #thanks h2 {
    margin-bottom: 50px;
  }
}
#thanks h2 span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 22px;
  letter-spacing: 0.05em;
  line-height: 1.8;
  display: inline;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #DCEEF2));
  background: linear-gradient(transparent 70%, #DCEEF2 70%);
  /* 751- */
}
@media all and (min-width: 751px) {
  #thanks h2 span {
    font-size: 26px;
    letter-spacing: 0.05em;
    line-height: 1.8;
  }
}
#thanks p {
  margin-bottom: 2em;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1.86;
  /* 751- */
}
@media all and (min-width: 751px) {
  #thanks p {
    margin-bottom: 2em;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.86;
  }
}
#thanks p a {
  color: #436F96;
  text-decoration: underline;
}
#thanks .btnArea {
  margin-top: 50px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #thanks .btnArea {
    margin-top: 80px;
  }
}
#thanks .btnArea {
  text-align: center;
}

/*----------------------------------------------------
送信ボタン 戻るボタン
----------------------------------------------------*/
.submit_btn {
  width: 150px;
  height: 40px;
  -webkit-appearance: none;
  background-color: #2662B4;
  border: 1px solid #2662B4;
  color: #fff;
  cursor: pointer;
  display: block;
  position: relative;
  text-decoration: none;
  text-align: center;
  margin: 0 auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.submit_btn input, .submit_btn button {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  background-color: transparent;
  font-size: 13px;
  letter-spacing: 0.05em;
  line-height: 38px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 100%;
}
.submit_btn .arrow {
  display: inline-block;
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: 13px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 13px;
  height: 13px;
  border-radius: 50%;
  pointer-events: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.submit_btn .arrow::after {
  content: "";
  position: absolute;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-left: 4px solid #2662B4;
  top: 50%;
  left: 53%;
  -webkit-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%);
  pointer-events: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.submit_btn {
  /* 751- */
}
@media all and (min-width: 751px) {
  .submit_btn {
    width: 183px;
    height: 50px;
  }
  .submit_btn input, .submit_btn button {
    font-size: 13px;
    letter-spacing: 0.05em;
    line-height: 48px;
  }
  .submit_btn .arrow {
    right: 15px;
    width: 15px;
    height: 15px;
  }
  .submit_btn .arrow::after {
    border-top-width: 4px;
    border-bottom-width: 4px;
    border-left-width: 5px;
  }
}
@media (min-width: 751px) and (hover: hover) {
  .submit_btn:hover {
    background-color: #fff;
  }
  .submit_btn:hover input, .submit_btn:hover button {
    color: #2662B4;
  }
  .submit_btn:hover .arrow {
    background-color: #2662B4;
  }
  .submit_btn:hover .arrow::after {
    border-left-color: #fff;
  }
}

.back_btn {
  display: none;
}

#check .btn_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 40px 0 0 0;
  /* 751- */
}
@media all and (min-width: 751px) {
  #check .btn_area {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 60px 0 0 0;
  }
}
#check .back_btn {
  display: block;
  width: 150px;
  height: 40px;
  -webkit-appearance: none;
  background-color: #436F96;
  border: 1px solid #436F96;
  color: #fff;
  cursor: pointer;
  display: block;
  position: relative;
  text-decoration: none;
  text-align: center;
  margin: 0 auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#check .back_btn input, #check .back_btn button {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  background-color: transparent;
  font-size: 13px;
  letter-spacing: 0.05em;
  line-height: 38px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 100%;
}
#check .back_btn .arrow {
  display: inline-block;
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: 13px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 13px;
  height: 13px;
  border-radius: 50%;
  pointer-events: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#check .back_btn .arrow::after {
  content: "";
  position: absolute;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-left: 4px solid #436F96;
  top: 50%;
  left: 53%;
  -webkit-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%);
  pointer-events: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#check .back_btn {
  margin-bottom: 20px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #check .back_btn {
    width: 183px;
    height: 50px;
  }
  #check .back_btn input, #check .back_btn button {
    font-size: 13px;
    letter-spacing: 0.05em;
    line-height: 48px;
  }
  #check .back_btn .arrow {
    right: 15px;
    width: 15px;
    height: 15px;
  }
  #check .back_btn .arrow::after {
    border-top-width: 4px;
    border-bottom-width: 4px;
    border-left-width: 5px;
  }
  #check .back_btn {
    margin: 0 10px;
  }
}
@media (min-width: 751px) and (hover: hover) {
  #check .back_btn:hover {
    background-color: #fff;
  }
  #check .back_btn:hover input, #check .back_btn:hover button {
    color: #436F96;
  }
  #check .back_btn:hover .arrow {
    background-color: #436F96;
  }
  #check .back_btn:hover .arrow::after {
    border-left-color: #fff;
  }
}
#check .submit_btn {
  /* 751- */
}
@media all and (min-width: 751px) {
  #check .submit_btn {
    margin: 0 10px;
  }
}
/*# sourceMappingURL=contact.css.map */