@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@100;300;400;500;600;700;900&display=swap");
html,
body,
h1,
h2,
p,
ul,
li {
  margin: 0;
  padding: 0;
  line-height: 1.0;
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  border: none;
  vertical-align: bottom;
  vertical-align: bottom;
  max-width: 100%;
}

html {
  font-size: 62.5%;
}

body {
  background: #fff;
  color: #333;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}

@media (max-width: 480px) {
  body {
    font-size: 3.733vw;
  }
}

html,
body,
h1,
h2,
h3,
h4,
p,
ul,
li,
dl,
dt,
dd {
  margin: 0;
  padding: 0;
  line-height: 1.0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

h2 {
  font-family: "IBM Plex Sans", sans-serif;
}

h2 span {
  font-family: "Noto Sans JP", sans-serif;
}

p {
  letter-spacing: 0.05em;
}

.wrapper {
  max-width: 1280px;
  padding: 0 6.4rem;
  margin: 0 auto;
}

@media screen and (max-width: 480px) {
  .wrapper {
    max-width: 100%;
    padding: 0 2rem;
  }
}

a[href^="tel:"] {
  cursor: default;
  pointer-events: none;
}

@media screen and (max-width: 480px) {
  a[href^="tel:"] {
    cursor: pointer;
    pointer-events: auto;
  }
}

.sp {
  display: none;
}

@media screen and (max-width: 900px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}

.sp-break {
  display: none;
}

@media screen and (max-width: 480px) {
  .sp-break {
    display: block;
  }
}

.pankuzu {
  background: #FAFAFA;
  padding: calc((7rem - 1.4rem) / 2) 0;
}

.pankuzu .wrapper {
  max-width: 954px;
}

.pankuzu .wrapper ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.pankuzu .wrapper ul li {
  margin-right: 1.3rem;
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.08em;
}

.pankuzu .wrapper ul li a {
  padding-right: 2rem;
  display: inline-block;
  color: rgba(51, 51, 51, 0.6);
  letter-spacing: 0;
  background: url("../img/pankuzu_arrow.svg") no-repeat right 4px;
  background-size: 5px 8px;
}

@media screen and (min-width: 1025px) {
  .pankuzu .wrapper ul li a:hover {
    text-decoration: underline;
  }
}

@media screen and (max-width: 480px) {
  .pankuzu {
    padding: calc((4rem - 1.4rem) / 2) 0;
  }
  .pankuzu li {
    font-size: 3.2vw !important;
  }
}

.btn {
  width: 360px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 0;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.2em;
  color: #333;
  border-radius: 0.5rem;
}

@media screen and (max-width: 900px) {
  .btn {
    width: 100%;
    max-width: 260px;
  }
}

@media screen and (max-width: 480px) {
  .btn {
    font-size: 3.73333vw;
  }
}

.btn-border {
  border: 1px solid #333;
  border-radius: 0;
  background: #fff;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}

.btn-border:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 21px;
  height: 100%;
  content: '';
  -webkit-transition: all .3s;
  transition: all .3s;
  -webkit-transform: translateX(0) translateY(0) rotate(0deg);
          transform: translateX(0) translateY(0) rotate(0deg);
  background: #0066CC url("../img/arrow02.svg") no-repeat center center;
  background-size: 21px 21px;
}

@media screen and (max-width: 900px) {
  .btn-border:before {
    height: 21px;
    top: calc(50% - 10px);
    left: calc(100% - 10px);
    background: url("../img/arrow02.svg") no-repeat center center;
  }
}

@media screen and (max-width: 480px) {
  .btn-border:before {
    top: calc(50% - 1rem);
    left: calc(100% - 1rem);
  }
}

@media screen and (min-width: 1025px) {
  .btn-border:hover:before {
    -webkit-transform: translateX(350px);
            transform: translateX(350px);
    background: url("../img/arrow02.svg") no-repeat center center;
  }
}

@media screen and (min-width: 1025px) and (max-width: 900px) {
  .btn-border:hover:before {
    pointer-events: none;
  }
}

main {
  padding-top: 9rem;
}

@media screen and (max-width: 900px) {
  main {
    padding-top: 6.6rem;
  }
}

@media all and (-ms-high-contrast: none) {
  main {
    padding-top: 0;
  }
}

@media screen and (max-width: 900px) {
  body.fixed {
    position: fixed;
    width: 100%;
    height: 100%;
  }
}

.en {
  font-family: "IBM Plex Sans", sans-serif;
}

.main-visual {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 350px;
  background: url("../img/estimate-main_img.jpg") no-repeat center top/cover;
}

@media all and (-ms-high-contrast: none) {
  .main-visual {
    padding-top: 9rem;
  }
}

.main-visual h2 {
  margin: 0 auto;
  max-width: 900px;
  color: #fff;
  font-size: 5.6rem;
  line-height: 1.2;
  letter-spacing: 0.4em;
  text-align: center;
}

.main-visual h2 span {
  margin-top: 12px;
  display: block;
  font-size: 2rem;
  letter-spacing: 0.5em;
}

@media screen and (max-width: 480px) {
  .main-visual {
    height: 220px;
    background-size: auto 220px;
  }
  .main-visual h2 {
    font-size: 10.13333vw;
    letter-spacing: 0.2em;
  }
  .main-visual h2 span {
    font-size: 4.8vw;
    letter-spacing: 0.2em;
  }
}

.link-navi {
  margin-bottom: 110px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.link-navi li {
  margin: 0 1.8%;
  min-width: 17%;
}

.link-navi li a {
  padding: 22px 0;
  display: block;
  color: #fff;
  text-align: center;
  letter-spacing: 0.05em;
  border-bottom: 4px solid #fff;
}

@media screen and (min-width: 1025px) {
  .link-navi li a:hover {
    color: #0066CC !important;
    border-bottom-color: #0066CC !important;
  }
}

.link-navi li a.on {
  color: #0066CC !important;
  border-bottom-color: #0066CC !important;
}

@media screen and (max-width: 480px) {
  .link-navi {
    margin-bottom: 70px;
  }
}

.headline01 {
  margin-bottom: 57px;
  color: #000;
  font-size: 2.4rem;
  text-align: center;
  letter-spacing: 0.2em;
  font-family: 'Noto Serif JP', serif;
}

.headline01 span {
  margin-bottom: 10px;
  display: block;
  font-size: 1.8rem;
  font-weight: normal;
  letter-spacing: 0.05em;
  font-family: "IBM Plex Sans", sans-serif;
}

@media screen and (max-width: 480px) {
  .headline01 {
    margin-bottom: 40px;
    font-size: 6.4vw;
    letter-spacing: 0.1em;
  }
  .headline01 span {
    font-size: 4.8vw;
  }
}

.headline02 {
  padding: 15px 30px 15px 20px;
  position: relative;
  font-weight: 500;
  line-height: 1.5;
  cursor: pointer;
  background: rgba(0, 102, 204, 0.1);
}

.headline02:after {
  margin-top: -4px;
  position: absolute;
  top: 50%;
  right: 15px;
  width: 15px;
  height: 9px;
  -webkit-transition: .3s;
  transition: .3s;
  background: url("../img/arrow05.svg") no-repeat left top/15px 9px;
  content: "";
}

.headline02.on:after {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

.com-table {
  width: 100%;
  border-spacing: 0;
}

.com-table th, .com-table td {
  padding: 38px 10px 18px 35px;
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-weight: normal;
  border-bottom: 4px solid #E3E3E3;
}

.com-table th {
  padding: 38px 10px 18px;
  width: 18%;
  letter-spacing: 0.15em;
  border-bottom-color: #0066CC;
}

@media screen and (max-width: 480px) {
  .com-table th, .com-table td {
    padding: 38px 5px 18px 15px;
  }
  .com-table th {
    padding: 38px 5px 18px;
    width: 23%;
  }
}

.btm-box {
  padding: 100px 0;
  background: url("../img/recruit-bg03.jpg") no-repeat center top/cover;
}

.btm-box .wrapper {
  max-width: 954px;
}

.btm-box h3 {
  margin-bottom: 50px;
  color: #fff;
  font-size: 1.6rem;
  letter-spacing: 0.3em;
  text-align: center;
}

.btm-box .btn-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.btm-box .btn-list li {
  width: 48.1%;
}

.btm-box .btn-list li a {
  padding: 38px 10px;
  display: block;
  color: #fff;
  font-size: 1.2rem;
  text-align: center;
  letter-spacing: 0.5em;
  background-color: rgba(255, 255, 255, 0.35);
  border: 2px solid #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.btm-box .btn-list li a span {
  margin-right: 5%;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.4em;
  vertical-align: middle;
  vertical-align: -3px;
}

@media screen and (max-width: 900px) {
  .btm-box .btn-list li a span {
    margin: 0 0 10px;
    display: block;
  }
}

@media screen and (min-width: 1025px) {
  .btm-box .btn-list li a:hover {
    opacity: 0.7;
  }
}

@media screen and (max-width: 760px) {
  .btm-box .btn-list {
    margin-top: -15px;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  .btm-box .btn-list li {
    margin: 15px 0 0;
    width: 100%;
  }
  .btm-box .btn-list li a {
    padding: 15px 10px;
  }
}

@media screen and (max-width: 480px) {
  .btm-box {
    padding: 60px 0;
  }
  .btm-box h3 {
    font-size: 4.8vw;
    line-height: 1.5;
  }
  .btm-box .btn-list li a {
    font-size: 3.2vw;
    letter-spacing: 0.2em;
  }
  .btm-box .btn-list li a span {
    font-size: 5.33333vw;
    letter-spacing: 0.3em;
  }
}

.fade-in {
  opacity: 0;
  -webkit-transition: all 1s;
  transition: all 1s;
}

.fade-in.on {
  opacity: 1;
}

.header-group {
  position: fixed;
  z-index: 150;
  width: 100vw;
}

header {
  -webkit-transition: 0.5s;
  transition: 0.5s;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 10;
  background: transparent;
}

header .logo {
  margin-left: 3rem;
}

@media screen and (max-width: 900px) {
  header .logo {
    margin-left: 2rem;
  }
}

header .logo img {
  width: 237px;
  height: auto;
}

@media screen and (max-width: 900px) {
  header .logo img {
    width: 180px;
  }
}

header nav {
  margin-left: auto;
}

@media screen and (max-width: 900px) {
  header nav {
    margin-left: 0;
  }
}

header nav ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

header nav ul li {
  font-size: 1.4rem;
  margin-left: 4rem;
}

header nav ul li a {
  color: #fff;
  line-height: 9rem;
  display: block;
}

@media screen and (min-width: 1025px) {
  header nav ul li a:hover {
    opacity: 0.7;
  }
}

header nav ul li a.navi-estimate {
  color: #fff;
  background: #0066CC;
  width: 150px;
  padding-right: 12px;
  text-align: center;
}

@media screen and (min-width: 1025px) {
  header nav ul li a.navi-estimate:hover {
    background: #1975d1;
    opacity: 1;
  }
}

@media screen and (max-width: 900px) {
  header {
    /*　ハンバーガーボタン　*/
    /* ナビ開いてる時のボタン */
    /* このクラスを、jQueryで付与・削除する */
  }
  header .hamburger {
    display: block;
    position: fixed;
    z-index: 3;
    right: 13px;
    top: 12px;
    width: 42px;
    height: 42px;
    cursor: pointer;
    text-align: center;
  }
  header .hamburger span {
    display: block;
    position: absolute;
    width: 30px;
    height: 2px;
    left: 6px;
    background: #555;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  header .hamburger span:nth-child(1) {
    top: 10px;
  }
  header .hamburger span:nth-child(2) {
    top: 20px;
  }
  header .hamburger span:nth-child(3) {
    top: 30px;
  }
  header .hamburger.active span:nth-child(1) {
    top: 16px;
    left: 6px;
    background: #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  header .hamburger.active span:nth-child(2),
  header .hamburger.active span:nth-child(3) {
    top: 16px;
    background: #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  header nav.globalMenuSp {
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    color: #fff;
    background: rgba(0, 0, 0, 0.7);
    text-align: center;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    overflow-y: auto;
    opacity: 0;
    -webkit-transition: opacity .6s ease, visibility .6s ease;
    transition: opacity .6s ease, visibility .6s ease;
    visibility: hidden;
  }
  header nav.globalMenuSp ul {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    display: block;
  }
  header nav.globalMenuSp ul li {
    list-style-type: none;
    padding: 0;
    width: 100%;
    -webkit-transition: .4s all;
    transition: .4s all;
    margin: 0;
  }
  header nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
  }
}

@media screen and (max-width: 900px) and (min-width: 1025px) {
  header nav.globalMenuSp ul li:hover {
    background: #ddd;
  }
}

@media screen and (max-width: 900px) {
  header nav.globalMenuSp ul li a {
    display: block;
    line-height: inherit;
    color: #fff!important;
    padding: 1.5em 0;
    text-decoration: none;
  }
  header nav.globalMenuSp.active {
    opacity: 100;
    visibility: visible;
  }
}

@media screen and (max-width: 900px) {
  header {
    background: #fff;
    height: 6.6rem;
  }
}

header.on-visual {
  background: #fff;
}

@media screen and (max-width: 900px) {
  header.on-visual {
    background: #fff;
    padding: 0 0 0 2rem;
  }
}

header.on-visual .logo img {
  width: 237px;
  height: auto;
}

@media screen and (max-width: 900px) {
  header.on-visual .logo img {
    width: 180px;
  }
}

header.on-visual nav {
  margin-left: auto;
}

@media screen and (max-width: 900px) {
  header.on-visual nav {
    margin-left: 0;
  }
}

header.on-visual nav ul li a {
  color: #333;
}

header.on-visual nav ul li a.navi-estimate {
  color: #fff;
}

.freecall {
  display: block;
  padding: 10px 20px;
  text-align: right;
  background: #fff;
  border-bottom: 1px #e6e6e6 solid;
}

@media screen and (max-width: 900px) {
  .freecall {
    display: none;
  }
}

.freecall img {
  width: auto;
  height: 30px;
}

#company header,
#contact header,
#thanks header,
#recruit header,
#estimate header,
#privacy header,
#notfound header {
  background-color: #fff;
}

#company header nav ul li a,
#contact header nav ul li a,
#thanks header nav ul li a,
#recruit header nav ul li a,
#estimate header nav ul li a,
#privacy header nav ul li a,
#notfound header nav ul li a {
  color: #333;
}

#company header nav ul li a.navi-estimate,
#contact header nav ul li a.navi-estimate,
#thanks header nav ul li a.navi-estimate,
#recruit header nav ul li a.navi-estimate,
#estimate header nav ul li a.navi-estimate,
#privacy header nav ul li a.navi-estimate,
#notfound header nav ul li a.navi-estimate {
  color: #fff;
}

footer .page-top {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 210;
}

@media screen and (min-width: 1025px) {
  footer .page-top:hover {
    -webkit-filter: brightness(110%);
            filter: brightness(110%);
  }
}

@media screen and (max-width: 760px) {
  footer .page-top {
    bottom: 27vw;
  }
}

@media screen and (max-width: 480px) {
  footer .page-top {
    right: 10px;
    width: 50px;
  }
}

footer .footer-main {
  background: -webkit-linear-gradient(352deg, #0066CC 0%, #00A4B9 100%);
  background: linear-gradient(98deg, #0066CC 0%, #00A4B9 100%);
  padding: 5.4rem 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  color: #fff;
}

@media screen and (max-width: 900px) {
  footer .footer-main {
    padding: 5.4rem 0;
  }
}

@media screen and (max-width: 480px) {
  footer .footer-main {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 0;
  }
}

footer .footer-main .wrapper {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}

@media screen and (max-width: 480px) {
  footer .footer-main .wrapper {
    display: block;
    width: auto;
    margin: 0;
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

footer .footer-main .wrapper .contents {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}

@media screen and (max-width: 900px) {
  footer .footer-main .wrapper .contents {
    display: block;
  }
}

@media screen and (max-width: 480px) {
  footer .footer-main .wrapper .contents {
    margin-bottom: 6rem;
  }
}

footer .footer-main .wrapper .contents > div {
  margin: 0 1.5rem 0 0;
}

footer .footer-main .wrapper .contents .logo {
  width: 20rem;
  margin-right: 1.4rem;
}

@media screen and (max-width: 900px) {
  footer .footer-main .wrapper .contents .logo {
    display: block;
    margin-bottom: 3.5rem;
  }
}

footer .footer-main .wrapper .contents p {
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
  margin-bottom: 1.2rem;
}

footer .footer-main .wrapper .contents p:last-of-type {
  margin-top: 0.7rem;
}

footer .footer-main .wrapper .contents .map-btn {
  margin-left: -4px;
}

footer .footer-main .wrapper .contents .map-btn a {
  font-size: 1.2rem;
  font-weight: bold;
  font-family: "IBM Plex Sans", sans-serif;
  letter-spacing: 0.2rem;
  padding: 0.5rem 1.8rem;
  border: solid #fff 1px;
  display: block;
  width: 64px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (min-width: 1025px) {
  footer .footer-main .wrapper .contents .map-btn a:hover {
    opacity: 0.7;
  }
}

footer .footer-main .wrapper .contents .mark {
  margin: 0 0 0 1rem;
}

footer .footer-main .wrapper .contents .mark:first-of-type {
  margin: 0;
}

@media screen and (max-width: 900px) {
  footer .footer-main .wrapper .contents .mark {
    margin: 2rem 1rem 0 0;
  }
}

footer .footer-main .wrapper .footer-navi li {
  margin-bottom: 2rem;
  font-size: 1.2rem;
  letter-spacing: 0.4rem;
}

footer .footer-main .wrapper .footer-navi li:last-child {
  margin-bottom: 0;
  font-weight: 300;
  font-size: 1.1rem;
}

@media screen and (min-width: 1025px) {
  footer .footer-main .wrapper .footer-navi li:hover {
    position: relative;
  }
  footer .footer-main .wrapper .footer-navi li:hover::before {
    position: absolute;
    top: 0;
    left: -1.6em;
    content: "";
    width: 1.4rem;
    height: 1.4rem;
    display: inline-block;
    background: url("../img/arrow.svg") no-repeat;
    background-size: contain;
  }
}

footer .copyright {
  background: #222222;
  color: #fff;
  text-align: center;
  padding: 1.2rem 0;
  letter-spacing: 0.06em;
}

footer .copyright small {
  font-size: 1.2rem;
}

#top .main-visual {
  height: 100vh;
  overflow: hidden;
  background: none;
}

#top .main-visual .video-wrap {
  position: relative;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.25);
}

@media screen and (max-width: 900px) {
  #top .main-visual .video-wrap {
    margin-top: 6.6rem;
  }
}

#top .main-visual .video-wrap video {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
  z-index: -100;
  background: url("../img/move_capture.jpg") no-repeat;
  background-size: cover;
}

#top .main-visual .catch {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%);
  text-align: center;
}

@media screen and (max-width: 480px) {
  #top .main-visual .catch {
    width: 80%;
  }
}

