@charset "UTF-8";
html, body {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0 auto; }

html {
  font-size: 62.5%; }

body {
  color: #333;
  font-size: 1em;
  font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 400; }

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0; }

img {
  width: 100%;
  max-width: 100%; }

hr {
  display: none; }

a {
  color: #106a2f;
  text-decoration: underline; }

table {
  width: 100%;
  border-collapse: collapse; }

video {
  width: 100%;
  max-width: 100%; }

.list-unstyled {
  list-style: none; }

.serif {
  font-family: 'Noto Serif JP', serif; }

@media (min-width: 769px) {
  a:hover {
    text-decoration: none; } }

.d-flex {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.fd-c {
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }

.fd-cr {
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

.fd-r {
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row; }

.fd-rr {
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.jc-sb {
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.jc-c {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.ai-c {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.ai-fs {
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.ai-fe {
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end; }

@media (min-width: 769px) {
  .d-pc-flex {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center; }
  .jc-pc-c {
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .ai-pc-fs {
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start; }
  .ai-pc-st {
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch; } }

.sp {
  display: block; }

.pc {
  display: none; }

.d-block {
  display: block; }

.d-inline-block {
  display: inline-block; }

@media (min-width: 769px) {
  .pc {
    display: block; }
  .sp {
    display: none; }
  .d-pc-inline-block {
    display: inline-block; } }

.liquid-inner {
  position: relative;
  width: 94.66667%;
  margin: 0 auto; }
  .liquid-inner .solid-inner {
    width: 100%; }

.solid-inner {
  position: relative;
  width: 94.66667%;
  margin: 0 auto; }

@media (min-width: 769px) {
  .liquid-inner {
    width: 93.65079%; }
    .liquid-inner .solid-inner {
      width: 960px; }
  .liquid-pc-inner {
    position: relative;
    width: 93.65079%;
    margin: 0 auto; }
  .solid-inner {
    width: 960px; } }

.fc-white {
  color: #fff4f4; }

.fc-dark {
  color: #333; }

.fc-green {
  color: #00a95f; }

.fc-lgreen {
  color: #e7f1cf; }

.fc-red {
  color: #d11422; }

.fc-blue {
  color: #038dd0; }

.fc-lblue {
  color: #00afec; }

.fc-purple {
  color: #584c9d; }

.fc-link {
  color: #106a2f; }

.bg-white {
  background-color: #fff4f4; }

.bg-dark {
  background-color: #333; }

.bg-green {
  background-color: #00a95f; }

.bg-lgreen {
  background-color: #e7f1cf; }

.bg-red {
  background-color: #d11422; }

.bg-blue {
  background-color: #038dd0; }

.bg-lblue {
  background-color: #00afec; }

.bg-purple {
  background-color: #584c9d; }

.bg-link {
  background-color: #106a2f; }

.bdr-white {
  border: #fff4f4 1px solid; }

.bdr-dark {
  border: #333 1px solid; }

.bdr-green {
  border: #00a95f 1px solid; }

.bdr-lgreen {
  border: #e7f1cf 1px solid; }

.bdr-red {
  border: #d11422 1px solid; }

.bdr-blue {
  border: #038dd0 1px solid; }

.bdr-lblue {
  border: #00afec 1px solid; }

.bdr-purple {
  border: #584c9d 1px solid; }

.bdr-link {
  border: #106a2f 1px solid; }

@media (min-width: 769px) {
  .fc-pc-dark {
    color: #333; } }

@media (max-width: 768px) {
  .fs-lg {
    font-size: 10.66667vw;
    line-height: 2;
    letter-spacing: 0.18em; } }

@media (min-width: 769px) {
  .fs-lg {
    font-size: 4rem;
    line-height: 1.5;
    letter-spacing: 0.18em; } }

@media (max-width: 768px) {
  .fs-mid {
    font-size: 6.93333vw;
    line-height: 1.53846;
    letter-spacing: 0.08em; } }

@media (min-width: 769px) {
  .fs-mid {
    font-size: 2.6rem;
    line-height: 1.53846;
    letter-spacing: 0.08rem; } }

@media (max-width: 768px) {
  .fs-reg {
    font-size: 4.26667vw;
    line-height: 1.875;
    letter-spacing: 0.04em; } }

@media (min-width: 769px) {
  .fs-reg {
    font-size: 1.6rem;
    line-height: 1.875;
    letter-spacing: 0.04em; } }

@media (max-width: 768px) {
  .fs-sm {
    font-size: 3.46667vw;
    line-height: 1.84615;
    letter-spacing: 0.04em; } }

@media (min-width: 769px) {
  .fs-sm {
    font-size: 1.3rem;
    line-height: 1.84615;
    letter-spacing: 0.04em; } }

.fw-light {
  font-weight: 300; }

.fw-normal {
  font-weight: 400; }

.fw-bold {
  font-weight: 700; }

.lh0 {
  font-size: 0;
  line-height: 0; }

.lh1 {
  line-height: 1; }

.lh1-2 {
  line-height: 1.2; }

.lh1-3 {
  line-height: 1.3; }

.lh1-4 {
  line-height: 1.4; }

.lh1-5 {
  line-height: 1.5; }

.lh1-6 {
  line-height: 1.6; }

.lh1-7 {
  line-height: 1.7; }

.lh1-8 {
  line-height: 1.8; }

.lh1-9 {
  line-height: 1.9; }

.lh2 {
  line-height: 2; }

.ta-left {
  text-align: left; }

.ta-center {
  text-align: center; }

.ta-right {
  text-align: right; }

@media (min-width: 769px) and (max-width: 768px) {
  .fs-mid-pc {
    font-size: 6.93333vw;
    line-height: 1.53846;
    letter-spacing: 0.08em; } }

@media (min-width: 769px) and (min-width: 769px) {
  .fs-mid-pc {
    font-size: 2.6rem;
    line-height: 1.53846;
    letter-spacing: 0.08rem; } }

@media (min-width: 769px) and (max-width: 768px) {
  .fs-reg-pc {
    font-size: 4.26667vw;
    line-height: 1.875;
    letter-spacing: 0.04em; } }

@media (min-width: 769px) and (min-width: 769px) {
  .fs-reg-pc {
    font-size: 1.6rem;
    line-height: 1.875;
    letter-spacing: 0.04em; } }

@media (min-width: 769px) {
  .ta-center-pc {
    text-align: center; } }

#header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9998;
  width: 100%;
  padding: 2.66667%;
  background-color: #fff; }
  #header h1 a {
    text-decoration: none;
    color: #000; }
    @media (max-width: 768px) {
      #header h1 a {
        font-size: 6.93333vw;
        line-height: 1;
        letter-spacing: 0em; } }
    @media (min-width: 769px) {
      #header h1 a {
        font-size: 5.2rem;
        line-height: 1;
        letter-spacing: 0em; } }
    #header h1 a span {
      display: inline-block;
      padding-left: 1em;
      font-weight: 400; }
      @media (max-width: 768px) {
        #header h1 a span {
          font-size: 2.93333vw;
          line-height: 1;
          letter-spacing: 0.04em; } }
      @media (min-width: 769px) {
        #header h1 a span {
          font-size: 2.2rem;
          line-height: 1;
          letter-spacing: 0.04em; } }
  #header .btn-menu {
    position: relative;
    width: 7.04225%;
    height: 20px;
    text-align: center; }
    #header .btn-menu:after {
      content: '';
      opacity: 0;
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      z-index: 9999;
      width: 30px;
      height: 30px;
      margin: -16px 0 0 -16px;
      border-radius: 50%;
      border: 1px solid rgba(255, 255, 255, 0.3);
      transition: all .1s; }
    #header .btn-menu a {
      display: inline-block;
      position: relative;
      width: 100%;
      height: 100%;
      transition: all .4s; }
      #header .btn-menu a span {
        display: inline-block;
        position: absolute;
        left: 0;
        width: 100%;
        height: 4px;
        background-color: #626262;
        transition: all .4s; }
        #header .btn-menu a span:nth-of-type(1) {
          top: 0; }
        #header .btn-menu a span:nth-of-type(2) {
          top: 50%;
          margin-top: -2px; }
        #header .btn-menu a span:nth-of-type(3) {
          bottom: 0; }
    #header .btn-menu.on:after {
      -webkit-animation: circle .5s;
              animation: circle .5s; }
    #header .btn-menu.on a span:nth-of-type(1) {
      -webkit-animation: active-menu-bar01 .5s forwards;
              animation: active-menu-bar01 .5s forwards; }
    #header .btn-menu.on a span:nth-of-type(2) {
      -webkit-animation: active-menu-bar02 .5s forwards;
              animation: active-menu-bar02 .5s forwards; }
    #header .btn-menu.on a span:nth-of-type(3) {
      -webkit-animation: active-menu-bar03 .5s forwards;
              animation: active-menu-bar03 .5s forwards; }
  #header .gnavi {
    display: none;
    position: absolute;
    left: 0;
    top: 100%;
    z-index: 9998;
    width: 100%;
    padding: 10.66667% 0;
    background-color: #00a95f; }
    #header .gnavi ul {
      border-top: 1px #fff solid; }
      #header .gnavi ul li {
        width: 50%;
        border-bottom: 1px #fff solid; }
        #header .gnavi ul li:nth-child(odd) {
          border-right: 1px #fff solid; }
        #header .gnavi ul li a {
          display: block;
          padding: 2.42308rem 0;
          color: #fff;
          text-align: center;
          text-decoration: none; }
          @media (max-width: 768px) {
            #header .gnavi ul li a {
              font-size: 3.46667vw;
              line-height: 1;
              letter-spacing: 0.048em; } }
          @media (min-width: 769px) {
            #header .gnavi ul li a {
              font-size: 2.6rem;
              line-height: 1;
              letter-spacing: 0.048em; } }

@media (min-width: 769px) {
  #header {
    padding: 0; }
    #header h1 {
      line-height: 1; }
      #header h1 a {
        transition: opacity 0.4s ease; } }
      @media (min-width: 769px) and (max-width: 768px) {
        #header h1 a {
          font-size: 3.46667vw;
          line-height: 1;
          letter-spacing: 0.04em; } }
      @media (min-width: 769px) and (min-width: 769px) {
        #header h1 a {
          font-size: 2.6rem;
          line-height: 1;
          letter-spacing: 0.04em; } }

@media (min-width: 769px) {
        #header h1 a:hover {
          opacity: 0.7; }
        #header h1 a span {
          padding-left: 1.7em; } }
        @media (min-width: 769px) and (max-width: 768px) {
          #header h1 a span {
            font-size: 1.73333vw;
            line-height: 1;
            letter-spacing: 0.04em; } }
        @media (min-width: 769px) and (min-width: 769px) {
          #header h1 a span {
            font-size: 1.3rem;
            line-height: 1;
            letter-spacing: 0.04em; } }

@media (min-width: 769px) {
    #header .btn-menu {
      display: none; }
    #header .gnavi {
      display: block;
      position: static;
      width: auto;
      padding: 0;
      background-color: #fff; }
      #header .gnavi ul {
        border-top: none; }
        #header .gnavi ul li {
          width: auto;
          border-bottom: none; }
          #header .gnavi ul li:nth-child(odd) {
            border-right: none; }
          #header .gnavi ul li a {
            position: relative;
            overflow: hidden;
            padding: 2.61538rem 1em;
            background-color: #fff;
            color: #000;
            font-weight: 300;
            transition: color .3s linear; } }
          @media (min-width: 769px) and (max-width: 768px) {
            #header .gnavi ul li a {
              font-size: 1.73333vw;
              line-height: 1;
              letter-spacing: 0.04em; } }
          @media (min-width: 769px) and (min-width: 769px) {
            #header .gnavi ul li a {
              font-size: 1.3rem;
              line-height: 1;
              letter-spacing: 0.04em; } }

@media (min-width: 769px) {
            #header .gnavi ul li a:after {
              content: "";
              position: absolute;
              left: 0;
              top: -100%;
              width: 100%;
              height: 100%;
              background-color: #106a2f;
              transition: top .3s ease-in; }
            #header .gnavi ul li a span {
              position: relative;
              z-index: 2; }
            #header .gnavi ul li a:hover {
              color: #fff; }
              #header .gnavi ul li a:hover:after {
                top: 0; }
          #header .gnavi ul li.on a {
            color: #fff; }
            #header .gnavi ul li.on a:after {
              top: 0; }
  body.works #header .gnavi ul .works a {
    color: #fff; }
    body.works #header .gnavi ul .works a:after {
      top: 0; }
  body.inquiry #header .gnavi ul .inquiry a {
    color: #fff; }
    body.inquiry #header .gnavi ul .inquiry a:after {
      top: 0; } }

