@charset "UTF-8";
html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, header, hgroup, section, article, aside, hgroup, footer, figure, figcaption, nav {
  margin: 0;
  padding: 0;
  font-size: 100%; }

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

body {
  line-height: 1.0;
  -webkit-text-size-adjust: none; }

img {
  border: 0;
  vertical-align: bottom;
  margin: 0;
  padding: 0;
  max-width: 100%;
  height: auto; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

table {
  border-spacing: 0;
  empty-cells: show; }

a {
  text-decoration: none; }

main, article {
  display: block; }

em {
  font-style: normal; }

/* clearfix */
.cf {
  zoom: 1; }

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

.cf:after {
  clear: both; }

* {
  list-style: none; }

* {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer; }

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; }

body {
  font-family: 'Noto Sans JP', sans-serif;
  overflow-x: hidden;
  font-weight: 300; }

#hd .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 10;
  position: relative;
  padding: 20px 20px; }
  #hd .inner #logo {
    width: 44%;
    padding-left: 15px;
    max-width: 220px; }

#hd #hd-nav {
  position: fixed;
  top: 80px;
  left: 0;
  width: 100%;
  background-color: #fff;
  padding: 65px 20px 35px 20px;
  text-align: center;
  -webkit-transform: translateY(calc(-100% - 82px));
          transform: translateY(calc(-100% - 82px));
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  z-index: 5;
  opacity: 0; }
  #hd #hd-nav .hd-menu li {
    margin-bottom: 35px; }
    #hd #hd-nav .hd-menu li a {
      color: #DC000C;
      font-size: 15px;
      font-weight: bold; }
  #hd #hd-nav .sns-menu {
    margin-bottom: 85px; }
    #hd #hd-nav .sns-menu li {
      display: inline-block;
      vertical-align: middle;
      width: 22px; }
    #hd #hd-nav .sns-menu li + li {
      margin-left: 35px; }
  #hd #hd-nav .ec-logo {
    margin-bottom: 55px; }
    #hd #hd-nav .ec-logo img {
      width: 58.66667%;
      max-width: 265px; }
  #hd #hd-nav .site-menu li {
    display: inline-block;
    position: relative; }
    #hd #hd-nav .site-menu li a {
      color: #000;
      font-size: 10px; }
  #hd #hd-nav .site-menu li + li {
    margin-left: 3em;
    position: relative; }
    #hd #hd-nav .site-menu li + li:after {
      content: "｜";
      top: 50%;
      left: -2.1em;
      margin-top: -0.4em;
      position: absolute; }

#hd #hd-nav.on {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  display: block; }
  #hd #hd-nav.on span:nth-child(1), #hd #hd-nav.on span:nth-child(3) {
    left: 2px; }

@media only screen and (min-width: 750px) {
  #hd .inner {
    background: none;
    height: 8.33333vw; }
    #hd .inner #logo {
      width: 13.33333vw;
      min-width: 160px;
      margin-left: 7.29167%;
      padding-left: 0;
      max-width: 256px; }
      #hd .inner #logo a {
        display: block; }
      #hd .inner #logo img {
        width: 100%; }
  #hd .inner #drawer-btn {
    z-index: 10;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-color: #DC000C;
    color: #fff;
    text-align: center;
    cursor: pointer;
    width: 8.33333vw;
    height: 8.33333vw;
    position: fixed;
    top: 0;
    right: 0; }
    #hd .inner #drawer-btn .bd {
      width: 3.33333vw;
      height: 2.1875vw; }
      #hd .inner #drawer-btn .bd span {
        width: 100%;
        height: 0.41667vw;
        background-color: #fff;
        display: block;
        -webkit-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
        position: relative; }
      #hd .inner #drawer-btn .bd span + span {
        margin-top: 0.46875vw; }
    #hd .inner #drawer-btn .txt {
      font-size: 1.5625vw;
      margin-top: 0.52083vw;
      margin-top: 6px;
      font-family: 'Oswald', sans-serif;
      color: #fff;
      height: 1em; }
      #hd .inner #drawer-btn .txt:after {
        content: 'MENU'; }
  #hd .inner #drawer-btn.on .txt:after {
    content: 'CLOSE'; }
  #hd .inner #drawer-btn.on .bd span:nth-child(1) {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    top: 0.88542vw;
    left: 0.20833vw; }
  #hd .inner #drawer-btn.on .bd span:nth-child(2) {
    display: none; }
  #hd .inner #drawer-btn.on .bd span:nth-child(3) {
    left: 0.20833vw;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    top: 0px; }
  #hd #hd-nav {
    padding: 220px 130px 170px 20px;
    text-align: right;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    top: 0;
    right: 0;
    left: auto;
    display: inline-block;
    width: 100%;
    height: 100vh;
    max-width: 490px; }
    #hd #hd-nav .hd-menu li {
      margin-bottom: 60px; }
      #hd #hd-nav .hd-menu li a {
        font-size: 26px; }
    #hd #hd-nav .sns-menu {
      margin-bottom: 60px; }
      #hd #hd-nav .sns-menu li {
        width: 32px; }
      #hd #hd-nav .sns-menu li + li {
        margin-left: 50px; }
    #hd #hd-nav .ec-logo {
      margin-bottom: 120px; }
    #hd #hd-nav .site-menu li {
      text-align: right; }
      #hd #hd-nav .site-menu li a {
        font-size: 12px; }
    #hd #hd-nav .site-menu li + li {
      margin-left: 3em;
      position: relative; }
      #hd #hd-nav .site-menu li + li:after {
        content: "｜";
        top: 50%;
        left: -2.1em;
        margin-top: -0.4em;
        position: absolute; }
  #hd #hd-nav.on {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    -webkit-box-shadow: -5px 5px 20px 1px rgba(0, 0, 0, 0.1);
    box-shadow: -5px 5px 20px 1px rgba(0, 0, 0, 0.1); } }