#top .main-visual .catch h1 {
  margin: 0 0 3.6rem 0;
}

#top .main-visual .catch p {
  color: #fff;
  font-weight: normal;
  font-family: 'Noto Serif JP', serif;
  line-height: 2;
}

#top main {
  padding-top: 0;
}

#top main .news {
  padding: 8.3rem 15.47% 8.6rem;
  max-width: 1280px;
  margin: 0 auto;
}

@media screen and (max-width: 1024px) {
  #top main .news {
    padding: 9rem 7.11%;
  }
}

@media screen and (max-width: 480px) {
  #top main .news {
    text-align: center;
    padding: 9rem 0;
    max-width: 900px;
  }
}

#top main .news .contents {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 480px) {
  #top main .news .contents {
    display: block;
  }
}

#top main .news .ttl {
  text-align: center;
  margin-bottom: 5rem;
}

@media screen and (max-width: 480px) {
  #top main .news .ttl {
    margin-right: 0;
  }
}

#top main .news .ttl h2 {
  font-size: 2.8rem;
  letter-spacing: 0.4em;
  margin: 0 0 1.5rem 0;
}

@media screen and (max-width: 480px) {
  #top main .news .ttl h2 {
    font-size: 7.46667vw;
  }
}

#top main .news .ttl h2 span {
  margin-top: 12px;
  font-size: 1.3rem;
  letter-spacing: 0.5em;
  font-weight: normal;
  display: block;
}