@-webkit-keyframes circle {
  0% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    -webkit-transform: scale(3.5);
            transform: scale(3.5);
    opacity: 0; } }

@keyframes circle {
  0% {
    -webkit-transform: scale(0.1);
            transform: scale(0.1);
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    -webkit-transform: scale(3.5);
            transform: scale(3.5);
    opacity: 0; } }

@-webkit-keyframes active-menu-bar01 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
            transform: translateY(0) rotate(0); }
  100% {
    -webkit-transform: translateY(8px) rotate(-45deg);
            transform: translateY(8px) rotate(-45deg); } }

@keyframes active-menu-bar01 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
            transform: translateY(0) rotate(0); }
  100% {
    -webkit-transform: translateY(8px) rotate(-45deg);
            transform: translateY(8px) rotate(-45deg); } }

@-webkit-keyframes active-menu-bar02 {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes active-menu-bar02 {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@-webkit-keyframes active-menu-bar03 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
            transform: translateY(0) rotate(0); }
  100% {
    -webkit-transform: translateY(-8px) rotate(45deg);
            transform: translateY(-8px) rotate(45deg); } }

@keyframes active-menu-bar03 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
            transform: translateY(0) rotate(0); }
  100% {
    -webkit-transform: translateY(-8px) rotate(45deg);
            transform: translateY(-8px) rotate(45deg); } }