@media only screen and (min-width: 1920px) {
  #hd .inner {
    background: none;
    height: 160px; }
  #hd #logo {
    width: 256px; }
  #hd .inner #drawer-btn {
    width: 160px;
    height: 160px; }
    #hd .inner #drawer-btn .bd {
      width: 64px;
      height: 42px; }
      #hd .inner #drawer-btn .bd span {
        height: 8px; }
      #hd .inner #drawer-btn .bd span + span {
        margin-top: 9px; }
    #hd .inner #drawer-btn .txt {
      font-size: 30px;
      margin-top: 10px; }
  #hd .inner #drawer-btn.on .bd span:nth-child(1) {
    top: 16px;
    left: 4px; }
  #hd .inner #drawer-btn.on .bd span:nth-child(3) {
    left: 4px; } }

#ft .inner {
  padding: 5.33333vw; }

#ft-contact {
  margin-top: 80px;
  margin-bottom: 50px; }
  #ft-contact .contact-box {
    text-align: center; }
    #ft-contact .contact-box .ttl-contact {
      font-size: 20px;
      margin-bottom: 15px;
      color: #2C8AB4; }
    #ft-contact .contact-box .ttl-office {
      background-color: #2C8AB4;
      color: #fff;
      border-radius: 20px;
      height: 20px;
      line-height: 20px;
      font-size: 12px;
      margin-bottom: 20px; }
  #ft-contact .contact-dl + .contact-dl {
    margin-top: 25px; }
  #ft-contact .contact-dl a {
    color: #000;
    text-decoration: underline; }
  #ft-contact .contact-dl dt {
    margin-bottom: 10px;
    font-size: 14px; }
  #ft-contact .contact-dl .tel {
    margin-bottom: 10px; }
    #ft-contact .contact-dl .tel a {
      text-decoration: none;
      font-size: 24px;
      font-weight: bold;
      display: block;
      padding-left: 33px;
      background-image: url(../img/cmn/ico_tel.svg);
      background-position: left center;
      background-repeat: no-repeat;
      background-size: 23px auto; }
  #ft-contact .contact-dl .time {
    font-size: 12px; }

@media only screen and (min-width: 750px) {
  #ft-contact {
    margin-bottom: 160px; }
    #ft-contact .inner {
      max-width: 1236px;
      margin: 0 auto;
      padding: 0 20px; }
    #ft-contact .contact-box .ttl-contact {
      font-size: 1.875em;
      margin-bottom: 40px; }
    #ft-contact .contact-box .ttl-office {
      background-color: #2C8AB4;
      color: #fff;
      border-radius: 40px;
      height: 40px;
      line-height: 40px;
      font-size: 1.5em;
      max-width: 678px;
      margin: 0 auto;
      margin-bottom: 40px; }
    #ft-contact .flex-box {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: start; }
    #ft-contact .contact-dl + .contact-dl {
      margin-top: 0; }
    #ft-contact .contact-dl:nth-child(1) {
      padding-right: 2.60417%; }
    #ft-contact .contact-dl a:hover {
      text-decoration: none; }
    #ft-contact .contact-dl dt {
      font-size: 1.25em; }
    #ft-contact .contact-dl .tel {
      margin-bottom: 0px; }
      #ft-contact .contact-dl .tel a {
        pointer-events: none;
        font-size: 2.125em;
        display: inline;
        padding-left: 40px;
        padding-right: 10px;
        background-size: 33px auto; }
    #ft-contact .contact-dl .time {
      font-size: 1.25em;
      display: block;
      padding-top: 10px; } }

@media only screen and (min-width: 1160px) {
  #ft-contact .contact-dl .time {
    display: inline;
    padding-top: 0px; } }