@media screen and (max-width: 480px) {
  #top main .news .ttl h2 span {
    font-size: 3.46667vw;
  }
}

@media screen and (max-width: 900px) {
  #top main .news .ttl h2 span {
    margin-bottom: 5rem;
  }
}

#top main .news .news-list li {
  margin-bottom: 36px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#top main .news .news-list li .photo {
  margin-top: 6px;
  width: 34.5%;
}

#top main .news .news-list li .txt-box {
  width: 60.7%;
}

#top main .news .news-list li .txt-box p {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: normal;
}

#top main .news .news-list li .txt-box .date {
  font-weight: 500;
  line-height: 1.67;
}

#top main .news .news-list li .txt-box .news-ttl {
  margin-bottom: 10px;
  font-size: 1.6rem;
  font-weight: 500;
}

#top main .news .news-list li:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 480px) {
  #top main .news .news-list li {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  #top main .news .news-list li .photo {
    margin: 0 0 16px;
    width: 100%;
  }
  #top main .news .news-list li .txt-box {
    width: 100%;
  }
  #top main .news .news-list li .txt-box p {
    font-size: 3.73333vw;
    text-align: left;
  }
  #top main .news .news-list li .txt-box .news-ttl {
    font-size: 4.26667vw;
  }
}

#top main .company {
  width: 100%;
  background-image: url("../img/company-back.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  text-align: center;
}

#top main .company .wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 65rem;
}

@media screen and (max-width: 480px) {
  #top main .company .wrapper {
    height: 45rem;
  }
}

#top main .company .wrapper h3 {
  margin-bottom: 4rem;
}

#top main .company .wrapper p {
  line-height: 1.8;
  color: #fff;
  font-weight: 400;
  margin-bottom: 5rem;
}

@media screen and (max-width: 480px) {
  #top main .company .wrapper p {
    font-size: 3.73333vw;
  }
}

#top main .company .wrapper .btn {
  width: 260px;
  background: transparent;
  color: #fff;
}

#top main .company .wrapper .btn-border {
  border: 1px solid #fff;
}

#top main .company .wrapper .btn-border:before {
  background-image: url("../img/arrow06.svg");
  background-color: #fff;
}

@media screen and (max-width: 900px) {
  #top main .company .wrapper .btn-border:before {
    background: url("../img/arrow06.svg") no-repeat center center;
  }
}

@media screen and (min-width: 1025px) {
  #top main .company .wrapper .btn-border:hover:before {
    -webkit-transform: translateX(250px);
            transform: translateX(250px);
    background: url("../img/arrow06.svg") no-repeat center center;
    background-size: 21px 21px;
  }
}

#top main .works .wrapper {
  padding: 15rem 9.92% 14.5rem;
  text-align: center;
}

@media screen and (max-width: 1024px) {
  #top main .works .wrapper {
    padding: 16rem 7.11%;
  }
}

@media screen and (max-width: 480px) {
  #top main .works .wrapper {
    display: block;
    padding: 8rem 2rem;
  }
}

#top main .works .wrapper .ttl {
  text-align: center;
  margin-bottom: 8.4rem;
}

@media screen and (max-width: 480px) {
  #top main .works .wrapper .ttl {
    margin-bottom: 5rem;
  }
}

#top main .works .wrapper .ttl h2 {
  font-size: 4rem;
  letter-spacing: 0.4em;
  margin-bottom: 1.6rem;
}

@media screen and (max-width: 480px) {
  #top main .works .wrapper .ttl h2 {
    font-size: 10.66667vw;
  }
}

#top main .works .wrapper .ttl h2 span {
  margin-top: 17px;
  display: block;
  font-size: 1.8rem;
  letter-spacing: 0.5em;
}

@media screen and (max-width: 480px) {
  #top main .works .wrapper .ttl h2 span {
    font-size: 4.8vw;
  }
}

#top main .works .wrapper .contents h3 {
  margin: 0 0 4.3rem 0;
}

#top main .works .wrapper .contents p {
  line-height: 1.81;
  font-weight: 400;
  margin-bottom: 3rem;
}

#top main .works .wrapper .contents p:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 480px) {
  #top main .works .wrapper .contents p {
    text-align: justify;
    font-size: 3.73333vw;
  }
}

#top main .works .hexagon {
  width: 64rem;
  height: 60rem;
  overflow: hidden;
  position: relative;
  background-image: url("../img/hexagon-back.svg");
  background-repeat: no-repeat;
}