.lower-title {
  margin-bottom: 7.33333%;
  padding: 8% 0; }
  .lower-title h1 {
    margin: 0 auto;
    font-size: 0;
    line-height: 0; }

@media (min-width: 769px) {
  .lower-title {
    margin-bottom: 8px;
    padding: 67px 0; } }

.breadcrumb {
  display: none; }

@media (min-width: 769px) {
  .breadcrumb {
    display: block;
    padding-bottom: 85px; }
    .breadcrumb .breadcrumbs, .breadcrumb ul {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      width: 94.91525%;
      max-width: 1120px;
      min-width: 960px;
      margin: 0 auto; }
      .breadcrumb .breadcrumbs span, .breadcrumb .breadcrumbs li, .breadcrumb ul span, .breadcrumb ul li {
        position: relative;
        margin-right: .5em;
        padding-right: 1em; }
        .breadcrumb .breadcrumbs span:after, .breadcrumb .breadcrumbs li:after, .breadcrumb ul span:after, .breadcrumb ul li:after {
          content: ">";
          position: absolute;
          right: 0;
          top: 0; }
        .breadcrumb .breadcrumbs span:last-child, .breadcrumb .breadcrumbs li:last-child, .breadcrumb ul span:last-child, .breadcrumb ul li:last-child {
          margin-right: 0;
          padding-right: 0; }
          .breadcrumb .breadcrumbs span:last-child:after, .breadcrumb .breadcrumbs li:last-child:after, .breadcrumb ul span:last-child:after, .breadcrumb ul li:last-child:after {
            content: none; }
        .breadcrumb .breadcrumbs span a, .breadcrumb .breadcrumbs li a, .breadcrumb ul span a, .breadcrumb ul li a {
          color: #333;
          text-decoration: none; }
          .breadcrumb .breadcrumbs span a:hover, .breadcrumb .breadcrumbs li a:hover, .breadcrumb ul span a:hover, .breadcrumb ul li a:hover {
            text-decoration: underline; } }

