@charset "UTF-8";
/*
日本語フォント：@include font(noto);
英語フォント：@include font(db);
*/
/* ************************************************ */
/*                       index                      */
/* ************************************************ */
@media (min-width: 750px) {
  html {
    overflow-y: hidden; }

  body {
    overflow-y: hidden; } }
@media (max-width: 750px) {
  #index #spBg,
  #index #spBg span {
    padding-bottom: 108px;
    display: block;
    position: fixed;
    top: 3%;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../img/index/bg_main_01.jpg) center top no-repeat;
    background-size: cover;
    content: ""; } }
#index #header {
  opacity: 0; }
#index #main {
  opacity: 0; }
  #index #main .lightbox {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 2; }
    #index #main .lightbox .lightboxInner {
      padding: 1.57895% 2.31579% 3.57895% 2.31579%;
      margin: 2.10526% auto 0;
      display: none;
      width: 77.47368%;
      background-color: #fff;
      overflow-y: scroll; }
      #index #main .lightbox .lightboxInner .ttl {
        margin-bottom: 1.3587%; }
        #index #main .lightbox .lightboxInner .ttl h3 {
          margin-right: .5em;
          display: inline-block;
          font-size: 2rem; }
        #index #main .lightbox .lightboxInner .ttl .category {
          display: inline-block;
          font-size: 1.4rem; }
      #index #main .lightbox .lightboxInner .subImages {
        margin-bottom: 3.53261%;
        display: flex;
        justify-content: space-between; }
        #index #main .lightbox .lightboxInner .subImages li {
          width: 31.25%; }
      #index #main .lightbox .lightboxInner .txt {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 1.4rem; }
    #index #main .lightbox .prevBtn {
      margin-top: -15px;
      position: absolute;
      top: 50%;
      left: 2.47423%;
      cursor: pointer; }
    #index #main .lightbox .nextBtn {
      margin-top: -15px;
      position: absolute;
      top: 50%;
      right: 2.47423%;
      cursor: pointer; }
    #index #main .lightbox .closeBtn {
      margin: -1.05263% 5.26316% 0% 0%;
      margin-left: auto;
      width: 1.89474%;
      cursor: pointer; }
  @media (min-width: 750px) {
    #index #main {
      margin: 0 50px 50px;
      position: relative;
      height: 800px;
      overflow: hidden;
      z-index: 1; }
      #index #main.normal {
        background-size: auto 100%; }
      #index #main.adjust {
        background-size: 100% auto; }
      #index #main #bgArea {
        position: absolute;
        top: 0;
        left: 0;
        display: flex;
        width: 100%;
        z-index: 1; }
        #index #main #bgArea span {
          display: block;
          width: 100%;
          height: 100%; }
        #index #main #bgArea #leftBg {
          width: 32%;
          background: url(../img/index/bg_main_01.jpg) center top no-repeat;
          background-size: cover; }
          #index #main #bgArea #leftBg span {
            background: url(../img/index/bg_main_01.jpg) center top no-repeat;
            background-size: cover; }
        #index #main #bgArea #centerBg {
          width: 36%;
          background: url(../img/index/bg_main_02.jpg) center top no-repeat;
          background-size: cover; }
          #index #main #bgArea #centerBg span {
            background: url(../img/index/bg_main_02.jpg) center top no-repeat;
            background-size: cover; }
        #index #main #bgArea #rightBg {
          width: 32%;
          background: url(../img/index/bg_main_03.jpg) center top no-repeat;
          background-size: cover; }
          #index #main #bgArea #rightBg span {
            background: url(../img/index/bg_main_03.jpg) center top no-repeat;
            background-size: cover; } }
  @media (max-width: 750px) {
    #index #main {
      position: relative;
      background: none;
      z-index: 1; }
      #index #main .lightbox {
        position: fixed; }
        #index #main .lightbox .lightboxInner {
          padding: 4% 4% 4.53333% 4%;
          margin: 13.33333% auto 0;
          width: 66.66667%;
          word-break: break-all; }
          #index #main .lightbox .lightboxInner .subImages {
            display: block; }
            #index #main .lightbox .lightboxInner .subImages li {
              margin-bottom: 2%;
              width: auto; }
              #index #main .lightbox .lightboxInner .subImages li:last-child {
                margin-bottom: 0; } }
      @media (max-width: 750px) and (min-width: 751px) {
        #index #main .lightbox .lightboxInner .txt {
          font-size: 3rem; } }
      @media (max-width: 750px) and (max-width: 750px) {
        #index #main .lightbox .lightboxInner .txt {
          font-size: 4vw; } }
  @media (max-width: 750px) {
          #index #main .lightbox .lightboxInner iframe {
            max-width: 100%; }
        #index #main .lightbox .closeBtn {
          margin: 2.66667% 13.33333% 0% 0%;
          margin-left: auto;
          width: 6.66667%;
          cursor: pointer; }
          #index #main .lightbox .closeBtn img {
            width: 100%; } }
  #index #main section {
    position: relative;
    z-index: 2; }
    #index #main section .outline {
      display: flex;
      align-items: center; }
    #index #main section .commonHead {
      margin-bottom: 50px;
      line-height: 1;
      color: #fff;
      font-weight: bold;
      font-size: 3rem;
      text-decoration: underline;
      text-align: center; }
    @media (max-width: 750px) {
      #index #main section .outline {
        display: block; }
      #index #main section .commonHead {
        margin: 0 auto 14.66667%;
        width: 48%; } }
  #index #main #top {
    display: block;
    align-items: center; }
    #index #main #top .outline {
      justify-content: center; }
      #index #main #top .outline .inner {
        width: 100%;
        text-align: center; }
        #index #main #top .outline .inner h2 {
          margin: 0 auto 2.27273%;
          max-width: 23.90909%;
          text-align: center; }
        #index #main #top .outline .inner .desc {
          color: #fff;
          font-size: 1.6rem;
          text-align: center;
          letter-spacing: .2em; }
        #index #main #top .outline .inner .bnrArea {
          position: absolute;
          top: 70%;
          width: 100%; }
          #index #main #top .outline .inner .bnrArea ul {
            margin: 0 auto 0%;
            max-width: 54.54545%;
            display: flex;
            justify-content: space-between; }
            #index #main #top .outline .inner .bnrArea ul li {
              width: 30%; }
              #index #main #top .outline .inner .bnrArea ul li a {
                text-decoration: none; }
                #index #main #top .outline .inner .bnrArea ul li a:hover {
                  opacity: 0.7;
                  filter: alpha(opacity=70);
                  /* ie lt 8 */
                  -ms-filter: "alpha(opacity=70)";
                  /* ie 8 */
                  -moz-opacity: 0.7;
                  /* FF lt 1.5, Netscape */
                  -khtml-opacity: 0.7;
                  /* Safari 1.x */
                  zoom: 1; }
                #index #main #top .outline .inner .bnrArea ul li a .image {
                  margin-bottom: 1%; }
                #index #main #top .outline .inner .bnrArea ul li a p {
                  color: #fff;
                  background: url(../img/index/top_bnr_icon.png) right center no-repeat;
                  background-size: 7.04846%;
                  text-align: left;
                  font-size: 1.2rem;
                  letter-spacing: .1em; }
    @media (max-width: 750px) {
      #index #main #top .outline {
        display: flex; }
        #index #main #top .outline .inner h2 {
          margin: 0 auto 4%;
          max-width: 59.46667%;
          padding-top: 40%; }
        #index #main #top .outline .inner .desc {
          padding: 0% 11.73333% 26.66667% 15.06667%;
          letter-spacing: .2em; } }
    @media (max-width: 750px) and (min-width: 751px) {
      #index #main #top .outline .inner .desc {
        font-size: 3rem; } }
    @media (max-width: 750px) and (max-width: 750px) {
      #index #main #top .outline .inner .desc {
        font-size: 4vw; } }
    @media (max-width: 750px) {
        #index #main #top .outline .inner .bnrArea {
          position: static; }
          #index #main #top .outline .inner .bnrArea .bx-wrapper {
            margin-bottom: 0;
            border: none;
            background: transparent;
            box-shadow: 0 0 0; }
            #index #main #top .outline .inner .bnrArea .bx-wrapper .bx-viewport {
              margin: 0 auto !important;
              width: 60% !important; }
              #index #main #top .outline .inner .bnrArea .bx-wrapper .bx-viewport img {
                max-width: 100% !important;
                height: auto !important; }
            #index #main #top .outline .inner .bnrArea .bx-wrapper .bx-prev {
              left: 4%; }
            #index #main #top .outline .inner .bnrArea .bx-wrapper .bx-next {
              right: 4%; }
          #index #main #top .outline .inner .bnrArea ul {
            max-width: none;
            display: block; }
            #index #main #top .outline .inner .bnrArea ul li {
              width: auto; } }
        @media (max-width: 750px) and (min-width: 751px) {
          #index #main #top .outline .inner .bnrArea ul li a p {
            font-size: 2.6rem; } }
        @media (max-width: 750px) and (max-width: 750px) {
          #index #main #top .outline .inner .bnrArea ul li a p {
            font-size: 3.46667vw; } }

  #index #main #about, #index #main #recruit {
    display: none; }
    #index #main #about .outline .inner, #index #main #recruit .outline .inner {
      width: 100%;
      text-align: center; }
      #index #main #about .outline .inner .desc, #index #main #recruit .outline .inner .desc {
        font-family: 'Noto Sans JP', sans-serif;
        margin-bottom: 60px;
        line-height: 2;
        color: #fff;
        font-size: 1.6rem;
        letter-spacing: .2em; }
      #index #main #about .outline .inner .btn, #index #main #recruit .outline .inner .btn {
        -moz-transition: 0.4s;
        -o-transition: 0.4s;
        -webkit-transition: 0.4s;
        transition: 0.4s;
        margin: 0 auto;
        display: block;
        width: 170px; }
        #index #main #about .outline .inner .btn:hover, #index #main #recruit .outline .inner .btn:hover {
          opacity: 0.7;
          filter: alpha(opacity=70);
          /* ie lt 8 */
          -ms-filter: "alpha(opacity=70)";
          /* ie 8 */
          -moz-opacity: 0.7;
          /* FF lt 1.5, Netscape */
          -khtml-opacity: 0.7;
          /* Safari 1.x */
          zoom: 1; }
    @media (max-width: 750px) {
      #index #main #about, #index #main #recruit {
        padding: 13.06667% 0;
        display: block;
        background: none; }
        #index #main #about .outline .inner, #index #main #recruit .outline .inner {
          margin: 0 auto;
          padding: 0;
          width: 74.66667%; }
          #index #main #about .outline .inner .desc, #index #main #recruit .outline .inner .desc {
            margin-bottom: 23.21429%;
            letter-spacing: 0; } }
      @media (max-width: 750px) and (min-width: 751px) {
        #index #main #about .outline .inner .desc, #index #main #recruit .outline .inner .desc {
          font-size: 3rem; } }
      @media (max-width: 750px) and (max-width: 750px) {
        #index #main #about .outline .inner .desc, #index #main #recruit .outline .inner .desc {
          font-size: 4vw; } }
    @media (max-width: 750px) {
          #index #main #about .outline .inner .btn, #index #main #recruit .outline .inner .btn {
            width: 53.57143%; } }
  #index #main #works {
    display: none; }
    #index #main #works .outline .inner {
      padding: 0 150px;
      position: relative;
      z-index: 1; }
      #index #main #works .outline .inner .workList {
        zoom: 1; }
        #index #main #works .outline .inner .workList:after {
          display: block;
          clear: both;
          height: 0;
          visibility: hidden;
          content: " "; }
        #index #main #works .outline .inner .workList li {
          margin: 0% 2.5% 3.75% 0%;
          position: relative;
          float: left;
          width: 23.125%;
          cursor: pointer; }
          #index #main #works .outline .inner .workList li:nth-child(4n) {
            margin-right: 0; }
          #index #main #works .outline .inner .workList li .image {
            position: relative;
            overflow: hidden;
            background-color: #fff;
            z-index: 1; }
            #index #main #works .outline .inner .workList li .image img {
              width: 100%;
              object-fit: cover; }
          #index #main #works .outline .inner .workList li .txt {
            display: none;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            color: #fff;
            z-index: 2; }
            #index #main #works .outline .inner .workList li .txt .name {
              padding: 3em 0 0 8%;
              font-size: 1.6rem; }
            #index #main #works .outline .inner .workList li .txt .category {
              padding-left: 8%;
              font-size: 1.4rem; }
          #index #main #works .outline .inner .workList li .data {
            display: none; }
          #index #main #works .outline .inner .workList li:hover .txt {
            display: block;
            background-color: rgba(0, 0, 0, 0.7); }
      #index #main #works .outline .inner .btn {
        -moz-transition: 0.4s;
        -o-transition: 0.4s;
        -webkit-transition: 0.4s;
        transition: 0.4s;
        margin: 0 auto;
        display: block;
        width: 170px; }
        #index #main #works .outline .inner .btn:hover {
          opacity: 0.7;
          filter: alpha(opacity=70);
          /* ie lt 8 */
          -ms-filter: "alpha(opacity=70)";
          /* ie 8 */
          -moz-opacity: 0.7;
          /* FF lt 1.5, Netscape */
          -khtml-opacity: 0.7;
          /* Safari 1.x */
          zoom: 1; }
    @media (max-width: 750px) {
      #index #main #works {
        padding: 13.06667% 0;
        display: block; }
        #index #main #works .outline .inner {
          margin: 0 auto;
          padding: 0;
          width: 86.66667%; }
          #index #main #works .outline .inner .commonHead {
            margin: 0 auto 16.92308%;
            width: 55.38462%; }
          #index #main #works .outline .inner .workList li {
            margin: 0 0 7.69231%;
            width: 46.92308%; }
            #index #main #works .outline .inner .workList li:nth-child(odd) {
              float: left; }
            #index #main #works .outline .inner .workList li:nth-child(even) {
              float: right; }
            #index #main #works .outline .inner .workList li .txt {
              display: block; }
              #index #main #works .outline .inner .workList li .txt .name {
                display: none; }
              #index #main #works .outline .inner .workList li .txt .category {
                padding: 0;
                position: absolute;
                bottom: 5%;
                left: 10%;
                font-weight: bold;
                font-size: 1.4rem; }
            #index #main #works .outline .inner .workList li:hover .txt {
              background: none; }
          #index #main #works .outline .inner .btn {
            width: 46.15385%; } }
  #index #main #recruit .outline .inner .commonHead {
    margin-bottom: 120px; }
  #index #main #recruit .outline .inner .desc {
    margin-bottom: 120px; }
  @media (max-width: 750px) {
    #index #main #recruit .outline .inner .commonHead {
      margin-bottom: 21.42857%; }
    #index #main #recruit .outline .inner .desc {
      margin-bottom: 21.42857%; }
    #index #main #recruit .outline .inner .btn {
      width: 53.57143%; } }
  #index #main #access {
    display: none; }
    #index #main #access .outline .inner {
      width: 100%; }
      #index #main #access .outline .inner .layout {
        font-family: 'Noto Sans JP', sans-serif;
        zoom: 1;
        margin: 0 auto 5.45455%;
        max-width: 65.81818%; }
        #index #main #access .outline .inner .layout:after {
          display: block;
          clear: both;
          height: 0;
          visibility: hidden;
          content: " "; }
        #index #main #access .outline .inner .layout .address {
          padding-top: 2em;
          float: left;
          width: 45.58011%; }
          #index #main #access .outline .inner .layout .address p {
            margin-bottom: .5em;
            line-height: 1.8;
            color: #fff;
            font-size: 1.4rem; }
        #index #main #access .outline .inner .layout .gmap {
          float: left;
          width: 54.41989%; }
          #index #main #access .outline .inner .layout .gmap #map {
            position: relative;
            height: 275px;
            z-index: 1; }
      #index #main #access .outline .inner .btn {
        -moz-transition: 0.4s;
        -o-transition: 0.4s;
        -webkit-transition: 0.4s;
        transition: 0.4s;
        margin: 0 auto;
        display: block;
        width: 170px; }
        #index #main #access .outline .inner .btn:hover {
          opacity: 0.7;
          filter: alpha(opacity=70);
          /* ie lt 8 */
          -ms-filter: "alpha(opacity=70)";
          /* ie 8 */
          -moz-opacity: 0.7;
          /* FF lt 1.5, Netscape */
          -khtml-opacity: 0.7;
          /* Safari 1.x */
          zoom: 1; }
      #index #main #access .outline .inner .tel,
      #index #main #access .outline .inner .mail {
        cursor: default;
        pointer-events: none;
        color: #fff;
        text-decoration: none; }
    @media (max-width: 750px) {
      #index #main #access {
        padding: 13.06667% 0;
        display: block; }
        #index #main #access .outline .inner {
          margin: 0 auto;
          padding: 0;
          width: 74.66667%; }
          #index #main #access .outline .inner .layout {
            max-width: none; }
            #index #main #access .outline .inner .layout .address {
              margin: 0 0 14.28571%;
              padding-top: 0;
              float: none;
              width: auto; } }
        @media (max-width: 750px) and (min-width: 751px) {
          #index #main #access .outline .inner .layout .address p {
            font-size: 3rem; } }
        @media (max-width: 750px) and (max-width: 750px) {
          #index #main #access .outline .inner .layout .address p {
            font-size: 4vw; } }
    @media (max-width: 750px) {
            #index #main #access .outline .inner .layout .gmap {
              float: none;
              width: auto; }
              #index #main #access .outline .inner .layout .gmap #map {
                position: relative;
                height: 300px;
                z-index: 1; }
          #index #main #access .outline .inner .btn {
            display: none; }
          #index #main #access .outline .inner .tel,
          #index #main #access .outline .inner .mail {
            cursor: pointer;
            pointer-events: auto;
            color: #fff;
            text-decoration: none; } }
  @media (min-width: 750px) {
    #index #main #contact {
      display: none; }
      #index #main #contact .outline .inner {
        margin: 0 auto 0%;
        max-width: 72.72727%; }
        #index #main #contact .outline .inner .desc {
          font-family: 'Noto Sans JP', sans-serif;
          margin-bottom: 40px;
          line-height: 1.616;
          color: #fff;
          font-size: 1.6rem;
          text-align: center; }
          #index #main #contact .outline .inner .desc .required {
            color: #e60012;
            font-size: 1.4rem; }
        #index #main #contact .outline .inner form {
          font-family: 'Noto Sans JP', sans-serif; }
          #index #main #contact .outline .inner form dl:nth-child(odd) {
            margin-bottom: 20px;
            clear: both;
            float: left; }
          #index #main #contact .outline .inner form dl:nth-child(even) {
            float: right; }
          #index #main #contact .outline .inner form dl:nth-child(1), #index #main #contact .outline .inner form dl:nth-child(2), #index #main #contact .outline .inner form dl:nth-child(3), #index #main #contact .outline .inner form dl:nth-child(4), #index #main #contact .outline .inner form dl:nth-child(5), #index #main #contact .outline .inner form dl:nth-child(6) {
            zoom: 1;
            width: 47.5%; }
            #index #main #contact .outline .inner form dl:nth-child(1):after, #index #main #contact .outline .inner form dl:nth-child(2):after, #index #main #contact .outline .inner form dl:nth-child(3):after, #index #main #contact .outline .inner form dl:nth-child(4):after, #index #main #contact .outline .inner form dl:nth-child(5):after, #index #main #contact .outline .inner form dl:nth-child(6):after {
              display: block;
              clear: both;
              height: 0;
              visibility: hidden;
              content: " "; }
            #index #main #contact .outline .inner form dl:nth-child(1) dt, #index #main #contact .outline .inner form dl:nth-child(2) dt, #index #main #contact .outline .inner form dl:nth-child(3) dt, #index #main #contact .outline .inner form dl:nth-child(4) dt, #index #main #contact .outline .inner form dl:nth-child(5) dt, #index #main #contact .outline .inner form dl:nth-child(6) dt {
              padding: 1.31579% 1.31579% 0% 0%;
              float: left;
              width: 30.26316%;
              color: #fff;
              font-weight: bold;
              font-size: 1.2rem; }
              #index #main #contact .outline .inner form dl:nth-child(1) dt .note, #index #main #contact .outline .inner form dl:nth-child(2) dt .note, #index #main #contact .outline .inner form dl:nth-child(3) dt .note, #index #main #contact .outline .inner form dl:nth-child(4) dt .note, #index #main #contact .outline .inner form dl:nth-child(5) dt .note, #index #main #contact .outline .inner form dl:nth-child(6) dt .note {
                font-size: 1rem; }
            #index #main #contact .outline .inner form dl:nth-child(1) dd, #index #main #contact .outline .inner form dl:nth-child(2) dd, #index #main #contact .outline .inner form dl:nth-child(3) dd, #index #main #contact .outline .inner form dl:nth-child(4) dd, #index #main #contact .outline .inner form dl:nth-child(5) dd, #index #main #contact .outline .inner form dl:nth-child(6) dd {
              float: right;
              width: 68.42105%; }
              #index #main #contact .outline .inner form dl:nth-child(1) dd input, #index #main #contact .outline .inner form dl:nth-child(2) dd input, #index #main #contact .outline .inner form dl:nth-child(3) dd input, #index #main #contact .outline .inner form dl:nth-child(4) dd input, #index #main #contact .outline .inner form dl:nth-child(5) dd input, #index #main #contact .outline .inner form dl:nth-child(6) dd input {
                font-family: 'Noto Sans JP', sans-serif;
                padding: 3%;
                border: none;
                display: inline-block;
                width: 94%;
                background-color: #fff;
                font-size: 1.4rem; }
                #index #main #contact .outline .inner form dl:nth-child(1) dd input.error, #index #main #contact .outline .inner form dl:nth-child(2) dd input.error, #index #main #contact .outline .inner form dl:nth-child(3) dd input.error, #index #main #contact .outline .inner form dl:nth-child(4) dd input.error, #index #main #contact .outline .inner form dl:nth-child(5) dd input.error, #index #main #contact .outline .inner form dl:nth-child(6) dd input.error {
                  border: 1px solid #f00; }
          #index #main #contact .outline .inner form dl:nth-child(7) {
            zoom: 1;
            margin-bottom: 20px;
            clear: both;
            float: none;
            width: auto; }
            #index #main #contact .outline .inner form dl:nth-child(7):after {
              display: block;
              clear: both;
              height: 0;
              visibility: hidden;
              content: " "; }
            #index #main #contact .outline .inner form dl:nth-child(7) dt {
              padding: 3.125% 0.625% 0% 0%;
              float: left;
              width: 14.375%;
              color: #fff;
              font-weight: bold;
              font-size: 1.2rem; }
              #index #main #contact .outline .inner form dl:nth-child(7) dt::after {
                color: #e60012;
                font-size: 1rem;
                content: "※"; }
            #index #main #contact .outline .inner form dl:nth-child(7) dd {
              float: right;
              width: 85%; }
              #index #main #contact .outline .inner form dl:nth-child(7) dd textarea {
                font-family: 'Noto Sans JP', sans-serif;
                padding: 1%;
                border: none;
                display: inline-block;
                width: 98%;
                height: 80px;
                background-color: #fff;
                font-size: 1.4rem; }
          #index #main #contact .outline .inner form dl.required dt::after {
            color: #e60012;
            font-size: 1rem;
            content: "※"; }
          #index #main #contact .outline .inner form button {
            margin: 0 auto;
            padding: 0;
            border: 0;
            display: block;
            width: 170px;
            font-size: 0;
            cursor: pointer; }
            #index #main #contact .outline .inner form button:hover {
              opacity: 0.7;
              filter: alpha(opacity=70);
              /* ie lt 8 */
              -ms-filter: "alpha(opacity=70)";
              /* ie 8 */
              -moz-opacity: 0.7;
              /* FF lt 1.5, Netscape */
              -khtml-opacity: 0.7;
              /* Safari 1.x */
              zoom: 1; } }
  @media (max-width: 750px) {
    #index #main #contact {
      padding: 13.06667% 0;
      display: block; }
      #index #main #contact .outline .inner {
        margin: 0 auto;
        padding: 0;
        width: 74.66667%; }
        #index #main #contact .outline .inner .commonHead {
          margin: 0 auto 8.92857%;
          width: 64.28571%; }
        #index #main #contact .outline .inner .desc {
          margin-bottom: 2em;
          color: #fff;
          text-align: center; }
          #index #main #contact .outline .inner .desc .required {
            color: #e60012;
            font-size: 1.2rem; }
        #index #main #contact .outline .inner form dl {
          margin-bottom: 4.46429%; }
          #index #main #contact .outline .inner form dl.required dt::after {
            color: #e60012;
            font-size: 1rem;
            content: "※"; }
          #index #main #contact .outline .inner form dl dt {
            margin-bottom: 0.89286%;
            color: #fff;
            font-weight: bold;
            font-size: 1.4rem; }
            #index #main #contact .outline .inner form dl dt .note {
              font-size: 1.2rem; }
          #index #main #contact .outline .inner form dl dd input {
            padding: 3%;
            width: 94%; }
            #index #main #contact .outline .inner form dl dd input.error {
              border: 1px solid #f00; }
          #index #main #contact .outline .inner form dl dd textarea {
            padding: 3%;
            width: 94%;
            height: 70px; }
        #index #main #contact .outline .inner form button {
          margin: 0 auto;
          padding: 0;
          border: 0;
          display: block;
          width: 53.57143%;
          cursor: pointer; }
          #index #main #contact .outline .inner form button img {
            width: 100%; } }
#index #footer {
  opacity: 0; }