@media screen and (max-width: 900px) {
  #top main .works .hexagon {
    width: 100%;
    height: 100%;
    background-image: none;
    background: rgba(0, 65, 131, 0.5);
  }
}

#top main .works .hexagon.R {
  margin: 0 0 0 auto;
  background-position: left;
}

@media screen and (max-width: 900px) {
  #top main .works .hexagon.R {
    margin: 0;
  }
}

#top main .works .hexagon.L {
  margin: 0 auto 0 0;
  background-position: right;
}

@media screen and (max-width: 900px) {
  #top main .works .hexagon.L {
    margin: 0;
  }
}

#top main .works .hexagon-txt {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-30%);
          transform: translateY(-50%) translateX(-30%);
  display: block;
  color: #fff;
  text-align: center;
  width: 36rem;
  z-index: 1;
}

@media screen and (max-width: 900px) {
  #top main .works .hexagon-txt {
    -webkit-transform: translateY(-50%) translateX(-50%);
            transform: translateY(-50%) translateX(-50%);
  }
}

#top main .works .hexagon-txt.L {
  -webkit-transform: translateY(-50%) translateX(-68%);
          transform: translateY(-50%) translateX(-68%);
}

@media screen and (max-width: 900px) {
  #top main .works .hexagon-txt.L {
    -webkit-transform: translateY(-50%) translateX(-50%);
            transform: translateY(-50%) translateX(-50%);
  }
}

#top main .works .hexagon-txt span {
  font-size: 2.4rem;
  font-weight: 300;
  letter-spacing: 0.07em;
  margin-bottom: 2.1rem;
  font-family: "IBM Plex Sans", sans-serif;
  display: block;
}

@media screen and (max-width: 900px) {
  #top main .works .hexagon-txt span {
    font-size: 2rem;
  }
}

@media screen and (max-width: 480px) {
  #top main .works .hexagon-txt span {
    font-size: 5.33333vw;
    margin-bottom: 2rem;
  }
}

#top main .works .hexagon-txt h3 {
  font-size: 3.4rem;
  font-weight: 700;
  margin-bottom: 2.8rem;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 480px) {
  #top main .works .hexagon-txt h3 {
    font-size: 6.4vw;
    margin-bottom: 2.2rem;
  }
}

#top main .works .hexagon-txt p {
  line-height: 1.8;
  margin-bottom: 3.5rem;
}

#top main .works .hexagon .btn {
  width: 260px;
  background: transparent;
  color: #fff;
}

#top main .works .hexagon .btn-border {
  border: 1px solid #fff;
  border-radius: 0;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}

#top main .works .hexagon .btn-border:before {
  background-image: url("../img/arrow06.svg");
  background-color: #fff;
}

@media screen and (max-width: 900px) {
  #top main .works .hexagon .btn-border:before {
    background: url("../img/arrow06.svg") no-repeat center center;
  }
}

@media screen and (min-width: 1025px) {
  #top main .works .hexagon .btn-border:hover:before {
    -webkit-transform: translateX(250px);
            transform: translateX(250px);
    background: url("../img/arrow06.svg") no-repeat center center;
    background-size: 21px 21px;
  }
}

#top main .works .works-1 {
  height: 60rem;
}

@media screen and (max-width: 900px) {
  #top main .works .works-1 {
    height: 40rem;
  }
}

@media screen and (max-width: 480px) {
  #top main .works .works-1 {
    height: 35rem;
  }
}

#top main .works .works-1 .contents {
  padding: 0;
}

#top main .works .express {
  background: url("../img/express-back.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#top main .works .express img {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
}

#top main .works .moving {
  background: url("../img/moving-back.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#top main .works .moving img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
}

#top main .works .rental {
  background: url("../img/rental-back.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 10rem;
}

#top main .works .rental img {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
}

#top main .recruit {
  background: url("../img/recruit-back.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 45rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
}

@media all and (-ms-high-contrast: none) {
  #top main .recruit {
    display: block;
    padding-top: 120px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}

@media screen and (max-width: 900px) {
  #top main .recruit {
    height: 30rem;
  }
}

#top main .recruit .wrapper {
  text-align: center;
}

@media screen and (max-width: 480px) {
  #top main .recruit .wrapper {
    width: 100%;
    padding: 0;
  }
}

#top main .recruit .wrapper h2 {
  font-size: 5.6rem;
  letter-spacing: 0.4em;
  margin: 0 0 4rem 0;
}

@media screen and (max-width: 480px) {
  #top main .recruit .wrapper h2 {
    font-size: 10.66667vw;
  }
}

#top main .recruit .wrapper h2 span {
  margin-top: 20px;
  font-size: 2rem;
  letter-spacing: 0.5em;
  display: block;
}

@media screen and (max-width: 480px) {
  #top main .recruit .wrapper h2 span {
    font-size: 4.8vw;
  }
}

#top main .recruit .wrapper .btn {
  width: 260px;
  color: #fff;
}

#top main .recruit .wrapper .btn-border {
  border: 1px solid #fff;
  background: transparent;
}

#top main .recruit .wrapper .btn-border:before {
  background-image: url("../img/arrow06.svg");
  background-color: #fff;
}

@media screen and (max-width: 900px) {
  #top main .recruit .wrapper .btn-border:before {
    background: url("../img/arrow06.svg") no-repeat center center;
  }
}

@media screen and (min-width: 1025px) {
  #top main .recruit .wrapper .btn-border:hover:before {
    -webkit-transform: translateX(250px);
            transform: translateX(250px);
    background: url("../img/arrow06.svg") no-repeat center center;
    background-size: 21px 21px;
  }
}

#top main .form-navi {
  padding: 10rem 0;
}

@media screen and (max-width: 480px) {
  #top main .form-navi {
    padding: 2rem 0;
  }
}

#top main .form-navi .wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 480px) {
  #top main .form-navi .wrapper {
    display: block;
  }
}

#top main .form-navi .wrapper .contents {
  width: 50%;
  text-align: center;
  padding: 2.8rem;
}

@media screen and (max-width: 480px) {
  #top main .form-navi .wrapper .contents {
    width: 100%;
    padding: 4rem 0;
  }
}

#top main .form-navi .wrapper .contents:first-child {
  border-right: solid #707070 1px;
}

@media screen and (max-width: 480px) {
  #top main .form-navi .wrapper .contents:first-child {
    border-right: 0;
    border-bottom: solid #707070 1px;
  }
}

#top main .form-navi .wrapper .contents h2 {
  font-size: 2.8rem;
  letter-spacing: 0.4em;
  margin-bottom: 3rem;
}

@media screen and (max-width: 480px) {
  #top main .form-navi .wrapper .contents h2 {
    font-size: 7.46667vw;
  }
}

#top main .form-navi .wrapper .contents h2 span {
  margin-top: 12px;
  font-size: 1.3rem;
  letter-spacing: 0.5em;
  font-weight: 500;
  display: block;
}

@media screen and (max-width: 480px) {
  #top main .form-navi .wrapper .contents h2 span {
    font-size: 3.46667vw;
    margin-bottom: 2rem;
  }
}

#top main .form-navi .wrapper .contents p {
  line-height: 1.8;
  margin-bottom: 5.2rem;
}

@media screen and (max-width: 900px) {
  #top main .form-navi .wrapper .contents p {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 480px) {
  #top main .form-navi .wrapper .contents p {
    margin-bottom: 2rem;
    font-size: 3.73333vw;
  }
}

.form {
  padding: 80px 0;
}

.form .wrapper {
  max-width: 954px;
}

.form .wrapper .step-list {
  margin-bottom: 65px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid #86B5E3;
}

.form .wrapper .step-list li {
  margin-right: -2px;
  width: 33.333%;
  height: 42px;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #86B5E3;
  letter-spacing: 0.2em;
  font-weight: normal;
  border-right: 2px solid #86B5E3;
}

.form .wrapper .step-list li:after {
  margin-top: -10px;
  position: absolute;
  right: -12px;
  top: 50%;
  width: 21px;
  height: 21px;
  background: url("../img/arrow03.svg") no-repeat left top/21px 21px;
  z-index: 1;
  content: "";
}

.form .wrapper .step-list li:last-child {
  border-right: none;
}

.form .wrapper .step-list li:last-child:after {
  display: none;
}

.form .wrapper .step-list li.on {
  color: #fff;
  background-color: #0066CC;
  border-color: #0066CC;
}