.tit01 {
  position: relative;
  overflow: hidden; }
  .tit01:before {
    content: "";
    opacity: 0;
    position: absolute;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 15px 0 0;
    border-color: #106a2f transparent transparent transparent;
    -webkit-transform: translateX(-15px) translateY(50%) rotate(45deg);
            transform: translateX(-15px) translateY(50%) rotate(45deg); }
  .tit01:after {
    content: "";
    opacity: 0;
    position: absolute;
    right: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 15px 15px;
    border-color: transparent transparent #106a2f transparent;
    -webkit-transform: translateY(50%) rotate(45deg);
            transform: translateY(50%) rotate(45deg); }
  .tit01 span {
    opacity: 0;
    position: relative;
    z-index: 1; }

.fadein {
  opacity: 0; }

.on .tit01:before {
  -webkit-animation: tit01-01 1s ease-in-out forwards;
          animation: tit01-01 1s ease-in-out forwards; }

.on .tit01:after {
  -webkit-animation: tit01-02 1s ease-in-out forwards;
          animation: tit01-02 1s ease-in-out forwards; }

.on .tit01 span {
  -webkit-animation: fadein 1s .8s ease-in-out forwards;
          animation: fadein 1s .8s ease-in-out forwards; }

.on .fadein {
  -webkit-animation: fadein .6s 1s ease forwards;
          animation: fadein .6s 1s ease forwards; }

