@charset "UTF-8";
/**
 * reset.css
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
  text-decoration: none; }

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

html {
  overflow-y: scroll;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, Roboto, "Droid Sans", "游ゴシック", YuGothic, sans-serif;
  font-size: 16px; }
  @media (min-width: 414px) {
    html {
      font-size: 17px; } }
  @media (min-width: 667px) {
    html {
      font-size: 27px; } }
  @media (min-width: 736px) {
    html {
      font-size: 30px; } }
  @media (min-width: 768px) {
    html {
      font-size: 31px; } }
  @media (min-width: 1000px) {
    html {
      font-size: 16px; } }

blockquote, q {
  quotes: none; }

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

input, textarea {
  margin: 0;
  padding: 0; }

ol, ul {
  list-style: none; }

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

caption, th {
  text-align: left; }

a:focus {
  outline: none; }

.cf:before,
.cf:after {
  content: " ";
  display: table; }

.cf:after {
  clear: both; }

.cf {
  *zoom: 1; }

.both {
  clear: both; }

.inline_block {
  display: inline-block;
  *display: inline;
  *zoom: 1; }

/*= mobile共通設定
------------------------------------------------------------*/
img {
  display: block;
  width: 100%;
  height: auto; }
  @media (min-width: 1000px) {
    img {
      height: auto; } }

p {
  font-size: 13px;
  line-height: 1.5; }

dd {
  font-size: 13px;
  line-height: 1.5; }

a img:hover {
  opacity: 0.5; }

a:link {
  color: #666; }

/*未訪問のリンクの色*/
a:visited {
  color: #c0c0c0; }

/*訪問済みのリンクの色*/
/* HEADER
--------------------- */
@media (min-width: 1000px) {
  .header_wrap {
    width: 100%; } }

@media (max-width: 999px) {
  header {
    width: 100%;
    margin: 0 auto;
    padding: 3% 0;
    position: relative; } }

@media (min-width: 1000px) {
  header {
    width: 1120px;
    margin: 0 auto;
    padding: 15px 0 15px;
    box-sizing: border-box; } }

.fa fa-bars {
  font-family: FontAwesome; }

@media (max-width: 999px) {
  #box1 {
    width: 155px;
    float: none;
    margin: 0 auto; } }

@media (min-width: 1000px) {
  #box1 {
    width: 230px;
    float: left; } }

@media (min-width: 1000px) {
  #box1 img {
    margin-top: 6px;
    width: 200px;
    height: 70px; } }

@media (min-width: 1000px) {
  .pc_nav {
    float: right; } }

@media (min-width: 1000px) {
  .pc_nav p {
    font-size: 20px;
    color: #000;
    text-align: right;
    font-weight: bold;
    margin-bottom: 1px; } }
  @media (min-width: 1000px) and (min-width: 1000px) {
    .pc_nav p span {
      font-size: 30px;
      font-weight: 600;
      color: #A50000;
      text-align: right; } }

a:hover {
  opacity: 0.5; }

/* NAVI
--------------------- */
/*PCナビ非表示に*/
@media (max-width: 999px) {
  #global-navi {
    display: none; } }

@media (min-width: 1000px) {
  #global-navi input, #global-navi label {
    display: none; } }

@media (min-width: 1000px) {
  #global-navi ul {
    margin: 0 auto;
    padding: 0 0 25px;
    box-sizing: border-box; } }

@media (min-width: 1000px) {
  #global-navi ul li {
    float: left;
    border-left: 1px solid #4d4d4d;
    color: #4d4d4d;
    text-align: center;
    padding: 0px 25px; } }

@media (min-width: 1000px) {
  #global-navi ul li a {
    font-size: 17px;
    color: #000;
    text-align: center;
    text-decoration: none; } }

#global-navi ul li a:hover {
  color: #0048C1;
  text-align: center;
  text-decoration: none; }