.form .wrapper .step-list li.on:after {
  background-image: url("../img/arrow02.svg");
}

.form .wrapper .step-list li:last-child.on {
  border-right: 1px solid #0066CC;
}

@media screen and (max-width: 760px) {
  .form .wrapper .step-list {
    margin: 0 -6.4rem 65px;
  }
  .form .wrapper .step-list li {
    letter-spacing: 0;
  }
}

.form .wrapper .mid-txt {
  margin-bottom: 33px;
  font-weight: normal;
  line-height: 1.5;
  text-align: center;
}

.form .wrapper .required {
  display: inline-block;
  padding: 8px 5px;
  width: 64px;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.2;
  text-align: center;
  font-family: "IBM Plex Sans", sans-serif;
  background-color: #0066CC;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.form .wrapper .any {
  background-color: #5A5A5A;
}

.form .wrapper input[type="text"], .form .wrapper input[type="tel"], .form .wrapper input[type="email"], .form .wrapper select, .form .wrapper textarea {
  padding: 5px 10px;
  width: 100%;
  height: 34px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border: 1px solid #B5B5B5;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.form .wrapper input[type="text"].wid01, .form .wrapper input[type="tel"].wid01, .form .wrapper input[type="email"].wid01, .form .wrapper select.wid01, .form .wrapper textarea.wid01 {
  width: 340px;
}

.form .wrapper select {
  padding: 0 7px;
  width: 340px;
  background: url("../img/arrow04.svg") no-repeat right 15px center/12px 7px;
}

.form .wrapper select.wid01 {
  width: 100%;
}

.form .wrapper select::-ms-expand {
  display: none;
}

.form .wrapper placeholder-shown {
  color: #CBCBCB;
}

.form .wrapper ::-webkit-input-placeholder {
  color: #CBCBCB;
}

.form .wrapper :-moz-placeholder {
  color: #CBCBCB;
  opacity: 1;
}

.form .wrapper ::-moz-placeholder {
  color: #CBCBCB;
  opacity: 1;
}

.form .wrapper :-ms-input-placeholder {
  color: #CBCBCB;
}

.form .wrapper textarea {
  height: 220px;
  line-height: 1.5;
}

.form .wrapper input[type="checkbox"] {
  display: none;
}

.form .wrapper input[type="checkbox"] + span {
  padding: 3px 0 4px 29px;
  display: inline-block;
  cursor: default;
  font-size: 1.4rem;
  line-height: 1.3;
  background: url("../img/check_bg.svg") no-repeat left 2px/20px 20px;
}

.form .wrapper input[type="checkbox"]:checked + span {
  background-image: url("../img/check_on_bg.png");
}

.form .wrapper .agree {
  margin-bottom: 55px;
  font-weight: normal;
  text-align: center;
}

.form .wrapper .agree input[type="checkbox"] + span {
  padding: 4px 3px 6px 35px;
  background: url("../img/check_bg02.svg") no-repeat left center/24px;
}

@media screen and (max-width: 480px) {
  .form .wrapper .agree input[type="checkbox"] + span {
    background-size: 1.5em auto;
  }
}

.form .wrapper .agree input[type="checkbox"]:checked + span {
  background-image: url("../img/check_on_bg02.png");
}

.form .wrapper .agree a {
  padding-right: 10px;
  display: inline-block;
  /*color: #1571DA;*/
  background: url("../img/win_icon.svg") no-repeat right 6px/8px 8px;
}

@media screen and (min-width: 1025px) {
  .form .wrapper .agree a:hover {
    text-decoration: underline;
  }
}

@media screen and (max-width: 480px) {
  .form .wrapper .agree a {
    background-position: right 5px;
  }
}

@media screen and (max-width: 760px) {
  .form .wrapper .agree {
    margin: 0 -20px 55px;
  }
}

.form .wrapper table {
  margin-bottom: 93px;
  width: 100%;
  border-spacing: 0;
}

.form .wrapper table th,
.form .wrapper table td {
  padding: 38px 0 38px 30px;
  font-size: 1.4rem;
  font-weight: normal;
  text-align: left;
  vertical-align: top;
  border-bottom: 4px solid #E3E3E3;
}

