@charset "UTF-8";
html {
  overflow: auto;
  scroll-behavior: smooth; }

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

li {
  list-style: none; }

a {
  text-decoration: none; }

body {
  font-family: "Noto Sans JP", sans-serif, "Open Sans", 游ゴシック体, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
  line-height: 1.6;
  color: #000000; }

.pc__only {
  display: block; }

.sp__only {
  display: none; }

.contents--ttl {
  font-size: 24px; }
  .contents--ttl--en {
    display: block;
    font-size: 12px;
    font-weight: normal; }
.contents--txt {
  font-size: 16px; }

.head__wrap {
  position: fixed;
  top: 0;
  display: flex;
  background: #ffffff;
  width: 100%;
  padding: 30px 0px 7px 54px;
  z-index: 999; }
.head__address {
  padding: 0 0 0 20px;
  line-height: 1.3; }
.head__menu {
  display: flex;
  justify-content: space-around;
  position: absolute;
  right: 301px;
  top: 33px; }
  .head__menu--list {
    padding: 0 37px;
    text-align: center;
    letter-spacing: 2px; }
    .head__menu--list a {
      font-size: 18px;
      color: #000000; }
    .head__menu--list span {
      font-size: 12px;
      display: block; }
  .head__menubtn {
    display: none; }
.head__tel {
  position: absolute;
  right: 0;
  top: 0; }

.mv {
  display: flex;
  padding: 106px 0 0; }
  .mv__img {
    width: calc(100% - 819px);
    max-width: 1099px; }
    .mv__img .tc__img {
      width: 100%;
      height: 100%; }
  .mv__contents {
    max-width: 819px;
    padding: 192px 103px 177px; }
    .mv__contents--icon, .mv__contents--link {
      text-align: center; }
    .mv__contents--icon {
      margin: 0 0 62px; }
    .mv__contents--ttl {
      padding: 0 0 16px;
      font-size: 32px; }
    .mv__contents--txt {
      font-size: 16px; }
    .mv__contents--link {
      margin: 113px 0 0; }

.about {
  background-color: #F4F4F4; }
  .about__wrap {
    display: flex;
    max-width: 1140px;
    padding: 94px 0;
    margin: auto; }
  .about__contents {
    width: 580px;
    padding: 0 0 0 89px; }
    .about__contents--ttl {
      padding: 0 0 32px; }
    .about__contents--subttl {
      padding: 0 0 20px; }
    .about__contents--txt {
      padding: 0 0 40px; }
    .about__contents--name {
      text-align: right; }
    .about__contents--fullname {
      padding: 0 0 0 20px;
      font-size: 20px; }

.company__wrap {
  display: flex;
  max-width: 1140px;
  padding: 12px 0 180px;
  margin: auto; }
.company__contents {
  width: 475px;
  padding: 0 55px 0 10px; }
  .company__contents--ttl {
    font-size: 22px;
    padding: 0 0 34px; }
.company__info {
  width: 664px;
  padding: 85px 0 0; }
  .company__info--area {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #707070; }
  .company__info--ttl, .company__info--txt {
    border-top: 1px solid #707070; }
  .company__info--ttl {
    width: 200px;
    padding: 15px 0 15px 34px;
    letter-spacing: 7px; }
  .company__info--txt {
    width: calc(100% - 200px);
    padding: 16px 0px; }
  .company__info--txt01 {
    position: relative; }
    .company__info--txt01 .tc__img {
      position: absolute;
      left: 169px;
      top: 14px; }

.business__contents {
  display: flex;
  flex-wrap: wrap;
  max-width: 1140px;
  padding: 144px 0 30px;
  margin: auto; }
  .business__contents--img {
    padding: 0 0 28px; }
    .business__contents--img img {
      display: block; }
  .business__contents--ttl {
    width: 100%;
    padding: 0 0 14px;
    font-size: 24px;
    letter-spacing: 3px; }
    .business__contents--ttl.contents--ttl {
      padding: 0 0 32px;
      letter-spacing: 0px; }
  .business__contents--txt {
    font-size: 16px;
    letter-spacing: 1px; }
.business__wrap {
  width: 390px;
  padding: 0 30px 100px 0; }
  .business__wrap01 {
    width: 360px;
    padding: 0 0 100px 0; }

.flow {
  background: #31343B;
  color: #ffffff; }
  .flow__contents {
    position: relative;
    max-width: 1140px;
    padding: 144px 0 175px;
    margin: auto; }
    .flow__contents--subttl {
      font-size: 24px;
      letter-spacing: 2px; }
      .flow__contents--subttl span {
        display: block;
        margin: 0 0 12px;
        font-size: 20px; }
    .flow__contents--txt {
      padding: 10px 0;
      letter-spacing: 1px; }
    .flow__contents--line01, .flow__contents--line02, .flow__contents--line03 {
      position: absolute; }
    .flow__contents--line01 {
      top: 412px;
      right: 240px; }
    .flow__contents--line02 {
      top: 926px;
      left: 240px; }
    .flow__contents--line03 {
      top: 1250px;
      right: 240px; }
  .flow__wrap {
    width: 486px;
    padding: 40px 0 0; }
    .flow__wrap01 {
      margin: -308px 0 0 652px; }
    .flow__wrap02 {
      padding: 0;
      margin: -44px 0 55px; }
  .flow span {
    color: #97AA9D; }

.price__contents {
  max-width: 1140px;
  padding: 220px 0 170px;
  margin: auto; }
  .price__contents--img {
    width: 566px; }
  .price__contents--box {
    width: 544px;
    padding: 37px 0 0; }
    .price__contents--boxttl {
      font-size: 24px; }
      .price__contents--boxttl span {
        padding: 0px 0 0 14px;
        font-size: 18px;
        letter-spacing: 0; }
    .price__contents--boxttl {
      letter-spacing: 2px; }
    .price__contents--boxprice {
      border-top: 1px solid #000000;
      border-bottom: 1px solid #000000;
      padding: 21px 11px 12px;
      margin: 12px 0 21px;
      font-size: 24px;
      text-align: right; }
      .price__contents--boxprice span {
        padding: 0;
        font-size: 16px; }
    .price__contents--box--txt {
      line-height: 1.8;
      letter-spacing: 1px; }
.price__wrap {
  display: flex;
  justify-content: space-between; }

.contact {
  background: #E0E0E0; }
  .contact__contents {
    max-width: 1140px;
    padding: 92px 0 200px;
    margin: auto; }
    .contact__contents--ttl {
      letter-spacing: 2px; }
    .contact__contents--subttl span {
      display: block;
      padding: 10px 0 0;
      font-size: 16px;
      font-weight: normal;
      letter-spacing: 1px; }
  .contact__wrap, .contact__form {
    width: 945px;
    margin: 0 0 0 195px; }
  .contact__wrap {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #707070;
    padding: 108px 0 64px; }
  .contact__form {
    padding: 80px 0 0; }
    .contact__form--area {
      padding: 64px 0; }
      .contact__form--area li {
        font-size: 16px;
        display: flex;
        justify-content: space-between; }
    .contact__form--label {
      padding: 20px 0; }
    .contact__form--box {
      background: #ffffff;
      width: 684px;
      height: 60px;
      padding: 20px;
      margin: 0 0 25px;
      font-size: 16px;
      line-height: 2; }
      .contact__form--box01 {
        width: 300px;
        margin: 0 384px 25px 0; }
      .contact__form--box02 {
        min-height: 300px; }
    .contact__form--submit {
      margin: 60px 0 0 260px; }

.foot__wrap {
  background: url("../images/img02.png") no-repeat right center #000000;
  background-size: 521px;
  padding: 50px 0 22px;
  text-align: center;
  color: #ffffff; }
.foot__nav {
  display: flex;
  justify-content: space-around;
  width: 156px;
  margin: 64px auto 6px; }

@media (max-width: 1510px) {
  .head .pc__only {
    display: none; }
  .head .sp__only {
    display: block;
    opacity: 0;
    position: absolute;
    top: 0;
    right: 0;
    min-width: 0;
    min-height: 100vh;
    transition: .5s;
    background: #ffffff; }
    .head .sp__only.menu__close {
      opacity: 1;
      min-width: 402px; }
    .head .sp__only.active {
      display: block; }
  .head__menubtn {
    display: block; }
  .head__menu {
    display: block;
    position: absolute;
    background: #ffffff;
    width: 100%;
    right: 0;
    top: 0; }
    .head__menu--list {
      padding: 30px 0; }
      .head__menu--list a {
        display: block; }
      .head__menu--list span {
        display: block; }
  .head__tel {
    display: block;
    top: auto;
    bottom: 5%;
    left: 51px;
    width: 80%; }
  .head__menubtn {
    display: block;
    width: 50px;
    height: 50px;
    background: #ffffff;
    position: relative;
    cursor: pointer;
    z-index: 999;
    position: absolute;
    top: 20%;
    right: 3%;
    z-index: 9999; }
    .head__menubtn hr {
      display: block;
      margin: 0;
      border: none;
      width: 50%;
      /*バツ線の長さ*/
      height: 4px;
      /*バツ線の太さ*/
      background: #000;
      transform-origin: 0% 50%;
      position: absolute;
      top: 12px;
      left: 25%;
      transition: .3s; }
      .head__menubtn hr:nth-of-type(2) {
        top: 22px; }
      .head__menubtn hr:nth-of-type(3) {
        top: 32px; }
  .head .close hr {
    left: 30%; }
  .head .close hr:nth-of-type(1) {
    transform: rotate(45deg);
    width: 55%; }
  .head .close hr:nth-of-type(2) {
    opacity: 0; }
  .head .close hr:nth-of-type(3) {
    top: 32px;
    transform: rotate(-45deg);
    width: 55%; } }
/* sp */
@media (max-width: 1160px) {
  .pc__only {
    display: none; }

  .sp__only {
    display: block; }

  img.tc__img {
    width: 100%; }

  .contents--ttl {
    font-size: calc(3.5vw + 7px); }
    .contents--ttl--en {
      font-size: calc(1.8vw + 4px); }
  .contents--txt {
    font-size: calc(2.2vw + 4px);
    letter-spacing: 1.6px; }

  .head__wrap {
    padding: 5.6% 5%; }
  .head__icon {
    width: 28%; }
    .head__icon img {
      display: block; }
  .head__address {
    display: block;
    padding: 0.5% 0 0 4%;
    font-size: calc(1.8vw + 4px);
    letter-spacing: 0.3px; }
  .head .sp__only.menu__close {
    opacity: 1;
    min-width: 100%; }
  .head__tel {
    left: 10%; }

  .mv {
    display: block;
    padding: 0; }
    .mv__img {
      width: 100%;
      max-width: 100%;
      padding: 19% 0 0; }
    .mv__contents {
      max-width: 100%;
      padding: 2.4% 5.3% 19%; }
      .mv__contents--icon {
        width: 36%;
        padding: 20% 0 11%;
        margin: auto; }
      .mv__contents--ttl {
        padding: 0 0 3%;
        font-size: calc(3.5vw + 7px); }
      .mv__contents--txt {
        padding: 0;
        font-size: calc(1.8vw + 5px);
        line-height: 1.7; }
      .mv__contents--link {
        width: 51.3%;
        margin: 13.2% auto 0; }

  .about__wrap {
    display: block;
    max-width: 100%;
    padding: 17% 5.3% 13%;
    margin: auto; }
  .about__contents {
    width: 100%;
    padding: 0; }
    .about__contents--ttl {
      padding: 0 0 7.5%;
      font-size: calc(3.6vw + 9px);
      letter-spacing: 4px; }
      .about__contents--ttl span.contents--ttl--en {
        letter-spacing: 0; }
    .about__contents--subttl {
      padding: 12.4% 0 3%;
      font-size: calc(3.1vw + 7px);
      letter-spacing: 2px; }
      .about__contents--subttl br {
        display: none; }
    .about__contents--txt {
      padding: 0;
      font-size: calc(1.9vw + 5px);
      line-height: 1.9; }
    .about__contents--name {
      text-align: right;
      font-size: calc(1.8vw + 5px);
      padding: 10% 0 0; }
    .about__contents--fullname {
      padding: 10% 0 0 3%;
      font-size: calc(2.1vw + 6px);
      line-height: 2;
      letter-spacing: 3px; }

  .company__wrap {
    display: block;
    max-width: 100%;
    padding: 5.3% 5.3% 30%;
    margin: auto; }
  .company__contents {
    width: 100%;
    padding: 0; }
    .company__contents--ttl {
      padding: 1% 0 8.5%;
      font-size: calc(3.2vw + 6px);
      letter-spacing: 3px; }
      .company__contents--ttl .contents--ttl--en {
        letter-spacing: 0; }
    .company__contents .contents--txt {
      line-height: 1.8; }
  .company__info {
    width: 100%;
    padding: 6.4% 0 0; }
    .company__info--area {
      border-bottom: 1px solid #707070; }
    .company__info--ttl, .company__info--txt {
      border-top: 1px solid #707070; }
    .company__info--ttl {
      width: 30%;
      padding: 6% 0;
      letter-spacing: 0; }
    .company__info--txt {
      width: 70%;
      padding: 6% 0px 6.4%; }
    .company__info--txt01 {
      position: relative; }
      .company__info--txt01 .tc__img {
        width: 39%;
        left: auto;
        right: 0;
        top: 30%; }

  .business__contents {
    display: block;
    max-width: 100%;
    padding: 18.2% 5.3%;
    margin: auto; }
    .business__contents--img {
      padding: 0 0 3%; }
      .business__contents--img img {
        display: block; }
    .business__contents--ttl {
      font-size: calc(3.2vw + 6px);
      padding: 0 0 2%; }
      .business__contents--ttl.contents--ttl {
        width: 100%;
        padding: 0 0 13%;
        font-size: calc(4.2vw + 8px);
        letter-spacing: 4px; }
        .business__contents--ttl.contents--ttl .contents--ttl--en {
          letter-spacing: 0; }
    .business__contents--txt {
      font-size: calc(2.1vw + 6px);
      line-height: 1.7;
      letter-spacing: 0; }
  .business__wrap {
    width: 100%;
    padding: 0 0 21%; }
    .business__wrap01 {
      width: 100%;
      padding: 0 0 100px 0; }

  .flow__contents {
    max-width: 100%;
    padding: 5.3%; }
    .flow__contents--subttl {
      font-size: calc(3.2vw + 6px); }
      .flow__contents--subttl span {
        display: block;
        margin: 0 0 5%;
        font-size: calc(2.1vw + 5px); }
    .flow__contents--txt {
      font-size: calc(2.1vw + 6px);
      letter-spacing: 0; }
    .flow__contents--line01, .flow__contents--line02, .flow__contents--line03 {
      position: relative;
      display: none; }
  .flow__wrap {
    position: relative;
    width: 100%;
    padding: 0 0 60%; }
    .flow__wrap:after {
      border-left: 4px dotted #ffffff;
      content: "";
      position: absolute;
      left: calc(50% - 10px);
      bottom: 5%;
      width: 10px;
      padding: 30% 0 0;
      opacity: 0.6; }
    .flow__wrap01 {
      margin: 0; }
    .flow__wrap02:after {
      content: none; }
  .flow span {
    color: #97AA9D; }

  .price__contents {
    max-width: 100%;
    padding: 5.3% 5.3% 23%;
    margin: auto; }
    .price__contents--ttl {
      padding: 0 0 3.4%;
      font-size: calc(4.2vw + 8px); }
    .price__contents--txt {
      font-size: calc(2.36vw + 5px); }
    .price__contents--img {
      width: 100%; }
    .price__contents--box {
      width: 100%;
      padding: 2% 0 0; }
      .price__contents--boxttl, .price__contents--boxprice {
        font-size: calc(3.2vw + 6px); }
        .price__contents--boxttl span, .price__contents--boxprice span {
          padding: 0 0 0 4%;
          font-size: calc(2.1vw + 5px); }
      .price__contents--boxprice {
        border-top: 1px solid #000000;
        border-bottom: 1px solid #000000;
        padding: 2% 0 0.6%;
        margin: 0 0 5%;
        text-align: right; }
  .price__wrap {
    display: block;
    padding: 0; }

  .contact__contents {
    max-width: 100%;
    padding: 19% 5.3% 55%;
    margin: auto; }
    .contact__contents--ttl {
      padding: 0 0 12%;
      font-size: calc(4.2vw + 8px); }
    .contact__contents--subttl {
      padding: 0 0 12.8%; }
      .contact__contents--subttl span {
        display: block;
        padding: 1% 0 0;
        font-size: calc(2.4vw + 4px);
        font-weight: normal; }
    .contact__contents__tel {
      width: 81%;
      margin: auto; }
  .contact__wrap, .contact__form {
    width: 100%;
    margin: 0; }
  .contact__wrap {
    border-bottom: 0;
    display: block;
    padding: 0 0 19%; }
  .contact__form {
    padding: 0; }
    .contact__form--area {
      padding: 11% 0 0; }
    .contact__form--area li {
      font-size: calc(2.4vw + 4px);
      display: block; }
      .contact__form--area li:last-child {
        text-align: center; }
    .contact__form--label {
      display: block;
      padding: 0 0 3%; }
    .contact__form--box {
      display: block;
      width: 100%;
      height: 52px;
      padding: 3%;
      margin: 0 0 6.2%;
      font-size: calc(2.3vw + 4px); }
      .contact__form--box01 {
        width: 50%; }
      .contact__form--box02 {
        min-height: 300px; }
    .contact__form--submit {
      margin: 25% auto 0; }

  .foot {
    font-size: calc(2.6vw + 6px); }
    .foot__wrap {
      background-size: 77%;
      padding: 12.2% 0 4%; }
    .foot__icon {
      width: 38.64%;
      margin: 0 auto 1%; }
    .foot__nav {
      display: flex;
      justify-content: space-around;
      width: 40%;
      margin: 66% auto 40px; }
      .foot__nav img {
        width: 50%; }

  /* last */ }

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