@-webkit-keyframes tit01-01 {
  0% {
    opacity: 0;
    left: 50%;
    -webkit-transform: translateX(-15px) translateY(50%) rotate(45deg);
            transform: translateX(-15px) translateY(50%) rotate(45deg); }
  20% {
    opacity: .5;
    left: 50%;
    -webkit-transform: translateX(-15px) translateY(50%) rotate(270deg);
            transform: translateX(-15px) translateY(50%) rotate(270deg); }
  40% {
    opacity: 1;
    left: 50%;
    -webkit-transform: translateX(-15px) translateY(50%) rotate(0deg);
            transform: translateX(-15px) translateY(50%) rotate(0deg); }
  50% {
    opacity: 1;
    left: 0;
    -webkit-transform: translateX(0) translateY(50%) rotate(0deg);
            transform: translateX(0) translateY(50%) rotate(0deg); }
  80% {
    opacity: .5;
    left: 0;
    -webkit-transform: translateX(0) translateY(25%) rotate(0deg);
            transform: translateX(0) translateY(25%) rotate(0deg); }
  100% {
    opacity: 0;
    left: 0;
    -webkit-transform: translateX(0) translateY(0) rotate(0deg);
            transform: translateX(0) translateY(0) rotate(0deg); } }

@keyframes tit01-01 {
  0% {
    opacity: 0;
    left: 50%;
    -webkit-transform: translateX(-15px) translateY(50%) rotate(45deg);
            transform: translateX(-15px) translateY(50%) rotate(45deg); }
  20% {
    opacity: .5;
    left: 50%;
    -webkit-transform: translateX(-15px) translateY(50%) rotate(270deg);
            transform: translateX(-15px) translateY(50%) rotate(270deg); }
  40% {
    opacity: 1;
    left: 50%;
    -webkit-transform: translateX(-15px) translateY(50%) rotate(0deg);
            transform: translateX(-15px) translateY(50%) rotate(0deg); }
  50% {
    opacity: 1;
    left: 0;
    -webkit-transform: translateX(0) translateY(50%) rotate(0deg);
            transform: translateX(0) translateY(50%) rotate(0deg); }
  80% {
    opacity: .5;
    left: 0;
    -webkit-transform: translateX(0) translateY(25%) rotate(0deg);
            transform: translateX(0) translateY(25%) rotate(0deg); }
  100% {
    opacity: 0;
    left: 0;
    -webkit-transform: translateX(0) translateY(0) rotate(0deg);
            transform: translateX(0) translateY(0) rotate(0deg); } }