@media screen and (max-width: 760px) {
  .form .wrapper table th,
  .form .wrapper table td {
    padding: 25px 0;
    float: left;
    width: 100% !important;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}

.form .wrapper table th p,
.form .wrapper table td p {
  margin: 8px 0 24px;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.2em;
}

.form .wrapper table th .time-list,
.form .wrapper table td .time-list {
  margin-bottom: 15px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.form .wrapper table th .time-list li,
.form .wrapper table td .time-list li {
  margin-right: 18px;
  font-size: 1.6rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.form .wrapper table th .time-list li input[type="text"], .form .wrapper table th .time-list li select,
.form .wrapper table td .time-list li input[type="text"],
.form .wrapper table td .time-list li select {
  margin-right: 6px;
  width: 84px;
  font-size: 1.4rem;
  background-position: right 10px center;
}

.form .wrapper table th .time-list:last-child,
.form .wrapper table td .time-list:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 480px) {
  .form .wrapper table th .time-list li,
  .form .wrapper table td .time-list li {
    margin-right: 3%;
    white-space: nowrap;
  }
  .form .wrapper table th .time-list li input[type="text"], .form .wrapper table th .time-list li select,
  .form .wrapper table td .time-list li input[type="text"],
  .form .wrapper table td .time-list li select {
    padding: 0 4px;
    margin-right: 1.5vw;
    width: 19vw;
  }
}

@media screen and (max-width: 480px) and (max-width: 480px) {
  .form .wrapper table th .time-list li input[type="text"], .form .wrapper table th .time-list li select,
  .form .wrapper table td .time-list li input[type="text"],
  .form .wrapper table td .time-list li select {
    font-size: 3.73333vw;
  }
}

@media screen and (max-width: 480px) {
  .form .wrapper table th .time-list li:last-child,
  .form .wrapper table td .time-list li:last-child {
    margin-right: 0;
  }
}

.form .wrapper table th .time-list01,
.form .wrapper table td .time-list01 {
  margin-bottom: 46px;
}

.form .wrapper table th .add-list,
.form .wrapper table td .add-list {
  margin-top: -20px;
}

.form .wrapper table th .add-list li,
.form .wrapper table td .add-list li {
  margin-top: 20px;
}

.form .wrapper table th .add-link,
.form .wrapper table td .add-link {
  display: inline-block;
  margin-left: 10px;
  color: #0066CC;
  cursor: pointer;
}

@media screen and (min-width: 1025px) {
  .form .wrapper table th .add-link:hover,
  .form .wrapper table td .add-link:hover {
    opacity: 0.7;
  }
}

@media screen and (max-width: 900px) {
  .form .wrapper table th .add-link,
  .form .wrapper table td .add-link {
    margin: 10px 0 0;
  }
}

.form .wrapper table th .notes,
.form .wrapper table td .notes {
  margin: 12px 0 25px;
  display: block;
  color: #CC1A1A;
}

.form .wrapper table th .radio-list,
.form .wrapper table td .radio-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.form .wrapper table th .radio-list li,
.form .wrapper table td .radio-list li {
  margin-right: 45px;
  font-size: 1.6rem;
}

.form .wrapper table th .radio-list li input[type='radio'],
.form .wrapper table td .radio-list li input[type='radio'] {
  display: none;
}

.form .wrapper table th .radio-list li input[type='radio'] + span,
.form .wrapper table td .radio-list li input[type='radio'] + span {
  padding: 1px 0 3.5px 28px;
  display: inline-block;
  cursor: default;
  background: url("../img/radio_bg.svg") no-repeat left top/20px 20px;
}

.form .wrapper table th .radio-list li input[type='radio']:checked + span,
.form .wrapper table td .radio-list li input[type='radio']:checked + span {
  background-image: url("../img/radio_on_bg.png");
}

@media screen and (max-width: 1024px) {
  .form .wrapper table th .radio-list li,
  .form .wrapper table td .radio-list li {
    margin-right: 30px;
  }
}

.form .wrapper table th .list02,
.form .wrapper table td .list02 {
  margin-top: -8px;
  display: block;
}

.form .wrapper table th .list02 li,
.form .wrapper table td .list02 li {
  margin: 15px 7px 0;
}

.form .wrapper table th .list03,
.form .wrapper table td .list03 {
  margin-bottom: 38px;
}

.form .wrapper table th .list03 li,
.form .wrapper table td .list03 li {
  margin-right: 20px;
}

@media screen and (max-width: 900px) {
  .form .wrapper table th .list03,
  .form .wrapper table td .list03 {
    display: block;
  }
  .form .wrapper table th .list03 li,
  .form .wrapper table td .list03 li {
    margin-top: 10px;
  }
}

@media screen and (max-width: 480px) {
  .form .wrapper table th .list03 li,
  .form .wrapper table td .list03 li {
    margin-right: 0;
  }
}

.form .wrapper table th .list04,
.form .wrapper table td .list04 {
  margin-bottom: 50px;
}

.form .wrapper table th .list04 li,
.form .wrapper table td .list04 li {
  margin-right: 20px;
}

@media screen and (max-width: 900px) {
  .form .wrapper table th .list04,
  .form .wrapper table td .list04 {
    display: block;
  }
  .form .wrapper table th .list04 li,
  .form .wrapper table td .list04 li {
    margin-top: 10px;
  }
}

@media screen and (max-width: 480px) {
  .form .wrapper table th .list04 li,
  .form .wrapper table td .list04 li {
    margin-right: 0;
  }
}

.form .wrapper table th .ttl,
.form .wrapper table td .ttl {
  margin-bottom: 20px;
  letter-spacing: 0;
}

.form .wrapper table th .ttl .small,
.form .wrapper table td .ttl .small {
  font-size: 1.4rem;
}

.form .wrapper table th {
  padding: 45px 80px 25px 0;
  position: relative;
  width: 28%;
  font-size: 1.6rem;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 900px) {
  .form .wrapper table th {
    width: 30%;
    letter-spacing: 0;
  }
}

.form .wrapper table th .required {
  position: absolute;
  top: 38px;
  right: 5px;
}

.form .wrapper table th .required02 {
  top: 91px;
}

.form .wrapper table th .required03 {
  top: 145px;
}

.form .wrapper table th .required04 {
  top: 278px;
}

@media screen and (max-width: 760px) {
  .form .wrapper table th {
    padding-bottom: 0;
    border-bottom: none;
  }
}

.form .wrapper .submit {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.form .wrapper .submit li {
  margin: 0 20px;
  width: 360px;
  position: relative;
  border: 1px solid #333;
}

.form .wrapper .submit li input {
  width: 100%;
  height: 45px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 900;
  text-align: center;
  -moz-appearance: none;
       appearance: none;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (min-width: 1025px) {
  .form .wrapper .submit li:hover {
    opacity: 0.7;
  }
}

.form .wrapper .submit .next-btn {
  position: relative;
}

.form .wrapper .submit .next-btn:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 21px;
  height: 100%;
  content: '';
  -webkit-transition: all .3s;
  transition: all .3s;
  -webkit-transform: translateX(0) translateY(0) rotate(0deg);
          transform: translateX(0) translateY(0) rotate(0deg);
  background: #0066CC url("../img/arrow02.svg") no-repeat center center;
}

@media screen and (max-width: 900px) {
  .form .wrapper .submit .next-btn:before {
    height: 21px;
    top: calc(50% - 10px);
    left: calc(100% - 10px);
    background: url("../img/arrow02.svg") no-repeat center center;
  }
}

@media screen and (min-width: 1025px) {
  .form .wrapper .submit .next-btn:hover {
    opacity: 1;
  }
  .form .wrapper .submit .next-btn:hover:before {
    -webkit-transform: translateX(350px);
            transform: translateX(350px);
    background: url("../img/arrow02.svg") no-repeat center center;
  }
}

.form .wrapper .submit .sub-btn:before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  content: "";
}

.form .wrapper .submit .sub-btn.on:before {
  display: none;
}

@media screen and (min-width: 1025px) {
  .form .wrapper .submit .sub-btn:hover {
    opacity: 1;
  }
  .form .wrapper .submit .sub-btn.on:hover {
    opacity: 0.7;
  }
}

.form .wrapper .submit .btn-blue {
  border-color: #8C8C8C;
}

.form .wrapper .submit .btn-blue:after {
  display: none;
}

.form .wrapper .submit .btn-blue input {
  color: #fff !important;
  font-weight: 900;
  background-color: #8C8C8C;
}

.form .wrapper .submit .btn-blue.on {
  border-color: #0066CC;
}

.form .wrapper .submit .btn-blue.on input {
  background-color: #0066CC;
}

@media screen and (max-width: 480px) {
  .form .wrapper .step-list {
    margin: 0 -2rem 40px;
  }
  .form .wrapper .step-list li {
    font-size: 3.2vw;
  }
  .form .wrapper .required {
    font-size: 3.73333vw;
  }
  .form .wrapper input[type="text"].wid01, .form .wrapper input[type="tel"].wid01, .form .wrapper input[type="email"].wid01, .form .wrapper select.wid01 {
    width: 100%;
  }
  .form .wrapper select {
    width: 100%;
  }
  .form .wrapper input[type="checkbox"] + span {
    font-size: 3.73333vw;
    background-size: 1.5em auto;
  }
  .form .wrapper input[type="checkbox"] + span br {
    display: inline-block;
  }
  .form .wrapper table {
    margin-bottom: 60px;
  }
  .form .wrapper table th p, .form .wrapper table td p {
    font-size: 4.26667vw;
  }
  .form .wrapper table th .ttl .small, .form .wrapper table td .ttl .small {
    font-size: 3.73333vw;
  }
  .form .wrapper table th .radio-list, .form .wrapper table td .radio-list {
    margin-top: -10px;
    display: block;
  }
  .form .wrapper table th .radio-list li, .form .wrapper table td .radio-list li {
    margin-top: 10px;
    font-size: 4.26667vw;
  }
  .form .wrapper table th .radio-list li input[type='radio'] + span, .form .wrapper table td .radio-list li input[type='radio'] + span {
    background-size: 1.2em 1.2em;
  }
  .form .wrapper table th .time-list li, .form .wrapper table td .time-list li {
    font-size: 3.73333vw;
  }
  .form .wrapper table th .time-list .li-style, .form .wrapper table td .time-list .li-style {
    margin-top: 10px;
    width: 100%;
  }
  .form .wrapper table th {
    padding: 25px 80px 0 0;
    font-size: 4.26667vw;
  }
  .form .wrapper table th .required {
    top: 18px;
    right: 0;
  }
  .form .wrapper table th .required02, .form .wrapper table th .required03, .form .wrapper table th .required04 {
    display: none;
  }
}

.form .confirm {
  margin-bottom: 20px;
}

.form .confirm table {
  margin-bottom: 35px !important;
}

.form .confirm table td {
  padding-top: 45px !important;
  line-height: 1.5;
}

@media screen and (max-width: 480px) {
  .form .confirm table td {
    padding-top: 25px !important;
  }
}

.form .confirm .submit .btn-blue {
  border-color: #0066CC;
}

.form .confirm .submit .btn-blue input {
  background-color: #0066CC;
}

.form .errorMsg {
  margin-bottom: 20px;
}

.form .errorMsg li {
  color: #F00;
  font-size: 1.4rem;
  line-height: 1.5;
}

#estimate main .ttl-box {
  padding: 115px 0 42px;
}

#estimate main .ttl-box h3 {
  margin-bottom: 27px;
  text-align: center;
}

#estimate main .ttl-box p {
  line-height: 1.8;
  font-weight: 400;
  text-align: center;
}

#estimate main .ttl-box .large {
  margin-bottom: 37px;
  font-size: 2.4rem;
  line-height: 1.6;
  font-weight: bold;
}

#estimate main .ttl-box .large span {
  border-bottom: 1px solid #333;
}

@media screen and (max-width: 480px) {
  #estimate main .ttl-box {
    padding: 60px 0 25px;
  }
  #estimate main .ttl-box .large {
    font-size: 5.33333vw;
  }
}

#estimate main .contact-box {
  padding: 40px 0 47px;
  text-align: center;
  background-color: #EBF7FF;
}

#estimate main .contact-box h3 {
  margin-bottom: 18px;
  color: #0066CC;
  font-size: 2.6rem;
  line-height: 1.54;
}

#estimate main .contact-box p {
  letter-spacing: 0;
}

#estimate main .contact-box .tel-box {
  margin-bottom: 15px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

