@charset "UTF-8";
/***********************共通設定************************/
/* 文字幅が指定幅を超えたときに「...」を表示する */
/*----------------------------------------------------
transition
----------------------------------------------------*/
/* ホバー変更はやさ*/
/*----------------------------------------------------
フォント
----------------------------------------------------*/
/*----------------------------------------------------
======================================================
mixin-疑似要素
======================================================
----------------------------------------------------*/
/*----------------------------------------------------
テキストホバーで線を表示する

//html例：<p>テキスト<a href="" class="link_text"><span>こちら</span></a>テキス</p>
spanタグにhoverしたときに線画出るようにしている。

----------------------------------------------------*/
/* ホバーで下線が左に消える */
/* ホバーで左から右に線が出る */
/* ホバーで中央から線が出る */
/* ホバーで中央の線がきえる */
/*----------------------------------------------------
mixinで、cssアニメーションを変数で指定できるようにするのに使う
----------------------------------------------------*/
/* インクルードする際はこんなふうに使う */
/* アニメーション名を指定する */
/*----------------------------------------------------
中央寄せ
----------------------------------------------------*/
/* 上下左右中央寄せ */
/* 上下中央寄せ */
/* 左右中央寄せ */
/*----------------------------------------------------
フェードイン
----------------------------------------------------*/
/*----------------------------------------------------
下層ファーストビュー パターン2
----------------------------------------------------*/
#reason {
  text-align: initial;
  margin: 85px 0 72px;
  /* 751- */
  /* 751- */
}
@media all and (min-width: 751px) {
  #reason {
    margin: 148px 0 130px;
    position: relative;
  }
}
#reason section {
  position: relative;
  /* 751- */
}
#reason section:not(:last-child) {
  margin-bottom: 70px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #reason section:not(:last-child) {
    padding-bottom: 100px;
    margin-bottom: 100px;
    position: relative;
  }
  #reason section:not(:last-child)::after {
    bottom: 0;
    content: "";
    position: absolute;
    height: 40px;
    width: 100vw;
    background-color: #eceff2;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media all and (min-width: 751px) {
  #reason section {
    /* ナンバーの位置 */
  }
  #reason section .titleArea {
    position: relative;
  }
  #reason section .titleArea::before {
    position: absolute;
    right: 0;
    top: -70px;
    z-index: 3;
    font-size: 10vw;
    letter-spacing: 0.02em;
    color: #eceff2;
  }
  #reason section:nth-of-type(1) .titleArea::before {
    content: "01";
  }
  #reason section:nth-of-type(2) .titleArea::before {
    content: "02";
  }
  #reason section:nth-of-type(3) .titleArea::before {
    content: "03";
  }
}
@media all and (min-width: 1000px) {
  #reason section .titleArea::before {
    top: -55%;
  }
}
@media all and (min-width: 1300px) {
  #reason section:nth-of-type(1) .titleArea::before {
    top: -165px;
  }
  #reason section:nth-of-type(2) .titleArea::before {
    top: -120px;
  }
  #reason section:nth-of-type(3) .titleArea::before {
    top: -140px;
  }
  #reason section .titleArea::before {
    font-size: 140px;
  }
}
#reason #reason01 .titleArea {
  margin-top: 0;
}
#reason .imageArea {
  /* -750 */
  position: relative;
}
@media all and (max-width: 750px) {
  #reason .imageArea .wrap {
    width: 80.636%;
    margin: 0 auto 45px;
  }
}
#reason .imageArea.bg_01::before, #reason .imageArea.bg_03::before {
  /* -750 */
}
@media all and (max-width: 750px) {
  #reason .imageArea.bg_01::before, #reason .imageArea.bg_03::before {
    left: -70px;
  }
}
#reason .imageArea.bg_02::before {
  /* -750 */
}
@media all and (max-width: 750px) {
  #reason .imageArea.bg_02::before {
    left: 10px;
  }
}
#reason .imageArea::before {
  content: "";
  position: absolute;
  left: -30px;
  top: 50px;
  height: 235px;
  z-index: -1;
  background: #366288;
  width: 100vw;
  /* -750 */
}
@media all and (max-width: 750px) {
  #reason .imageArea::before {
    height: 275px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
#reason .titleArea {
  /* -750 */
}
@media all and (max-width: 750px) {
  #reason .titleArea {
    margin-bottom: 25px;
  }
}
#reason .titleArea .sub {
  font-weight: 400;
  font-family: "Noto sans", sans-serif;
  font-size: 10px;
  letter-spacing: 0.12em;
  line-height: 1.6667;
  margin-bottom: 45px;
}
#reason .titleArea h2 {
  font-size: 16px;
  letter-spacing: 0.12em;
  line-height: 2;
}
#reason .textArea p {
  font-size: 12px;
  letter-spacing: 0.12em;
  line-height: 2.333;
}
#reason .textArea p.re_txt {
  margin-bottom: 40px;
  padding-left: 28px;
  position: relative;
  /* 751- */
}
@media all and (min-width: 751px) {
  #reason .textArea p.re_txt {
    margin-bottom: 60px;
    padding-left: 43px;
    font-size: 16px;
    letter-spacing: 0.12em;
    line-height: 2;
  }
}
#reason .textArea p.re_txt::before {
  content: "";
  position: absolute;
  top: 15px;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: #272727;
  width: 14px;
  height: 1px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #reason .textArea p.re_txt::before {
    top: 50%;
    width: 20px;
  }
}
@media all and (min-width: 751px) {
  #reason {
    /* ================== */
    /* レイアウト調整 */
    /* ================== */
  }
  #reason .contents {
    display: -ms-grid;
    display: grid;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-grid-columns: 51.416% 37.5%;
    grid-template-columns: 51.416% 37.5%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    /* 一段目と二段目はコンテンツ量に合わせて可変*/
    -ms-grid-rows: -webkit-max-content 1fr;
    -ms-grid-rows: max-content 1fr;
    grid-template-rows: -webkit-max-content 1fr;
    grid-template-rows: max-content 1fr;
    /* カラムの位置*/
  }
  #reason .contents > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  #reason .contents > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  #reason .contents > *:nth-child(3) {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
  }
  #reason .contents > *:nth-child(4) {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
  #reason .contents .textArea, #reason .contents .btnArea {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
  }
  #reason .contents .imageArea {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
  }
  #reason .contents .textArea {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
  }
  #reason .contents .imageArea {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1/3;
  }
  #reason .contents.reverse {
    -ms-grid-columns: 37.5% 51.416%;
    grid-template-columns: 37.5% 51.416%;
  }
  #reason .contents.reverse .textArea, #reason .contents.reverse .btnArea {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
  }
  #reason .contents.reverse .imageArea {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
  }
  #reason .imageArea::before {
    width: 125.777%;
    height: 40%;
    left: -40px;
    max-height: 500px;
  }
  #reason .contents:not(.reverse) .imageArea::before {
    left: initial;
    right: -60px;
    height: 52%;
  }
  #reason .btnArea {
    text-align: left;
  }
  #reason .textArea {
    margin-bottom: 30px;
  }
  #reason .textArea p {
    font-size: 15px;
    letter-spacing: 0.12em;
    line-height: 2.133;
  }
  #reason .titleArea {
    margin-bottom: 20px;
  }
  #reason .titleArea .sub {
    font-size: 12px;
    margin-bottom: 70px;
  }
  #reason .titleArea h2 {
    font-size: 28px;
    line-height: 2;
    letter-spacing: 0.04em;
  }
}
@media all and (min-width: 1000px) {
  #reason .imageArea::before {
    width: 125.777%;
    height: 60%;
    left: -80px;
    max-height: 500px;
  }
  #reason .contents:not(.reverse) .imageArea::before {
    height: 78%;
  }
  #reason .titleArea {
    margin-top: 40px;
  }
}
@media all and (min-width: 1150px) {
  #reason .imageArea::before {
    height: 75%;
  }
  #reason .contents:not(.reverse) .imageArea::before {
    left: initial;
    right: -80px;
    height: 78%;
  }
}
@media all and (min-width: 1300px) {
  #reason .imageArea::before {
    top: 52px;
    height: 500px;
  }
  #reason .contents:not(.reverse) .imageArea::before {
    left: initial;
    right: -80px;
    height: 85%;
  }
  #reason .titleArea {
    margin-top: 70px;
  }
}

#printer {
  /* -750 */
}
@media all and (max-width: 750px) {
  #printer {
    border-top: 1px solid #dde2e8;
    padding-top: 70px;
  }
}
#printer .titleArea {
  margin-top: 40px;
  /* 751- */
}
@media all and (min-width: 751px) {
  #printer .titleArea {
    margin-top: 60px;
  }
}
#printer p {
  margin-bottom: 1rem;
}
#printer p:last-child {
  margin-bottom: 0;
}
/*# sourceMappingURL=reason.css.map */