@-webkit-keyframes tit01-02 {
  0% {
    opacity: 0;
    right: 50%;
    -webkit-transform: translateY(50%) rotate(45deg);
            transform: translateY(50%) rotate(45deg); }
  20% {
    opacity: .5;
    right: 50%;
    -webkit-transform: translateY(50%) rotate(270deg);
            transform: translateY(50%) rotate(270deg); }
  40% {
    opacity: 1;
    right: 50%;
    -webkit-transform: translateY(50%) rotate(0deg);
            transform: translateY(50%) rotate(0deg); }
  50% {
    opacity: 1;
    right: 0;
    -webkit-transform: translateY(50%) rotate(0deg);
            transform: translateY(50%) rotate(0deg); }
  80% {
    opacity: .5;
    right: 0;
    -webkit-transform: translateY(3px) rotate(0deg);
            transform: translateY(3px) rotate(0deg); }
  100% {
    opacity: 0;
    right: 0;
    -webkit-transform: translateY(15px) rotate(0deg);
            transform: translateY(15px) rotate(0deg); } }

@keyframes tit01-02 {
  0% {
    opacity: 0;
    right: 50%;
    -webkit-transform: translateY(50%) rotate(45deg);
            transform: translateY(50%) rotate(45deg); }
  20% {
    opacity: .5;
    right: 50%;
    -webkit-transform: translateY(50%) rotate(270deg);
            transform: translateY(50%) rotate(270deg); }
  40% {
    opacity: 1;
    right: 50%;
    -webkit-transform: translateY(50%) rotate(0deg);
            transform: translateY(50%) rotate(0deg); }
  50% {
    opacity: 1;
    right: 0;
    -webkit-transform: translateY(50%) rotate(0deg);
            transform: translateY(50%) rotate(0deg); }
  80% {
    opacity: .5;
    right: 0;
    -webkit-transform: translateY(3px) rotate(0deg);
            transform: translateY(3px) rotate(0deg); }
  100% {
    opacity: 0;
    right: 0;
    -webkit-transform: translateY(15px) rotate(0deg);
            transform: translateY(15px) rotate(0deg); } }

@-webkit-keyframes fadein {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadein {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.tit02 {
  margin-bottom: 9.73333%;
  text-align: center; }
  .tit02 span {
    display: inline-block;
    position: relative;
    padding-bottom: .2em; }
    .tit02 span:after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 2px;
      background-color: #a1a1a1; }

.tit03 {
  position: relative;
  overflow: hidden;
  margin-bottom: 6.66667%; }
  .tit03 span {
    display: inline-block;
    position: relative;
    z-index: 2;
    padding-right: .8em; }
    .tit03 span:before {
      content: "";
      position: absolute;
      right: 100%;
      top: 50%;
      width: 1000%;
      height: 1px;
      background-color: #333; }
    .tit03 span:after {
      content: "";
      position: absolute;
      left: 100%;
      top: 50%;
      width: 1000%;
      height: 1px;
      background-color: #333; }

@media (min-width: 769px) {
  .tit02 {
    margin-bottom: 50px; }
    .tit02 span {
      padding-bottom: .2em; }
      .tit02 span:after {
        height: 1px; }
  .tit03 {
    margin-bottom: 30px; } }

.border-list li {
  margin-bottom: 1em;
  padding-bottom: 1em;
  border-bottom: 1px #bdbebe solid; }
  .border-list li:last-child {
    margin-bottom: 0; }

@media (min-width: 769px) {
  .border-list li {
    margin-bottom: 1em;
    padding-bottom: 0;
    border-bottom: none; }
    .border-list li:last-child {
      margin-bottom: 0; }
    .border-list li dl dt {
      padding-bottom: 1em;
      border-bottom: 1px #bdbebe solid; }
    .border-list li dl dd {
      padding-bottom: 1em;
      border-bottom: 1px #bdbebe solid; } }

#footer .ftop .address {
  padding: 6% 2.66667%;
  background: url(/images/common/fbg.jpg) no-repeat center center;
  background-size: cover; }
  #footer .ftop .address h1 {
    padding-bottom: .5em; }
    #footer .ftop .address h1 a {
      text-decoration: none; }
    #footer .ftop .address h1 span {
      -webkit-transform: translateY(-0.2em);
              transform: translateY(-0.2em); }
  #footer .ftop .address p {
    padding-bottom: 1.5em; }
  #footer .ftop .address dl dd a {
    color: #fff;
    text-decoration: none; }

#footer .ftop .map {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 0;
  padding-top: 62.66667%; }
  #footer .ftop .map .map-inner {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%; }
    #footer .ftop .map .map-inner iframe {
      width: 100%;
      height: 100%; }