@media (min-width: 1000px) {
  #global-navi ul li.last_border_n {
    border-right: 1px solid #4d4d4d;
    color: #FFF; } }

@media (min-width: 1000px) {
  .global-navi__contact {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end; } }

@media (min-width: 1000px) {
  .global-navi__contact__button {
    margin-left: 10px; } }

@media (max-width: 999px) {
  #global-navi-sp {
    position: absolute;
    top: 34%;
    left: 5%; } }

@media (min-width: 1000px) {
  #global-navi-sp {
    display: none; } }

/*チェックボックス等は非表示に*/
.nav-unshown {
  display: none; }

/*アイコンのスペース*/
#nav-open {
  display: inline-block;
  width: 30px;
  height: 22px;
  vertical-align: middle; }

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
  position: absolute;
  height: 3px;
  /*線の太さ*/
  width: 25px;
  /*長さ*/
  border-radius: 3px;
  background: #555;
  display: block;
  content: '';
  cursor: pointer; }

#nav-open span:before {
  bottom: -8px; }

#nav-open span:after {
  bottom: -16px; }

/*閉じる用の薄黒カバー*/
#nav-close {
  display: none;
  /*はじめは隠しておく*/
  position: fixed;
  z-index: 99;
  top: 0;
  /*全体に広がるように*/
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out; }

/*中身*/
#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  /*最前面に*/
  width: 90%;
  /*右側に隙間を作る*/
  max-width: 165px;
  /*最大幅*/
  height: 100%;
  background: #fff;
  /*背景色*/
  background-color: rgba(255, 255, 255, 0.9);
  /*背景色*/
  transition: .3s ease-in-out;
  /*滑らかに表示*/
  -webkit-transform: translateX(-105%);
  transform: translateX(-105%);
  /*左に隠しておく*/ }

/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
  display: block;
  /*カバーを表示*/
  opacity: .5; }

#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
  /*中身を表示*/
  box-shadow: 6px 0 25px rgba(0, 0, 0, 0.15); }

/*サイドナビ
-----------------------------------------------------------------------------------------------------------------------------*/
ul.menu-side_navi {
  margin: 5% 0 0 5%; }

ul li.menu-i a {
  color: #555555;
  font-size: 14px;
  font-weight: bold;
  line-height: 32px;
  text-decoration: none; }

ul.sub-m li {
  background: transparent url("../img/icon_square_04.gif") no-repeat scroll 0 50%;
  line-height: 1; }
  ul.sub-m li a {
    font-size: 13px;
    padding-left: 6%;
    font-weight: normal;
    line-height: 1.8; }