#estimate main .contact-box .tel-box .ttl {
  margin-right: 18px;
  font-size: 1.8rem;
  font-weight: bold;
}

#estimate main .contact-box .tel-box .tel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

#estimate main .contact-box .tel-box .tel a {
  padding-left: 25px;
  display: inline-block;
  font-size: 4.1rem;
  font-weight: bold;
  line-height: 1.2;
  font-family: Arial, Helvetica, "sans-serif";
  background: url("../img/tel-icon.svg") no-repeat left 14px;
  background-size: 16px 23px;
}

#estimate main .contact-box .tel-box .tel span {
  margin-left: 5px;
  display: inline-block;
  width: 125px;
  font-size: 1.4rem;
  line-height: 1.4;
  text-align: center;
}

@media screen and (max-width: 760px) {
  #estimate main .contact-box .tel-box {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  #estimate main .contact-box .tel-box .ttl {
    margin: 0 0 10px;
    width: 100%;
  }
  #estimate main .contact-box .tel-box .tel {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #estimate main .contact-box .tel-box .tel span {
    width: 100%;
  }
}

#estimate main .contact-box .iphone a {
  margin: 0 10px;
  font-size: 1.8rem;
  font-weight: bold;
  font-family: Arial, Helvetica, "sans-serif";
}

@media screen and (max-width: 480px) {
  #estimate main .contact-box h3 {
    font-size: 5.86667vw;
  }
}

#content .form {
  padding: 100px 0;
}

#content .form .step-list {
  margin-bottom: 104px;
}

#content .form h3 {
  margin-bottom: 50px;
  padding-bottom: 20px;
  font-size: 1.6rem;
  letter-spacing: 0.2em;
  border-bottom: 4px solid #E3E3E3;
}

#content .form h3 .required {
  margin: 0 10px 0 23px;
  font-weight: normal;
  vertical-align: 2px;
}

#content .form h3 .note {
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: 0;
}

#content .form h4 {
  margin-bottom: 25px;
  padding: 10px 12px;
  position: relative;
  font-weight: 500;
  cursor: pointer;
  background: rgba(0, 102, 204, 0.1);
}

#content .form h4:after {
  margin-top: -4px;
  position: absolute;
  top: 50%;
  right: 15px;
  width: 15px;
  height: 9px;
  -webkit-transition: .3s;
  transition: .3s;
  background: url("../img/arrow05.svg") no-repeat left top/15px 9px;
  content: "";
}

#content .form h4.on:after {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

#content .form .check-box {
  margin-bottom: 65px;
}

#content .form .check-box .inner {
  display: none;
}

#content .form .check-box .inner.on {
  display: block;
}

#content .form .check-box .check-list {
  margin: 0 10px 24px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

#content .form .check-box .check-list > li {
  margin-right: 13%;
  width: 40%;
  font-weight: normal;
}

@media screen and (max-width: 900px) {
  #content .form .check-box .check-list > li {
    margin-right: 2%;
    width: 49%;
  }
}

#content .form .check-box .check-list > li:last-child {
  margin-right: 0;
}

#content .form .check-box .check-list > li ul {
  margin-bottom: 34px;
}

#content .form .check-box .check-list > li ul li {
  margin-bottom: 15px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 1.4rem;
}

#content .form .check-box .check-list > li ul li p {
  width: 75px;
}

#content .form .check-box .check-list > li ul li p input[type="text"] {
  margin-right: 5px;
  width: 40px;
  height: 24px;
  padding: 3px 5px;
}

#content .form .check-box .check-list > li ul li p input[type="text"]:disabled {
  color: #999;
}

#content .form .check-box .check-list > li ul li .txt {
  width: 95px;
  margin-right: -18px;
}

#content .form .submit li:after {
  display: none;
}

#content .form .submit li input {
  color: #5D5D5D;
  font-weight: normal;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 760px) {
  #content .form h3 .note {
    margin: 10px 0 0;
    display: block;
  }
  #content .form .check-box {
    margin-bottom: 65px;
  }
  #content .form .check-box .check-list {
    margin: 0 0 24px;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  #content .form .check-box .check-list > li {
    margin-right: 0;
    width: 100%;
  }
}

@media screen and (max-width: 480px) {
  #content .form {
    padding: 60px 0;
  }
  #content .form .step-list {
    margin-bottom: 60px;
  }
  #content .form h3 {
    font-size: 4.26667vw;
  }
  #content .form h3 .note {
    font-size: 3.73333vw;
  }
  #content .form .check-box .check-list > li ul li {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    font-size: 3.73333vw;
  }
  #content .form .check-box .check-list > li ul li p {
    text-align: right;
  }
  #content .form .check-box .check-list > li ul li .txt {
    margin-right: 0;
  }
  #content .form .submit {
    margin-top: -15px;
    display: block;
  }
  #content .form .submit li {
    margin-top: 15px;
    width: auto;
  }
}

#thanks .form {
  padding: 100px 0;
}

#thanks .form .step-list {
  margin-bottom: 104px;
}

#thanks .form h3 {
  margin-bottom: 58px;
  color: #000;
  font-size: 2.6rem;
  text-align: center;
}

#thanks .form p {
  margin-bottom: 95px;
  color: #222;
  line-height: 1.5;
  font-weight: normal;
  letter-spacing: 0;
  text-align: center;
}

#thanks .form .btn-border {
  margin: 0 auto;
  width: 360px;
  display: block;
}

@media screen and (max-width: 480px) {
  #thanks .form {
    padding: 60px 0;
  }
  #thanks .form .step-list {
    margin-bottom: 60px;
  }
  #thanks .form h3 {
    margin-bottom: 40px;
    font-size: 6.93333vw;
  }
  #thanks .form p {
    margin-bottom: 60px;
  }
  #thanks .form .btn-border {
    width: 90%;
  }
}

#contact .main-visual {
  background-image: url("../img/contact-main_img.jpg");
}

#contact .form {
  padding: 100px 0;
}

#contact .form table {
  margin-bottom: 60px;
}

#contact .form table tr:last-child th,
#contact .form table tr:last-child td {
  border-bottom: none;
}

#contact .form .agree {
  margin-bottom: 100px;
}

@media screen and (min-width: 1025px) {
  #contact .form .agree a:hover {
    text-decoration: underline;
  }
}

#recruit .main-visual {
  background-image: url("../img/recruit-main_img.jpg");
}

#recruit main .wrapper {
  max-width: 954px;
}

#recruit .message {
  margin-bottom: 100px;
  padding: 82px 0 188px;
  background: url("../img/recruit-bg01.jpg") no-repeat center bottom/cover;
}

#recruit .message .link-navi li .on {
  color: #fff !important;
}

#recruit .message h3 {
  margin-bottom: 55px;
  color: #fff;
}

#recruit .message p {
  color: #fff;
  font-size: 1.8rem;
  line-height: 2.17;
  font-weight: normal;
  text-align: center;
}

@media screen and (max-width: 480px) {
  #recruit .message {
    margin-bottom: 60px;
    padding: 50px 0 90px;
  }
  #recruit .message h3 {
    margin-bottom: 40px;
  }
  #recruit .message p {
    font-size: 4vw;
    letter-spacing: 0;
  }
}

#recruit .recruit {
  margin-bottom: 20px;
}

#recruit .recruit h3 {
  margin-bottom: 70px;
  height: 300px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 2.4rem;
  letter-spacing: 0.4em;
  font-family: 'Noto Serif JP', serif;
  text-align: center;
  background: url("../img/recruit-bg02.jpg") no-repeat center top/cover;
}

#recruit .recruit .info-box {
  margin-bottom: 60px;
}

#recruit .recruit .info-box .tab-box {
  margin: 0 20px;
}

@media screen and (max-width: 480px) {
  #recruit .recruit h3 {
    height: 220px;
    font-size: 6.4vw;
  }
  #recruit .recruit .info-box {
    margin-bottom: 40px;
  }
  #recruit .recruit .info-box .tab-box {
    margin: 0;
  }
}

#recruit .form {
  padding: 20px 0 150px;
}

#recruit .form h3 {
  margin-bottom: 70px;
  padding: 25px 0;
  color: #000;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.5em;
  text-align: center;
  background-color: #EBF7FF;
}

#recruit .form table {
  margin-bottom: 15px;
}

#recruit .form table tr:last-child th,
#recruit .form table tr:last-child td {
  border-bottom: none;
}

#recruit .form .agree {
  margin-bottom: 95px;
}