#footer .fbottom p {
  padding: 1em 1em 2.5em; }
  @media (max-width: 768px) {
    #footer .fbottom p {
      font-size: 2.93333vw;
      line-height: 2;
      letter-spacing: 0.04em; } }
  @media (min-width: 769px) {
    #footer .fbottom p {
      font-size: 2.2rem;
      line-height: 2;
      letter-spacing: 0.04em; } }

.btn-gotop {
  opacity: 0;
  position: fixed;
  right: 2.66667%;
  bottom: 1.33333%;
  z-index: 9999;
  width: 10%;
  height: auto;
  transition: opacity .4s ease; }
  .btn-gotop.on {
    opacity: 1; }

@media (min-width: 769px) {
  #footer .ftop {
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch; }
    #footer .ftop .address {
      width: 50%;
      padding: 5.55556% 7.14286%; }
      #footer .ftop .address h1 {
        padding-bottom: .5em; }
        #footer .ftop .address h1 a {
          text-decoration: none; }
        #footer .ftop .address h1 span {
          -webkit-transform: translateY(-0.2em);
                  transform: translateY(-0.2em); }
      #footer .ftop .address p {
        padding-bottom: 1.5em; }
      #footer .ftop .address dl dd a {
        color: #fff;
        text-decoration: none; }
    #footer .ftop .map {
      position: relative;
      overflow: hidden;
      width: 100%;
      height: 0;
      padding-top: 31.19048%;
      width: 50%; }
      #footer .ftop .map .map-inner {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%; }
        #footer .ftop .map .map-inner iframe {
          width: 100%;
          height: 100%; }
  #footer .fbottom p {
    padding: 1em 1em 2.5em; } }
  @media (min-width: 769px) and (max-width: 768px) {
    #footer .fbottom p {
      font-size: 1.46667vw;
      line-height: 2;
      letter-spacing: 0.04em; } }
  @media (min-width: 769px) and (min-width: 769px) {
    #footer .fbottom p {
      font-size: 1.1rem;
      line-height: 2;
      letter-spacing: 0.04em; } }

@media (min-width: 769px) {
  .btn-gotop {
    right: 20px;
    bottom: 20px;
    width: 50px; }
    .btn-gotop a {
      transition: opacity 0.4s ease; }
      .btn-gotop a:hover {
        opacity: 0.7; } }

.lower-title {
  background: url(/images/inquiry/visual_sp.jpg) no-repeat center center;
  background-size: cover; }
  .lower-title h1 {
    width: 70.93333%; }

@media (min-width: 769px) {
  .lower-title {
    background: url(/images/inquiry/visual_pc.jpg) no-repeat center center;
    background-size: cover; }
    .lower-title h1 {
      width: 21.11111%; } }

#box01 {
  padding-bottom: 8.66667%; }
  #box01.thanks h1 {
    padding-bottom: 2em; }
  #box01.thanks p {
    padding-bottom: 1.5em; }

@media (min-width: 769px) {
  #box01 {
    padding-bottom: 5.15873%; } }