/*= footer
------------------------------------------------------------*/
footer {
  width: 100%;
  text-align: center;
  color: #FFF;
  height: 60px;
  background-color: #394448; }

.footer_in {
  width: 100%;
  padding: 20px 0 0px;
  margin: 0 auto;
  box-sizing: border-box;
  background-color: #0048C1; }

.footer_box1_in1 {
  width: 100%;
  padding: 3% 0 5%; }
  .footer_box1_in1 ul {
    font-size: 16px;
    margin-bottom: 5%; }

.wrap_footer_logo {
  width: 50%;
  margin: 3% auto; }

.footer_tel_pc {
  display: none; }

.footer_tel_sp {
  font-size: 16px;
  color: #fff; }

.footer_tel_sp a {
  text-decoration: none;
  color: #fff; }

.wrap_footer_otoiawase {
  width: 280px;
  border: 1px #fff solid;
  padding: 5px;
  box-sizing: border-box;
  margin: 10px auto 0; }
  .wrap_footer_otoiawase a {
    display: block;
    width: 280px;
    color: #fff;
    text-decoration: none; }

.footer_box1_in2 {
  display: none; }

.footer_box2 {
  display: none; }

.footer_box3 {
  padding: 3% 0;
  background-color: #fff; }

small {
  font-size: 12px;
  color: #000; }

#pageTop {
  background: rgba(0, 0, 0, 0.5) none repeat scroll 0 0;
  border-radius: 5px;
  bottom: 115px;
  color: #fff;
  font-size: 16px;
  padding: 10px 15px;
  position: fixed;
  right: 20px; }

@media (min-width: 1000px) {
  footer {
    width: 100%;
    text-align: center;
    color: #FFF;
    height: 60px;
    background-color: #fff;
    font-size: 20px;
    line-height: 1.5;
    text-decoration: none;
    box-sizing: border-box; } }

footer .footerbox {
  background: url("../../../_assets/img/footerback.jpg") no-repeat 50% 0;
  background-size: cover; }
  @media (min-width: 1000px) {
    footer .footerbox {
      height: 300px;
      margin-top: 50px; } }
  footer .footerbox p {
    padding: 7% 0 0;
    text-align: center;
    width: 60%;
    margin: 0 auto; }
    @media (min-width: 1000px) {
      footer .footerbox p {
        padding-top: 60px; } }
  footer .footerbox ul {
    width: 90%;
    margin: 0 auto;
    padding: 0 0 3% 0; }
    footer .footerbox ul li {
      font-size: 15px;
      padding: 0 0 2% 0; }
      @media (min-width: 1000px) {
        footer .footerbox ul li {
          font-size: 21px;
          padding: 0 0 0 0; } }
      footer .footerbox ul li img {
        width: 60%;
        margin: 3% auto 0; }
        @media (min-width: 1000px) {
          footer .footerbox ul li img {
            margin: 20px 0 0 0; } }
    footer .footerbox ul li.footer_font {
      font-size: 20px; }
      @media (min-width: 1000px) {
        footer .footerbox ul li.footer_font {
          display: inline; } }
      footer .footerbox ul li.footer_font a {
        background: url(../../../_assets/img/footerarrow.png) no-repeat 0 50%;
        padding-left: 1em;
        color: #fff; }

@media (min-width: 1000px) {
  .footer__logo img {
    width: 254px;
    margin: 0 auto; } }

@media (min-width: 1000px) {
  .footer__contact__button {
    margin-top: 20px;
    margin-bottom: 10px; } }

@media (min-width: 1000px) {
  .footer__contact__button img {
    width: 181px !important;
    margin: 0 auto !important; } }

/*= レスポンシブ画像クラス(汎用)
------------------------------------------------------------*/
.responsive-wrapper {
  position: relative;
  width: 100%; }
  .responsive-wrapper:before {
    content: "";
    display: block;
    padding-top: 25%; }

.responsive-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain; }

/*= お問い合わせフォーム
------------------------------------------------------------*/
.contact-page, .confirm-page, .complete-page {
  font-size: 1.2rem; }
  @media (min-width: 1000px) {
    .contact-page, .confirm-page, .complete-page {
      font-size: 14px;
      margin-top: 80px; } }
  .contact-page p, .confirm-page p, .complete-page p {
    display: block; }

.contact-page__header, .confirm-page__header, .complete-page__header {
  text-align: center;
  margin-bottom: 1rem; }
  .contact-page__header h2, .confirm-page__header h2, .complete-page__header h2 {
    font-size: 2rem;
    display: block;
    border-bottom: solid 1px black;
    width: 90%;
    margin: 0 auto;
    text-align: center; }
    @media (min-width: 1000px) {
      .contact-page__header h2, .confirm-page__header h2, .complete-page__header h2 {
        font-size: 30px;
        width: 265px; } }
  .contact-page__header p, .confirm-page__header p, .complete-page__header p {
    font-size: 1.5rem; }
    @media (min-width: 1000px) {
      .contact-page__header p, .confirm-page__header p, .complete-page__header p {
        font-size: 13px;
        line-height: 2.5; } }

.contact-page__contents, .confirm-page__contents, .complete-page__contents {
  width: 90%;
  margin: 0 auto;
  margin-bottom: 3rem; }
  @media (min-width: 1000px) {
    .contact-page__contents, .confirm-page__contents, .complete-page__contents {
      width: 840px; } }

.contact-page__heading, .confirm-page__heading, .complete-page__heading {
  background-color: #274B98;
  color: white;
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 1rem; }
  @media (min-width: 1000px) {
    .contact-page__heading, .confirm-page__heading, .complete-page__heading {
      font-size: 23px;
      line-height: 40px;
      text-align: left;
      text-indent: 40px; } }

/*= contact form
------------------------------------------------------------*/
.contact-form, .confirm-table, .complete-table {
  width: 100%;
  font-size: 1.3rem; }
  @media (min-width: 1000px) {
    .contact-form, .confirm-table, .complete-table {
      font-size: 20px;
      margin-top: 60px; } }

.contact-form__row, .confirm-form__row {
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  margin-bottom: 1.5rem; }
  @media (min-width: 1000px) {
    .contact-form__row, .confirm-form__row {
      align-items: flex-start;
      border-bottom: 1px dashed #000;
      padding-bottom: 25px;
      margin-bottom: 30px; } }

.contact-form__label, label.confirm-form__label {
  flex: 0 0 auto;
  text-align: left;
  width: 100%; }
  @media (min-width: 1000px) {
    .contact-form__label, label.confirm-form__label {
      width: 240px;
      text-indent: 25px;
      font-size: 20px; } }

.contact-form__user-field, .confirm-form__user-field {
  width: 100%; }
  @media (min-width: 1000px) {
    .contact-form__user-field, .confirm-form__user-field {
      width: 586px; } }

.contact-form__input {
  width: 100%;
  display: block;
  font-size: 1.3rem;
  text-indent: 0.5rem;
  height: 2.5rem; }
  @media (min-width: 1000px) {
    .contact-form__input {
      width: 590px;
      margin-bottom: 5px;
      border: 1px solid #000; } }

.contact-form__required {
  flex: 0 0 auto;
  color: #ff0000;
  font-size: 1rem; }

.contact-form__select {
  flex: 0 0 auto;
  font-size: 1.3rem; }
  @media (min-width: 1000px) {
    .contact-form__select {
      font-size: 20px;
      width: 200px;
      height: 34px;
      border: 1px solid #000; } }

.contact-form__label--title {
  flex: 0 0 auto; }

.contact-form__textarea {
  font-size: 1.3rem;
  flex: 0 0 auto;
  width: 100%;
  padding: 0.5rem; }
  @media (min-width: 1000px) {
    .contact-form__textarea {
      width: 584px;
      height: 74px;
      margin-bottom: 5px;
      display: block;
      border: 1px solid #000; } }

.contact-form__buttons {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: flex-start; }

.contact-form__submit, .complete__home {
  flex: 0 0 auto;
  width: 40%;
  font-size: 1.3rem;
  display: block;
  text-align: center;
  margin-top: 2rem; }
  @media (min-width: 1000px) {
    .contact-form__submit, .complete__home {
      width: 78px;
      height: 37px;
      font-size: 14px;
      background: linear-gradient(#B7B7B7, white);
      border-radius: 0.5rem; } }
  .contact-form__submit + .contact-form__submit, .complete__home + .contact-form__submit, .contact-form__submit + .complete__home, .complete__home + .complete__home {
    margin-left: 5px; }

/*= contact form errors
------------------------------------------------------------*/
.contact-form__errors {
  margin-bottom: 2rem;
  display: block; }

.contact-form__errors__item {
  color: #ff0000;
  font-size: 1rem; }

/*= confirm page
------------------------------------------------------------*/
/*= confirm table
------------------------------------------------------------*/
.confirm-form__row {
  margin-bottom: 2.5rem; }

label.confirm-form__label {
  font-weight: bold;
  border-bottom: 1px dashed #000; }
  @media (min-width: 1000px) {
    label.confirm-form__label {
      font-weight: normal;
      border: none; } }

/*= complete page
------------------------------------------------------------*/
.complete-page__message {
  display: block;
  width: 100%;
  font-size: 1.3rem;
  margin: 2rem auto; }
  @media (min-width: 1000px) {
    .complete-page__message {
      width: 80%;
      margin: 5rem auto;
      font-size: 20px; } }

.complete__home {
  margin: 0 auto;
  width: 90%; }
  @media (min-width: 1000px) {
    .complete__home {
      width: 30%; } }