@media screen and (max-width: 480px) {
  #recruit .form {
    padding-bottom: 80px;
  }
  #recruit .form h3 {
    margin-bottom: 40px;
    font-size: 5.33333vw;
  }
  #recruit .form .agree {
    margin-bottom: 55px;
  }
}

#privacy .main-visual {
  background: none;
}

#privacy .main-visual h2 {
  color: #333;
  letter-spacing: 0.1em;
}

#privacy .txt-inner {
  padding: 100px 0 124px;
}

@media screen and (max-width: 480px) {
  #privacy .txt-inner {
    padding: 60px 0 70px;
  }
}

#privacy .txt-inner .wrapper {
  max-width: 756px;
}

#privacy .txt-inner .wrapper p {
  margin-bottom: 23px;
  line-height: 1.8;
  font-weight: 400;
}

#privacy .txt-inner .wrapper .txt01 {
  margin-bottom: 55px;
}

#privacy .txt-inner .wrapper .ttl {
  margin-bottom: 0;
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
}

#privacy .txt-inner .wrapper ol {
  margin: 0 0 25px -23px;
}

#privacy .txt-inner .wrapper ol li {
  list-style: decimal;
  line-height: 1.8;
  font-weight: normal;
  letter-spacing: 0.02em;
}

#privacy .txt-inner .wrapper ol li ol {
  margin: 10px 0 5px -23px;
}

#privacy .txt-inner .wrapper .r-txt {
  text-align: right;
}

#company .main-visual {
  background-image: url("../img/company-main_img.jpg");
}

#company main .wrapper {
  max-width: 954px;
}

#company .greeting {
  padding: 82px 0 100px;
}

#company .greeting .link-navi li a {
  color: #000;
  border-bottom-color: #E3E3E3;
}

#company .greeting .img-box {
  margin: 0 auto;
  max-width: 756px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#company .greeting .img-box .photo-box {
  margin-top: 3px;
  width: 34.5%;
}

#company .greeting .img-box .photo-box img {
  width: 100%;
}

#company .greeting .img-box .txt-box {
  width: 60.7%;
}

#company .greeting .img-box .txt-box p {
  margin-bottom: 28px;
  color: #000;
  line-height: 1.81;
  font-weight: normal;
}

#company .greeting .img-box .txt-box .last {
  margin-bottom: 0;
  font-size: 1.4rem;
  text-align: right;
  letter-spacing: 0.1em;
}

#company .greeting .img-box .txt-box .last span {
  margin-left: 10px;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.2em;
}

#company .company {
  padding: 100px 0 140px;
  background-color: #FCFCFC;
}

#company .company h3 {
  margin-bottom: 25px;
}

#company .company .com-table th {
  color: #0066CC;
}

#company .company .com-table td .map-btn {
  margin-left: 20px;
  padding: 9px 16px;
  display: inline-block;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  background-color: #0066CC;
}

@media screen and (min-width: 1025px) {
  #company .company .com-table td .map-btn:hover {
    opacity: 0.7;
  }
}

#company .service {
  padding: 100px 0 150px;
}

#company .service h3 {
  margin-bottom: 77px;
}

#company .service .img-box {
  margin-bottom: 85px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#company .service .img-box .txt-box {
  width: 48%;
}

#company .service .img-box .txt-box .ttl-box {
  margin-bottom: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#company .service .img-box .txt-box .ttl-box h4 {
  margin: 5px 0 0;
  color: #0066CC;
  font-family: "Noto Sans JP", sans-serif;
  text-align: left;
}

#company .service .img-box .txt-box .ttl-box h4 span {
  margin-bottom: 20px;
}

#company .service .img-box .txt-box p {
  margin-bottom: 25px;
  color: #222;
  font-weight: normal;
  line-height: 1.81;
}

#company .service .img-box .txt-box p:last-child {
  margin-bottom: 0;
}

#company .service .img-box .txt-box .box-btn a {
  color: #fff;
  width: 350px;
  border-color: #0066CC;
  background-color: #0066CC;
}

#company .service .img-box .txt-box .box-btn a:before {
  background: #fff url("../img/arrow06.svg") no-repeat center center;
}

@media screen and (max-width: 900px) {
  #company .service .img-box .txt-box .box-btn a:before {
    background: url("../img/arrow07.svg") no-repeat center center;
  }
}

@media screen and (min-width: 1025px) {
  #company .service .img-box .txt-box .box-btn a:hover:before {
    -webkit-transform: translateX(340px);
            transform: translateX(340px);
    background: url("../img/arrow07.svg") no-repeat center center;
  }
}

#company .service .img-box .photo-box {
  width: 44.3%;
}

#company .service .img-box:last-child {
  margin-bottom: 0;
}

#company .service .img-box02 {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

#company .service .img-box02 .txt-box .ttl-box {
  margin-bottom: 35px;
}

@media screen and (max-width: 760px) {
  #company .img-box {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
  #company .img-box .photo-box {
    margin-bottom: 20px;
    width: 100% !important;
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
        -ms-flex-order: 0;
            order: 0;
  }
  #company .img-box .txt-box {
    width: 100% !important;
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
}

@media screen and (max-width: 480px) {
  #company .greeting {
    padding: 50px 0 60px;
  }
  #company .greeting .img-box .txt-box .last {
    font-size: 3.73333vw;
  }
  #company .greeting .img-box .txt-box .last span {
    font-size: 4.8vw;
  }
  #company .company {
    padding: 60px 0 80px;
  }
  #company .company .com-table td .map-btn {
    margin-left: 10px;
    padding: 5px 10px;
    font-size: 3.2vw;
  }
  #company .service {
    padding: 60px 0 80px;
  }
  #company .service h3 {
    margin-bottom: 45px;
  }
  #company .service .img-box {
    margin-bottom: 50px;
  }
  #company .service .img-box .txt-box .box-btn {
    text-align: center;
  }
  #company .service .img-box .txt-box .box-btn a {
    width: 100%;
  }
}

.floating-banner {
  position: fixed;
  z-index: 200;
  bottom: 120px;
  right: 0;
}

@media screen and (max-width: 760px) {
  .floating-banner {
    bottom: 0;
    position: -webkit-sticky;
    position: sticky;
  }
}

.floating-banner:hover {
  -webkit-filter: brightness(110%);
          filter: brightness(110%);
}

@media screen and (max-width: 760px) {
  .floating-banner:hover {
    -webkit-filter: none;
            filter: none;
  }
}

.floating-banner input {
  display: none;
}

.floating-banner a {
  position: relative;
  visibility: visible;
  opacity: 1;
}

.floating-banner .pc {
  display: inline-block;
}

.floating-banner .pc .pc-img {
  width: 300px;
}

@media screen and (max-width: 760px) {
  .floating-banner .pc {
    display: none;
  }
}

.floating-banner label.btn {
  display: inline;
  position: absolute;
  top: -15px;
  left: -15px;
  width: auto;
  padding: 0;
  cursor: pointer;
  z-index: 250;
  visibility: visible;
  opacity: 1;
}

@media screen and (max-width: 760px) {
  .floating-banner label.btn {
    display: none;
  }
}

.floating-banner input:checked ~ a,
.floating-banner input:checked ~ label.btn {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.floating-banner .sp {
  display: none;
}

@media screen and (max-width: 760px) {
  .floating-banner .sp {
    display: block;
    width: 100vw;
  }
}

#notfound .mainwrap {
  padding: 250px 0 350px;
  background-image: url("../img/404back.jpg");
  background-size: contain;
  background-position: bottom right;
  background-repeat: no-repeat;
}

@media screen and (max-width: 900px) {
  #notfound .mainwrap {
    background-size: 120%;
    padding: 30vw 0 42vw;
  }
}

@media (min-width: 1281px) {
  #notfound .mainwrap {
    background-size: 1280px;
  }
}

#notfound .mainwrap .wrapper {
  max-width: 954px;
}

#notfound .mainwrap .wrapper h2 {
  margin-bottom: 30px;
  text-align: center;
  line-height: 1.5;
}

#notfound .mainwrap .wrapper p {
  line-height: 1.8;
  text-align: center;
}

#notfound .mainwrap .wrapper p:hover {
  opacity: 0.8;
}

#notfound .mainwrap .wrapper p a {
  margin-top: 50px;
  text-decoration: underline;
}
/*# sourceMappingURL=styles.css.map */