#box02 {
  padding-bottom: 30.8%; }
  #box02 ul li {
    padding-bottom: 3.52113%; }
    #box02 ul li input[type="text"] {
      width: 100%;
      padding: .8em .5em;
      border: 1px #9f9f9f solid; }
      #box02 ul li input[type="text"].zip1 {
        width: 6em;
        margin-right: 1em;
        text-align: center; }
      #box02 ul li input[type="text"].zip2 {
        width: 8em;
        margin-left: 1em;
        text-align: center; }
    #box02 ul li select {
      padding: .8em .5em; }
      @media (max-width: 768px) {
        #box02 ul li select {
          font-size: 4.26667vw;
          line-height: 1.875;
          letter-spacing: 0.04em; } }
      @media (min-width: 769px) {
        #box02 ul li select {
          font-size: 1.6rem;
          line-height: 1.875;
          letter-spacing: 0.04em; } }
    #box02 ul li textarea {
      width: 100%;
      height: 10em;
      padding: .8em .5em; }
      @media (max-width: 768px) {
        #box02 ul li textarea {
          font-size: 4.26667vw;
          line-height: 1.875;
          letter-spacing: 0.04em; } }
      @media (min-width: 769px) {
        #box02 ul li textarea {
          font-size: 1.6rem;
          line-height: 1.875;
          letter-spacing: 0.04em; } }
    #box02 ul li .radio label {
      margin-right: 1em; }
    #box02 ul li .pp-box {
      overflow-y: scroll;
      width: 100%;
      height: 10em;
      margin: .5em 0 1em;
      padding: 1em;
      border: 1px #9f9f9f solid; }
      #box02 ul li .pp-box p:not(:last-child) {
        padding-bottom: 1em; }
    #box02 ul li .agree {
      padding-bottom: 21.26761%;
      text-align: center; }
      @media (max-width: 768px) {
        #box02 ul li .agree {
          font-size: 4.93333vw;
          line-height: 1.86486;
          letter-spacing: 0.04em; } }
      @media (min-width: 769px) {
        #box02 ul li .agree {
          font-size: 3.7rem;
          line-height: 1.86486;
          letter-spacing: 0.04em; } }
  #box02 .error-list {
    padding: 0 1em 1em; }
  #box02 .btn-area p {
    text-align: center; }
    #box02 .btn-area p input, #box02 .btn-area p a {
      display: inline-block;
      width: 48%;
      margin-right: 4%;
      padding: .5em;
      border: none;
      background-color: #106a2f;
      color: #fff;
      line-height: 1; }
      @media (max-width: 768px) {
        #box02 .btn-area p input, #box02 .btn-area p a {
          font-size: 4.26667vw;
          line-height: 1.875;
          letter-spacing: 0.04em; } }
      @media (min-width: 769px) {
        #box02 .btn-area p input, #box02 .btn-area p a {
          font-size: 1.6rem;
          line-height: 1.875;
          letter-spacing: 0.04em; } }
      #box02 .btn-area p input:last-child, #box02 .btn-area p a:last-child {
        margin-right: 0; }
    #box02 .btn-area p a {
      text-decoration: none; }
    #box02 .btn-area p .btn-back input {
      background-color: #333; }

@media (min-width: 769px) {
  #box02 {
    padding-bottom: 5.55556%; }
    #box02 ul {
      padding: 0 80px; }
      #box02 ul li {
        padding-bottom: 30px; }
        #box02 ul li dl {
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-flex-wrap: wrap;
              -ms-flex-wrap: wrap;
                  flex-wrap: wrap;
          -webkit-justify-content: space-between;
              -ms-flex-pack: justify;
                  justify-content: space-between;
          -webkit-align-items: flex-start;
              -ms-flex-align: start;
                  align-items: flex-start; }
          #box02 ul li dl dt {
            width: 160px; }
          #box02 ul li dl dd {
            width: 620px; }
        #box02 ul li input[type="text"] {
          width: 350px; }
        #box02 ul li .pp-box {
          height: 12em; }
        #box02 ul li .agree {
          padding-bottom: 230px;
          text-align: left; } }
        @media (min-width: 769px) and (max-width: 768px) {
          #box02 ul li .agree {
            font-size: 4.26667vw;
            line-height: 1.875;
            letter-spacing: 0.04em; } }
        @media (min-width: 769px) and (min-width: 769px) {
          #box02 ul li .agree {
            font-size: 1.6rem;
            line-height: 1.875;
            letter-spacing: 0.04em; } }

@media (min-width: 769px) {
    #box02 .btn-area p input, #box02 .btn-area p a {
      width: 200px;
      margin-right: 20px;
      transition: opacity .4s ease; }
      #box02 .btn-area p input:hover, #box02 .btn-area p a:hover {
        opacity: .7; } }

/*# sourceMappingURL=inquiry.css.map */