#home-mv {
  margin-top: -21.33333vw;
  background-image: url(../img/cmn/mv_bg_sp.png);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  padding: 137.33333vw 0vw 0vw 0vw;
  position: relative; }
  #home-mv::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7); }
  #home-mv .inner {
    width: 100%;
    position: absolute;
    top: 16%;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 3; }
    #home-mv .inner .main-info {
      max-width: 517px;
      margin: 0 auto;
      width: 68.53333%;
      margin-bottom: 15px; }
    #home-mv .inner .sub-info {
      max-width: 100%;
      margin: 0 auto;
      line-height: 1.7em;
      font-weight: bold;
      font-size: 2.66667vw;
      color: #fff;
      font-weight: bold;
      text-align: center;
      margin-bottom: 10px; }
      #home-mv .inner .sub-info .info {
        font-size: 2.66667vw; }
    #home-mv .inner .info {
      line-height: 1.5em; }
    #home-mv .inner .main-about {
      background-color: #fff;
      color: #2C8AB4;
      font-weight: bold;
      padding: 2.66667vw 3.33333vw 2.66667vw 3.33333vw;
      margin: 0 auto;
      width: 90.4%;
      margin-bottom: 30px; }
      #home-mv .inner .main-about .info {
        font-size: 3.2vw;
        margin-bottom: 10px; }
      #home-mv .inner .main-about .btn-upload {
        display: none; }
      #home-mv .inner .main-about .btn-upload-sp {
        margin: 0 auto;
        margin-bottom: 20px;
        width: 74.93333%; }
      #home-mv .inner .main-about small {
        font-size: 2.4vw; }
    #home-mv .inner .main-last {
      max-width: 90.4vw;
      margin: 0 auto; }
      #home-mv .inner .main-last .info {
        display: none; }
      #home-mv .inner .main-last .yellow-btn {
        width: 90.4%;
        margin: 0 auto; }
        #home-mv .inner .main-last .yellow-btn:hover {
          opacity:  0.7;
        }

.img_char {
  position: absolute;
  right: 3%;
  bottom: -14vw;
  width: 24vw;
  z-index: 3; }

@media only screen and (min-width: 750px) {
  #home-mv {
    margin-top: -8.33333vw;
    background-image: url(../img/cmn/mv_bg_pc.png);
    background-position: top center;
    padding: 0 40px;
    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;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    height: 100vh;
    min-height: 950px;
    position: relative; }
    #home-mv .inner {
      width: 100%;
      text-align: center;
      padding-right: 0;
      position: absolute;
      top: 10%; }
      #home-mv .inner .main-info {
        max-width: 962px;
        width: 52.08333%; }
      #home-mv .inner .sub-info {
        margin-bottom: 30px;
        margin-top: 20px; }
        #home-mv .inner .sub-info .info {
          font-size: 24px; }
      #home-mv .inner .main-about {
        display: block;
        text-align: left;
        padding: 30px 40px;
        width: 80%;
        margin: 0 auto;
        margin-bottom: 90px; }
        #home-mv .inner .main-about .info {
          font-size: 24px;
          line-height: 1.5em;
          margin-bottom: 25px; }
        #home-mv .inner .main-about .btn-upload {
          text-align: center;
          display: block;
          width: 60%;
          margin: 0 auto;
          margin-bottom: 25px;
          min-width: 532px; }
          #home-mv .inner .main-about .btn-upload a {
            display: inline-block;
            background: #DC000C;
            color: #fff;
            font-size: 1.4375em;
            height: 100px;
            line-height: 100px;
            width: 532px;
            position: relative;
            overflow: hidden; }
            #home-mv .inner .main-about .btn-upload a:hover {
              opacity: 1; }
              #home-mv .inner .main-about .btn-upload a:hover:after {
                -webkit-transform: translateX(0);
                        transform: translateX(0); }
            #home-mv .inner .main-about .btn-upload a:after {
              -webkit-transition: 0.15s ease-in-out;
              transition: 0.15s ease-in-out;
              content: "";
              height: 100%;
              width: 100%;
              background-color: #BC050F;
              position: absolute;
              top: 0;
              left: 0;
              z-index: 0;
              -webkit-transform: translateX(-100%);
                      transform: translateX(-100%); }
            #home-mv .inner .main-about .btn-upload a span {
              position: relative;
              z-index: 5;
              display: block;
              text-indent: -3em; }
            #home-mv .inner .main-about .btn-upload a img {
              display: block;
              position: absolute;
              top: 50%;
              right: 40px;
              margin-top: -21px; }
        #home-mv .inner .main-about small {
          font-size: 18px; }
      #home-mv .inner .btn-upload-sp {
        display: none; }
      #home-mv .inner .main-last .info {
        margin-bottom: 20px; }
      #home-mv .inner .yellow-btn {
        max-width: 532px;
        margin: 0 auto; }
    #home-mv .img_char {
      width: 230px;
      bottom: -140px; } }
/*# sourceMappingURL=style.css.map */