@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Staatliches&family=Zen+Kaku+Gothic+New:wght@400;700&family=Zen+Old+Mincho&display=swap");
@media (max-width: 480px) {
  .displayPConly {
    display: none;
  }
}

@media (max-width: 870px) {
  .displayPConly {
    display: none;
  }
}

html,
body,
main,
ul,
h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
  padding: 0;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.6em;
  -webkit-text-size-adjust: 100%;
}

@media (max-width: 870px) {
  body {
    font-size: 1.4rem;
  }
}

a,
a > span {
  -webkit-transition: 0.6s;
  transition: 0.6s;
  text-decoration: none;
}

li {
  list-style: none;
}

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

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

/*演出*/
.text__slideIn {
  -webkit-animation: slideIn 1.6s;
          animation: slideIn 1.6s;
}

@-webkit-keyframes slideIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes slideIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.fadeUp {
  -webkit-animation-name: fadeUpAnime;
          animation-name: fadeUpAnime;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

.slideLeft {
  -webkit-animation-name: slideLeftAnime;
          animation-name: slideLeftAnime;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes slideLeftAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes slideLeftAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

.slideRight {
  -webkit-animation-name: slideRightAnime;
          animation-name: slideRightAnime;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes slideRightAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes slideRightAnime {
  from {
    opacity: 0;
    -webkit-transform: translateX(100px);
            transform: translateX(100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

.fadeUpTrigger,
.SlideinLeftTrigger,
.SlideinRightTrigger {
  opacity: 0;
}

/*-------------------------------------------------
BTN
--------------------------------------------------*/
.btn-basic, .btn-estimate {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.btn-basic a, .btn-estimate a {
  background: url(../images/common/icon_arrow_right.svg) no-repeat right 20px center;
  background-size: 1.4rem;
  background-color: rgba(0, 13, 55, 0.9);
  border-radius: 6px;
  text-align: center;
  min-width: 400px;
  width: 400px;
  height: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.8rem;
  letter-spacing: 0.2rem;
}

@media (max-width: 1050px) {
  .btn-basic a, .btn-estimate a {
    background-size: 1rem;
    background-position: right 16px center;
  }
}

@media (max-width: 870px) {
  .btn-basic a, .btn-estimate a {
    width: 100%;
    min-width: auto;
    height: auto;
    padding: 2rem 1rem;
    font-size: 1.7rem;
    font-weight: bold;
  }
}

.btn-basic a:hover, .btn-estimate a:hover {
  background: url(../images/common/icon_arrow_right.svg) no-repeat right 16px center;
  background-size: 1.4rem;
  background-color: #3c92ab;
}

@media (max-width: 1050px) {
  .btn-basic a:hover, .btn-estimate a:hover {
    background-size: 1rem;
    background-position: right 12px center;
  }
}

.btn-estimate a {
  background: url(../images/common/icon_arrow_right.svg) no-repeat right 20px center;
  background-size: 1.4rem;
  background-color: rgba(219, 0, 52, 0.9);
}

@media (max-width: 1050px) {
  .btn-estimate a {
    background-size: 1rem;
    background-position: right 16px center;
  }
}

.btn-estimate a:hover {
  background: url(../images/common/icon_arrow_right.svg) no-repeat right 16px center;
  background-size: 1.4rem;
  background-color: #ff843d;
}

@media (max-width: 1050px) {
  .btn-estimate a:hover {
    background-size: 1rem;
    background-position: right 12px center;
  }
}

.btn-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}

@media (max-width: 870px) {
  .btn-center .btn-basic, .btn-center .btn-estimate {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
}

/*-------------------------------------------------
HEADER
--------------------------------------------------*/
.gHeader {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background-color: rgba(0, 13, 55, 0.9);
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  z-index: 98;
}

.gHeader-inner {
  padding: 16px 20px 16px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media (max-width: 870px) {
  .gHeader-inner {
    padding: 0 10px;
    background-color: rgba(0, 13, 55, 0);
  }
}

@media (max-width: 480px) {
  .gHeader-inner {
    padding: 0 10px;
  }
}

.gHeader .gHeader-logo {
  margin-right: auto;
}

.gHeader .gHeader-logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.gHeader .gHeader-logo a img {
  height: 30px;
}

@media (max-width: 1050px) {
  .gHeader .gHeader-logo a img {
    height: 24px;
  }
}

@media (max-width: 480px) {
  .gHeader .gHeader-logo a img {
    width: 280px;
    margin: 4px 0 0 0;
  }
}

.gHeader .siteNav .drawer__hidden {
  display: none;
}

@media (max-width: 1050px) {
  .gHeader .siteNav .drawer-content {
    width: 85%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 100%;
    z-index: 100;
    background: rgba(0, 0, 0, 0.8);
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
}

.gHeader .siteNav .drawer-content-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media (max-width: 1050px) {
  .gHeader .siteNav .drawer-content-inner {
    display: block;
    padding: 4rem 2rem 0;
  }
}

.gHeader .siteNav .drawer-content-inner .siteNav-ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 0 0 0;
}

@media (max-width: 1050px) {
  .gHeader .siteNav .drawer-content-inner .siteNav-ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.gHeader .siteNav .drawer-content-inner .siteNav-ul li {
  list-style: none;
  margin: 0 30px 0 0;
}

@media (max-width: 1050px) {
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li {
    -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
    margin: 0 0 40px 0;
  }
}

@media (max-width: 480px) {
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
  }
}

.gHeader .siteNav .drawer-content-inner .siteNav-ul li a {
  color: #fff;
  display: block;
  position: relative;
  letter-spacing: 0.1rem;
}

.gHeader .siteNav .drawer-content-inner .siteNav-ul li a:after {
  content: " ";
  display: block;
  height: 1px;
  width: 100%;
  background: #db0034;
  position: absolute;
  bottom: -6px;
  left: 0;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.gHeader .siteNav .drawer-content-inner .siteNav-ul li a:hover {
  color: #db0034;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.gHeader .siteNav .drawer-content-inner .siteNav-ul li a:hover:after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

@media (max-width: 1050px) {
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.service a {
    background: url(../images/common/icon_service.svg) no-repeat top center;
    background-size: 60px;
  }
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.price a {
    background: url(../images/common/icon_price.svg) no-repeat top center;
    background-size: 50px;
  }
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.estimate a {
    background: url(../images/common/icon_estimate.svg) no-repeat top center;
    background-size: 50px;
  }
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.company a {
    background: url(../images/common/icon_company.svg) no-repeat top center;
    background-size: 50px;
  }
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.service a,
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.price a,
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.estimate a,
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.company a {
    display: block;
    position: relative;
    text-align: center;
    padding: 10px;
    width: 100%;
    min-height: 70px;
  }
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.service a span,
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.price a span,
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.estimate a span,
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.company a span {
    position: absolute;
    bottom: 0;
    left: 0;
    display: inline-block;
    width: 100%;
  }
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.service a:after,
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.price a:after,
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.estimate a:after,
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.company a:after {
    display: none;
  }
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.service a:hover,
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.price a:hover,
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.estimate a:hover,
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.company a:hover {
    color: #fff;
  }
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.service a:hover:after,
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.price a:hover:after,
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.estimate a:hover:after,
  .gHeader .siteNav .drawer-content-inner .siteNav-ul li.company a:hover:after {
    display: none;
  }
}

.gHeader .siteNav .drawer-content-inner .siteNav-ul .current a {
  color: #db0034;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.gHeader .siteNav .drawer-content-inner .siteNav-ul .current a:after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.gHeader .siteNav .drawer-content-inner .gHeader_btn a {
  background-color: #db0034;
  color: #fff;
  width: 140px;
  height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: bold;
  font-size: 1.4rem;
}

@media (max-width: 1050px) {
  .gHeader .siteNav .drawer-content-inner .gHeader_btn a {
    background-color: #db0034;
    color: #fff;
    width: 100%;
    height: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-weight: bold;
    font-size: 1.4rem;
  }
}

.gHeader .siteNav .drawer-content-inner .gHeader_btn a:hover {
  background-color: #fff;
  color: #db0034;
}

@media (max-width: 1050px) {
  .gHeader .drawer__open {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 40px;
    width: 40px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    z-index: 98;
    /* 重なり順を一番下に */
    cursor: pointer;
  }
  .gHeader .drawer__open span,
  .gHeader .drawer__open span:before,
  .gHeader .drawer__open span:after {
    content: "";
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background: #fff;
    -webkit-transition: 0.5s;
    transition: 0.5s;
    position: absolute;
  }
  .gHeader .drawer__open span:before {
    bottom: 8px;
  }
  .gHeader .drawer__open span:after {
    top: 8px;
  }
  .gHeader #drawer__check:checked ~ .drawer__open span {
    background: rgba(255, 255, 255, 0);
  }
  .gHeader #drawer__check:checked ~ .drawer__open span::before {
    bottom: 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .gHeader #drawer__check:checked ~ .drawer__open span::after {
    top: 0;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .gHeader #drawer__check:checked ~ .drawer-content {
    right: 15%;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
  .gHeader .drawer__close {
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    position: fixed;
    top: 0;
    right: 100%;
    z-index: 99;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
  .gHeader #drawer__check:checked ~ .drawer__close {
    left: 0;
  }
}

/*-------------------------------------------------
MAIN
--------------------------------------------------*/
main {
  margin: -100px 0 0 0;
}

@media (max-width: 870px) {
  main {
    margin: -80px 0 0 0;
  }
}

@media (max-width: 480px) {
  main {
    margin: -41px 0 0 0;
  }
}

/*-------------------------------------------------
MAINVISUAL
・TOP
・SECOND
--------------------------------------------------*/
.mainvisual {
  height: 65vh;
  overflow: hidden;
  background: url(../images/top/img_mainvisual.png) no-repeat bottom left;
  background-size: cover;
  position: relative;
}

@media (max-width: 1050px) {
  .mainvisual {
    height: auto;
    background-position: top center;
  }
}

.mainvisual-inner {
  padding: 150px 0 0 50px;
}

@media (max-width: 1050px) {
  .mainvisual-inner {
    padding: 120px 20px 20px 30px;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media (max-width: 480px) {
  .mainvisual-inner {
    display: block;
    padding: 120px 10px 20px;
  }
}

.mainvisual-catchcopy {
  width: 50%;
  margin: 0 0 10vh 0;
}

@media (max-width: 1050px) {
  .mainvisual-catchcopy {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

@media (max-width: 480px) {
  .mainvisual-catchcopy {
    width: 100%;
    margin: 0 0 2vh 0;
  }
}

.mainvisual-catchcopy h1 {
  font-family: "Zen Old Mincho", serif;
  font-size: 4.6rem;
  line-height: 5.6rem;
  letter-spacing: 0.2rem;
  font-weight: 400;
  color: #fff;
  margin: 0 0 40px 0;
  margin: 0 0 26px 0;
}

.mainvisual-catchcopy h1 + p {
  color: #fff;
  font-size: 2.2rem;
  line-height: 5rem;
  margin: 0 0 40px 0;
  font-family: "Zen Old Mincho", serif;
}

@media (max-width: 1050px) {
  .mainvisual-catchcopy h1 {
    font-size: 3.2rem;
    line-height: 3.4rem;
    margin: 0 0 20px 0;
  }
}

@media (max-width: 870px) {
  .mainvisual-catchcopy h1 {
    font-size: 3.2rem;
    line-height: 3.4rem;
    margin: 0 0 20px 0;
  }
}

@media (max-width: 480px) {
  .mainvisual-catchcopy h1 {
    font-size: 2rem;
    line-height: 2.6rem;
    text-align: center;
    margin: 0 auto;
  }
}

.mainvisual-catchcopy h1 + p {
  line-height: 2.6rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 1.8rem;
  margin: 0 0 40px 0;
}

@media (max-width: 870px) {
  .mainvisual-catchcopy h1 {
    text-align: center;
  }
  .mainvisual-catchcopy h1 + p {
    margin: 0 0 0 0;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .mainvisual-catchcopy h1 {
    text-align: center;
    padding-bottom: 2rem;
  }
  .mainvisual-catchcopy h1 + p {
    font-size: 1.6rem;
    line-height: 1.8rem;
    margin: 0 auto 2rem;
  }
}

.mainvisual-catchcopy .btn-basic, .mainvisual-catchcopy .btn-estimate {
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
}

@media (max-width: 870px) {
  .mainvisual-catchcopy .btn-basic a, .mainvisual-catchcopy .btn-estimate a {
    display: none;
  }
}

.mainvisual-nav {
  /* padding: 46px 0 0 0;*/
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: rgba(255, 255, 255, 0.2);
  padding: 20px;
  max-width: 800px;
}

@media (max-width: 1050px) {
  .mainvisual-nav {
    width: 30%;
    padding: 10px;
  }
}

@media (max-width: 480px) {
  .mainvisual-nav {
    width: 80%;
    margin: 0 auto;
    background-color: rgba(255, 255, 255, 0.5);
  }
}

.mainvisual-nav ul {
  /*margin: 0 40px;*/
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media (max-width: 870px) {
  .mainvisual-nav ul {
    margin: 0 0 0 0;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.mainvisual-nav ul li {
  -ms-flex-preferred-size: 49.5%;
      flex-basis: 49.5%;
  margin: 0 0 10px 0;
}

.mainvisual-nav ul li:last-child {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}

@media (max-width: 1050px) {
  .mainvisual-nav ul li {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 4px 0;
  }
  .mainvisual-nav ul li:last-child {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
}

.mainvisual-nav ul li a {
  background: url(../images/common/icon_arrow_right.svg) no-repeat right 20px center;
  background-size: 1.4rem;
  background-color: rgba(0, 13, 55, 0.9);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 8vh;
  max-height: 80px;
  padding: 16px 8px 16px 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #fff;
}

@media (max-width: 1050px) {
  .mainvisual-nav ul li a {
    background-size: 1rem;
    background-position: right 16px center;
  }
}

@media (max-width: 1050px) {
  .mainvisual-nav ul li a {
    padding: 4px 8px;
  }
}

@media (max-width: 870px) {
  .mainvisual-nav ul li a {
    background-color: rgba(0, 13, 55, 0.8);
    background-image: none;
    display: block;
    text-align: center;
    width: 100%;
    height: auto;
    padding: 2rem 0.4rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #fff;
  }
}

.mainvisual-nav ul li a:hover {
  background: url(../images/common/icon_arrow_right.svg) no-repeat right 16px center;
  background-size: 1.4rem;
  background-color: rgba(60, 146, 171, 0.7);
}

@media (max-width: 1050px) {
  .mainvisual-nav ul li a:hover {
    background-size: 1rem;
    background-position: right 12px center;
  }
}

@media (max-width: 870px) {
  .mainvisual-nav ul li a:hover {
    background-image: none;
    background-color: rgba(60, 146, 171, 0.7);
  }
}

.mainvisual-nav ul li a .inner {
  width: 100%;
  border-left: 3px solid #db0034;
  padding: 3px 0 3px 12px;
}

@media (max-width: 1050px) {
  .mainvisual-nav ul li a .inner {
    font-size: 1.6rem;
    letter-spacing: 0.2rem;
    padding: 1px 0 1px 10px;
  }
}

@media (max-width: 870px) {
  .mainvisual-nav ul li a .inner {
    width: 100%;
    border: none;
    padding: 0 0 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.mainvisual-nav ul li a .inner .slug {
  display: block;
  font-size: 1.4rem;
  font-family: "Staatliches", cursive;
  letter-spacing: 0.1rem;
  padding: 0 0 0.4rem 0;
}

@media (max-width: 1050px) {
  .mainvisual-nav ul li a .inner .slug {
    font-size: 1.2rem;
    padding: 0 0 0 0;
    display: none;
  }
}

@media (max-width: 870px) {
  .mainvisual-nav ul li a .inner .slug {
    border-bottom: 3px solid #db0034;
    margin-bottom: 0.4rem;
  }
}

.mainvisual-2nd {
  height: 260px;
  overflow: hidden;
  background-size: cover;
}

@media (max-width: 870px) {
  .mainvisual-2nd {
    background-color: #000d37;
    background-position: top 30px right;
    height: 200px;
  }
}

@media (max-width: 480px) {
  .mainvisual-2nd {
    background-position: bottom right;
    background-repeat: none;
    height: 140px;
  }
}

.mainvisual-2nd-catchcopy {
  padding: 100px 0 0 80px;
}

@media (max-width: 870px) {
  .mainvisual-2nd-catchcopy {
    padding: 90px 2rem 0;
    margin: 0 0 20px 0;
  }
}

@media (max-width: 480px) {
  .mainvisual-2nd-catchcopy {
    padding: 40px 2rem 0;
    margin: 0 0 20px 0;
  }
}

.mainvisual-2nd-catchcopy .breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 10px 0;
}

@media (max-width: 870px) {
  .mainvisual-2nd-catchcopy .breadcrumb {
    display: none;
  }
}

.mainvisual-2nd-catchcopy .breadcrumb li {
  font-size: 1.4rem;
  color: #fff;
}

.mainvisual-2nd-catchcopy .breadcrumb li a {
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.2rem;
}

.mainvisual-2nd-catchcopy .breadcrumb li a:after {
  content: "＞";
  color: #fff;
  height: 1.6rem;
  font-size: 1.1rem;
  font-weight: bold;
  margin: 0 6px;
}

.mainvisual-2nd-catchcopy h1 {
  font-family: "Zen Old Mincho", serif;
  font-size: 3.6rem;
  line-height: 4.6rem;
  font-weight: 400;
  color: #fff;
  margin: 0 0 40px 0;
  margin: 0 0 8px 0;
}

@media (max-width: 870px) {
  .mainvisual-2nd-catchcopy h1 {
    font-size: 3.2rem;
    line-height: 3.4rem;
    margin: 0 0 20px 0;
  }
}

@media (max-width: 480px) {
  .mainvisual-2nd-catchcopy h1 {
    font-size: 1.8rem;
    line-height: 3rem;
  }
}

.mainvisual-2nd-catchcopy h1 + p {
  color: #fff;
  font-size: 2rem;
  line-height: 5rem;
  margin: 0 0 40px 0;
  font-family: "Zen Old Mincho", serif;
}

@media (max-width: 870px) {
  .mainvisual-2nd-catchcopy h1 + p {
    font-size: 1.6rem;
    line-height: 2.4rem;
    margin-bottom: 20px;
  }
}

@media (max-width: 480px) {
  .mainvisual-2nd-catchcopy h1 + p {
    font-size: 1.4rem;
    line-height: 2.4rem;
    margin-bottom: 20px;
  }
}

@media (max-width: 870px) {
  .mainvisual-2nd-catchcopy h1 {
    margin: 1rem 0 10px 0;
  }
}

@media (max-width: 480px) {
  .mainvisual-2nd-catchcopy h1 {
    margin: 1.6rem 0 0 0;
  }
}

.mainvisual-2nd-catchcopy h1 + p {
  line-height: 2.6rem;
  font-size: 1.8rem;
}

@media (max-width: 870px) {
  .mainvisual-2nd-catchcopy h1 + p {
    margin: 0 0 0 0;
    font-size: 1.4rem;
    line-height: 1.8rem;
  }
}

main .service {
  background: #021f31 url(../images/service/mv_service.jpg) no-repeat center center;
}

main .original {
  background: #021f31 url(../images/service/mv_original.jpg) no-repeat center center;
}

main .digital {
  background: #021f31 url(../images/service/mv_digital.jpg) no-repeat top right;
}

main .microfilm {
  background: #021f31 url(../images/service/mv_microfilm.jpg) no-repeat top right;
}

main .completed {
  background: #021f31 url(../images/service/mv_completed.jpg) no-repeat top right;
}

main .company {
  background: #021f31 url(../images/company/mv_company.jpg) no-repeat top right;
}

.message .mainvisual-2nd {
  background-image: url(../images/company/img_message.png);
  background-position: center center;
}

/*-------------------------------------------------
TOP > PRESIDENT
--------------------------------------------------*/
.topPresident {
  overflow: hidden;
  background: url(../images/top/img_president.png) no-repeat center center;
  background-size: cover;
  padding: 80px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media (max-width: 870px) {
  .topPresident {
    padding: 40px 0;
  }
}

@media (max-width: 480px) {
  .topPresident {
    padding: 20px 0;
  }
}

@media (max-width: 870px) {
  .topPresident {
    background-size: 130%;
  }
}

@media (max-width: 480px) {
  .topPresident {
    background-size: cover;
    background-position: top right;
    padding: 20px 10px;
  }
}

.topPresident h1 {
  font-family: "Zen Old Mincho", serif;
  font-size: 4.6rem;
  line-height: 5.6rem;
  letter-spacing: 0.2rem;
  font-weight: 400;
  color: #fff;
  margin: 0 0 40px 0;
  font-size: 3rem;
  text-align: center;
}

.topPresident h1 + p {
  color: #fff;
  font-size: 2.2rem;
  line-height: 5rem;
  margin: 0 0 40px 0;
  font-family: "Zen Old Mincho", serif;
}

@media (max-width: 1050px) {
  .topPresident h1 {
    font-size: 3.2rem;
    line-height: 3.4rem;
    margin: 0 0 20px 0;
  }
}

@media (max-width: 870px) {
  .topPresident h1 {
    font-size: 3.2rem;
    line-height: 3.4rem;
    margin: 0 0 20px 0;
  }
}

@media (max-width: 480px) {
  .topPresident h1 {
    font-size: 2rem;
    line-height: 2.6rem;
    text-align: center;
    margin: 0 auto;
  }
}

.topPresident h1 + p {
  text-align: center;
}

@media (max-width: 480px) {
  .topPresident h1 {
    margin-bottom: 2rem;
  }
  .topPresident h1 + p {
    font-size: 1.6rem;
    line-height: 4rem;
    margin: 0 0 2rem 0;
  }
}

/*-------------------------------------------------
TOP > RECOMMEND
--------------------------------------------------*/
.recommend {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: url(../images/top/img_recommend.png) no-repeat top left;
  background-size: cover;
}

@media (max-width: 870px) {
  .recommend {
    display: block;
    text-align: center;
  }
}

.recommend h1 {
  font-size: 3rem;
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 20px;
}

@media (max-width: 870px) {
  .recommend h1 {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
}

.recommend h1 .slug {
  font-size: 1.4rem;
  display: block;
}

.recommend h1 + p {
  margin-bottom: 40px;
  min-height: 74px;
  display: block;
}

@media (max-width: 870px) {
  .recommend h1 + p {
    font-size: 1.4rem;
    margin-bottom: 10px;
    min-height: auto;
  }
}

.recommend .item-first {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 40px 0;
  -webkit-clip-path: polygon(0 0, 100% 0, 86% 100%, 0% 100%);
          clip-path: polygon(0 0, 100% 0, 86% 100%, 0% 100%);
  background: url(../images/top/img_recommend02.png) no-repeat top 20% right;
  background-size: cover;
}

@media (max-width: 870px) {
  .recommend .item-first {
    width: 100%;
    padding: 0 0;
    -webkit-clip-path: none;
            clip-path: none;
    background-size: cover;
    background-position: center center;
  }
}

.recommend .item-first .inner {
  width: 400px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: auto;
}

@media (max-width: 870px) {
  .recommend .item-first .inner {
    width: 100%;
    -webkit-clip-path: none;
            clip-path: none;
    padding: 10px;
  }
}

.recommend .item-first .inner h1 {
  color: #000d37;
}

.recommend .item-first .inner h1 .slug {
  color: #000d37;
}

.recommend .item-first .inner h1 + p {
  color: #000d37;
}

.recommend .item-second {
  width: 50%;
  -webkit-clip-path: polygon(14% 0, 100% 0, 100% 100%, 0% 100%);
          clip-path: polygon(14% 0, 100% 0, 100% 100%, 0% 100%);
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 40px 0;
}

@media (max-width: 870px) {
  .recommend .item-second {
    width: 100%;
    padding: 0 0;
    -webkit-clip-path: none;
            clip-path: none;
  }
}

.recommend .item-second .inner {
  width: 400px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: auto;
}

@media (max-width: 870px) {
  .recommend .item-second .inner {
    width: 100%;
    -webkit-clip-path: none;
            clip-path: none;
    padding: 10px;
  }
}

.recommend .item-second .inner h1 {
  color: #fff;
}

.recommend .item-second .inner h1 .slug {
  color: #fff;
}

.recommend .item-second .inner h1 + p {
  color: #fff;
}

/*-------------------------------------------------
TOP > SLIDE
--------------------------------------------------*/
#slide {
  margin: 0 auto;
  background-color: #f8f8f8;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#slide .swiper-container {
  width: 100%;
  text-align: center;
  padding: 6px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  margin: 0 0 0 0;
  /*    .swiper-slide-next,
    .swiper-slide-prev {
    }
    */
}

@media (max-width: 870px) {
  #slide .swiper-container {
    font-size: 1.4rem;
  }
}

#slide .swiper-container .swiper-wrapper {
  margin: 0;
  border: 1px solid red;
  width: 80%;
}

#slide .swiper-container .swiper-button-prev {
  left: 0;
}

#slide .swiper-container .swiper-button-prev::before {
  font-size: 1.4rem;
  color: #fff;
  background-color: #db0034;
  padding: 10px 30px 10px 40px;
  content: "<";
}

@media (max-width: 870px) {
  #slide .swiper-container .swiper-button-prev::before {
    padding: 10px;
  }
}

#slide .swiper-container .swiper-button-next {
  right: 0;
}

#slide .swiper-container .swiper-button-next::before {
  font-size: 1.4rem;
  color: #fff;
  background-color: #db0034;
  padding: 10px 40px 10px 30px;
  content: ">";
}

@media (max-width: 870px) {
  #slide .swiper-container .swiper-button-next::before {
    padding: 10px;
  }
}

#slide .swiper-container .swiper-button-prev::after,
#slide .swiper-container .swiper-button-next::after {
  display: none;
}

#slide .link {
  background-color: #7e001e;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#slide .link a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 1.2rem;
  width: 5rem;
  padding: 10px 0;
}

@media (max-width: 870px) {
  #slide .link a {
    width: 3rem;
  }
}

/*-------------------------------------------------
TOP > INFORMATION
--------------------------------------------------*/
.information {
  padding: 80px 0;
}

@media (max-width: 870px) {
  .information {
    padding: 40px 0;
  }
}

@media (max-width: 480px) {
  .information {
    padding: 20px 0;
  }
}

.information h1 {
  position: relative;
  padding: 0 65px;
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 40px;
}

@media (max-width: 870px) {
  .information h1 {
    margin-bottom: 20px;
    font-size: 1.8rem;
  }
}

.information h1:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background: #ccc;
}

.information h1 span {
  position: relative;
  padding: 0 1em;
  background: #fff;
}

.information-list {
  margin: 0 auto 80px;
  width: 900px;
}

@media (max-width: 870px) {
  .information-list {
    margin: 0 auto 20px;
    width: 100%;
  }
}

.information-list li {
  padding: 10px 0 10px 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 870px) {
  .information-list li {
    padding: 10px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.information-list li .date {
  font-weight: bold;
  padding: 0 10px 0 0;
  font-size: 1.4rem;
}

.information-list li .icon {
  color: #db0034;
  padding: 0 3px;
  font-size: 1.2rem;
  font-weight: bold;
  margin: 0 10px 0 0;
  border: 1px solid #db0034;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.information-list li a {
  background: url(../images/common/icon_arrow_gray_right.svg) no-repeat right 2% center;
  background-size: 14px;
  -webkit-transition: 0.6s;
  transition: 0.6s;
  width: 100%;
  color: #000d37;
}

@media (max-width: 870px) {
  .information-list li a {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    font-size: 1.4rem;
  }
}

.information-list li a:hover {
  background: url(../images/common/icon_arrow_gray_right.svg) no-repeat right 1% center;
  background-size: 14px;
}

.information-list li:nth-child(odd) {
  background-color: #f1f1f1;
}

@media (max-width: 870px) {
  .information .btn-basic, .information .btn-estimate {
    padding: 0 10px;
  }
}

/*-------------------------------------------------
SECOND > PAGE_NAVIGATION
--------------------------------------------------*/
.pageNavigation {
  background-color: #f1f1f1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 4px 40px;
  margin-bottom: 60px;
}

@media (max-width: 870px) {
  .pageNavigation {
    padding: 0;
    margin-bottom: 20px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

@media (max-width: 870px) {
  .pageNavigation li {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    text-align: center;
    margin: 0;
    padding: 0;
  }
}

.pageNavigation li a {
  background: url(../images/common/icon_arrow_bottom_accent_pink.svg) no-repeat left center;
  background-size: 14px;
  padding: 0 0 0 20px;
  margin: 0 2vw;
  color: #333;
  font-size: 1.4rem;
}

@media (max-width: 870px) {
  .pageNavigation li a {
    background-size: 10px;
    padding: 0 0 0 12px;
    margin: 0 1vw;
    background: none;
    display: block;
    padding: 10px;
  }
}

/*-------------------------------------------------
SECOND > ARTICLE
--------------------------------------------------*/
.BaseArticle {
  margin: 40px 0 80px;
}

.BaseArticle .headLine {
  border-bottom: 1px solid #dcdcdc;
  padding: 0 0 20px 0;
  margin: 0 0 40px;
}

@media (max-width: 870px) {
  .BaseArticle .headLine {
    margin: 0 0 10px;
    padding: 0 0 10px 0;
  }
}

.BaseArticle .headLine h1 {
  font-size: 3rem;
  line-height: 3.8rem;
  letter-spacing: 0.1rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: normal;
  margin: 0 auto;
  width: 100%;
  max-width: 1000px;
  padding: 0 40px 0;
  color: #333;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media (max-width: 870px) {
  .BaseArticle .headLine h1 {
    font-size: 1.8rem;
    line-height: 2.4rem;
  }
}

.BaseArticle .headLine h1 span {
  color: #db0034;
  display: block;
  font-size: 1.6rem;
  letter-spacing: 0.2rem;
  line-height: 1.4rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: bold;
  padding: 0 0 0.6rem 0;
}

@media (max-width: 870px) {
  .BaseArticle .headLine h1 span {
    font-size: 1.4rem;
    padding: 0 0 0.2rem 0;
  }
}

@media (max-width: 870px) {
  .BaseArticle .headLine h1 {
    padding: 0 10px 0;
    margin: 0 auto 0;
  }
}

.BaseArticle h2 {
  border-left: 1px solid #db0034;
  padding: 0 0 0 10px;
  color: #db0034;
  font-family: "Zen Old Mincho", serif;
  line-height: 3rem;
  margin-bottom: 16px;
  font-size: 2.2rem;
}

@media (max-width: 870px) {
  .BaseArticle h2 {
    font-size: 1.6rem;
  }
}

.BaseArticle h3 {
  margin-bottom: 1.6rem;
  font-family: "Zen Old Mincho", serif;
  font-size: 2rem;
  line-height: 2.8rem;
}

@media (max-width: 870px) {
  .BaseArticle h3 {
    font-size: 1.6rem;
  }
}

.BaseArticle h4 {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 1rem;
  line-height: 2.4rem;
  color: #000d37;
}

@media (max-width: 870px) {
  .BaseArticle h4 {
    font-size: 1.6rem;
  }
}

.BaseArticle h5 {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 0.4rem;
}

@media (max-width: 870px) {
  .BaseArticle h5 {
    font-size: 1.6rem;
  }
}

.BaseArticle h6 {
  font-size: 1.6rem;
  margin-bottom: 0.4rem;
}

@media (max-width: 870px) {
  .BaseArticle h6 {
    font-size: 1.6rem;
  }
}

.BaseArticle .inner {
  width: 100%;
  max-width: 1000px;
  padding: 0 40px;
  margin: 0 auto 160px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.BaseArticle .inner p {
  letter-spacing: 0.1rem;
  line-height: 2.8rem;
}

@media (max-width: 480px) {
  .BaseArticle .inner p {
    font-size: 1.4rem;
    line-height: 2.2rem;
  }
}

.BaseArticle .inner p a {
  color: #db0034;
}

.BaseArticle .inner p a:hover {
  color: #3c92ab;
  border-bottom: 1px dotted #3c92ab;
}

@media (max-width: 870px) {
  .BaseArticle .inner {
    font-size: 1.6rem;
    line-height: 2rem;
    padding: 0 10px;
    margin: 0 auto 40px;
  }
}

/*----------------------------------------
SECOND > ARTICLE > FLOAT
-----------------------------------------*/
.paragraph-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 80px 0;
  gap: 50px 50px;
}

.paragraph-img .img {
  width: 40%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.paragraph-img .paragraph {
  -ms-flex-preferred-size: 1;
      flex-basis: 1;
}

@media (max-width: 870px) {
  .paragraph-img {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 0 40px 0;
    gap: 0 0;
  }
  .paragraph-img .paragraph {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .paragraph-img .img {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
    margin: 0;
  }
}

.paragraph-img__Right {
  margin: 0 0 40px 0;
}

.paragraph-img__Right .img {
  float: right;
  width: 300px;
  margin: 0 0 20px 40px;
}

@media (max-width: 870px) {
  .paragraph-img__Right .img {
    width: 40%;
    margin: 0 0 1rem 1rem;
  }
}

.paragraph-img__Right .img img {
  width: 100%;
}

@media (max-width: 480px) {
  .paragraph-img__Right .img img {
    width: 150px;
    height: 150px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.paragraph-img__Left {
  margin: 0 0 40px 0;
}

.paragraph-img__Left img {
  float: left;
  width: 360px;
  margin: 0 40px 20px 0;
}

@media (max-width: 870px) {
  .paragraph-img__Left img {
    width: 40%;
    margin: 0 1rem 1rem 0;
  }
}

@media (max-width: 480px) {
  .paragraph-img__Left img {
    width: 150px;
    height: 150px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.paragraph-img__FullWidth img {
  width: 100%;
  margin: 0 0 0 0;
}

@media (max-width: 870px) {
  .paragraph-img__FullWidth_tab img {
    width: 100%;
    float: none;
    margin: 0 0 0 0;
  }
}

/*----------------------------------------
SECOND > ARTICLE > LIST
-----------------------------------------*/
.list_disk {
  margin: 0 0 40px 0;
}

.list_disk li {
  padding: 0 0 1rem 2rem;
  text-indent: -1rem;
}

.list_disk li:before {
  content: "●";
  color: #db0034;
  display: inline-block;
  width: 10px;
  height: 10px;
  font-size: 1.4rem;
}

.list_2column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.list_2column li {
  display: block;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/*----------------------------------------
SECOND > ARTICLE > TABLE
-----------------------------------------*/
.table_vertical {
  border-spacing: collapse;
  border-top: 1px solid #ccc;
  width: 100%;
  margin: 0 0 30px 0;
}

.table_vertical tr th {
  background-color: #f1f1f1;
  padding: 10px;
  width: 20%;
  text-align: left;
  border-bottom: 1px solid #ccc;
}

@media (max-width: 480px) {
  .table_vertical tr th {
    display: block;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-size: 1.4rem;
  }
}

.table_vertical tr td {
  padding: 10px;
  border-bottom: 1px solid #ccc;
}

@media (max-width: 480px) {
  .table_vertical tr td {
    display: block;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-size: 1.4rem;
  }
}

/*----------------------------------------
SECOND > ARTICLE > CARD
-----------------------------------------*/
.card_column .item {
  -ms-flex-preferred-size: 48%;
      flex-basis: 48%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 40px 0;
  color: #000d37;
}

.card_column .item .img {
  width: 200px;
}

.card_column .item .img img {
  border-radius: 4px;
  width: 200px;
  height: 130px;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 870px) {
  .card_column .item .img img {
    width: 100px;
    height: 100px;
  }
}

.card_column .item .txt {
  padding: 0 0 0 20px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.card_column .item .txt h2 {
  font-size: 1.8rem;
  border: none;
  color: #333;
  padding: 0 0 0 0;
  margin-bottom: 20px;
  line-height: 1.8rem;
}

@media (max-width: 870px) {
  .card_column .item .txt h2 {
    font-size: 1.6rem;
    margin: 0 0 0 0;
  }
}

.card_column .item .txt > p {
  font-size: 1.6rem;
  line-height: 2.4rem;
}

@media (max-width: 480px) {
  .card_column .item .txt > p {
    font-size: 1.4rem;
    line-height: 2rem;
  }
}

@media (max-width: 870px) {
  .card_column .item {
    margin: 0 0 20px 0;
  }
  .card_column .item:nth-child(even) {
    margin: 0 0 20px 0;
  }
}

.card_column a:hover .txt h2,
.card_column a:hover .txt > p {
  color: #3c92ab;
}

.card_column a:hover img {
  opacity: 0.8;
}

@media (max-width: 870px) {
  .card_1column {
    display: block;
  }
}

.card_2column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media (max-width: 870px) {
  .card_2column {
    display: block;
  }
}

@media (max-width: 870px) {
  .card_2column {
    margin: 0 0 20px 0;
  }
  .card_2column:nth-child(even) {
    margin: 0 0 20px 0;
  }
}

/*----------------------------------------
SECOND > COMMITEMENT
-----------------------------------------*/
.commitment {
  width: 1226px;
  margin: 0 auto 60px;
}

@media (max-width: 870px) {
  .commitment {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0 auto 20px;
  }
}

.commitment .headLine {
  z-index: 1;
  position: relative;
}

.commitment .headLine .mainVisual h1 {
  font-family: "Zen Old Mincho", serif;
  color: #fff;
  margin: -270px 0 0 80px;
  font-size: 3rem;
}

@media (max-width: 870px) {
  .commitment .headLine .mainVisual h1 {
    margin: -100px 0 0 40px;
  }
}

@media (max-width: 480px) {
  .commitment .headLine .mainVisual h1 {
    font-size: 1.8rem;
  }
}

@media (max-width: 870px) {
  .commitment .headLine .mainVisual img {
    width: 96%;
    max-width: 96%;
    display: block;
    margin: 0 auto;
  }
}

.commitment .inner {
  width: 100%;
  max-width: 870px;
  padding: 40px 40px 0 40px;
  margin: 100px auto 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: red;
  border-radius: 6px;
  z-index: 10;
  position: relative;
  background-color: #fff;
}

@media (max-width: 870px) {
  .commitment .inner {
    max-width: 90%;
    padding: 10px 10px 0 10px;
    margin: 10px auto 0;
  }
}

.commitment .inner .photo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 60px;
}

@media (max-width: 870px) {
  .commitment .inner .photo {
    margin-bottom: 0;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.commitment .inner .photo .img {
  width: 220px;
  height: 220px;
}

@media (max-width: 870px) {
  .commitment .inner .photo .img {
    width: 25%;
    height: auto;
  }
}

@media (max-width: 480px) {
  .commitment .inner .photo .img {
    width: 40%;
  }
}

.commitment .inner .photo .img img {
  border-radius: 50% 50%;
}

.commitment .inner .photo .profile {
  width: 540px;
}

@media (max-width: 870px) {
  .commitment .inner .photo .profile {
    width: 70%;
  }
}

@media (max-width: 480px) {
  .commitment .inner .photo .profile {
    width: 50%;
  }
}

.commitment .inner .photo .profile .name {
  font-size: 2.2rem;
  margin-bottom: 0.6rem;
}

@media (max-width: 870px) {
  .commitment .inner .photo .profile .name {
    font-size: 1.6rem;
  }
}

.commitment .inner .photo .profile .department {
  font-size: 1.4rem;
  margin-bottom: 20px;
}

@media (max-width: 870px) {
  .commitment .inner .photo .profile .department {
    margin-bottom: 4px;
  }
}

.commitment .inner .photo .profile .catch {
  color: #525252;
}

@media (max-width: 870px) {
  .commitment .inner .photo .profile .catch {
    font-size: 1.2rem;
  }
}

.commitment .inner .text {
  padding: 0 30px;
}

.commitment .inner .text h2 {
  color: #db0034;
  font-family: "Zen Old Mincho", serif;
  font-size: 2rem;
  margin-bottom: 20px;
}

@media (max-width: 870px) {
  .commitment .inner .text h2 {
    font-size: 1.6rem;
    margin-bottom: 10px;
  }
}

.commitment .inner .text p {
  letter-spacing: 0.1rem;
  line-height: 2.6rem;
}

/*----------------------------------------
SECOND > ESTIMATE
-----------------------------------------*/
.estimateInfo {
  background-color: #f1f1f1;
  padding-bottom: 40px;
}

@media (max-width: 870px) {
  .estimateInfo {
    padding: 20px 20px;
  }
}

.estimateInfo .headLine {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #db0034;
  padding: 20px 0;
}

@media (max-width: 870px) {
  .estimateInfo .headLine {
    width: 100%;
    margin: 0 auto 20px;
    padding: 10px 0;
  }
}

.estimateInfo .headLine h1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-size: 2.2rem;
  letter-spacing: 0.5rem;
}

@media (max-width: 870px) {
  .estimateInfo .headLine h1 {
    font-size: 1.6rem;
  }
}

.estimateInfo .headLine h1:before {
  content: "";
  width: 1px;
  height: 40px;
  background-color: #fff;
  margin-right: 30px;
  -webkit-transform: rotate(-35deg);
          transform: rotate(-35deg);
}

.estimateInfo .headLine h1:after {
  content: "";
  width: 1px;
  height: 40px;
  background-color: #fff;
  margin-left: 30px;
  -webkit-transform: rotate(35deg);
          transform: rotate(35deg);
}

.estimateInfo .inner {
  width: 1000px;
  margin: 0 auto;
}

@media (max-width: 870px) {
  .estimateInfo .inner {
    width: 100%;
  }
}

.estimateInfo .inner .step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 40px;
}

@media (max-width: 870px) {
  .estimateInfo .inner .step {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 20px;
  }
}

.estimateInfo .inner .step .item {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 20px 10px;
  border: 1px solid #fff;
  padding: 30px 10px;
  border-radius: 6px;
  -webkit-box-shadow: 0px 0px 15px -5px #cacaca;
          box-shadow: 0px 0px 15px -5px #cacaca;
  border-radius: 10px;
}

@media (max-width: 870px) {
  .estimateInfo .inner .step .item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.estimateInfo .inner .step .item .number {
  border-radius: 80%;
  width: 3rem;
  height: 3rem;
  background-color: #000d37;
  color: #fff;
  display: inline-block;
  font-size: 2rem;
  font-weight: bold;
  margin: 0 0 20px 0;
}

@media (max-width: 870px) {
  .estimateInfo .inner .step .item .number {
    text-align: center;
    width: 50px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 0 0 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.estimateInfo .inner .step .item img {
  height: 80px;
  margin-bottom: 10px;
}

@media (max-width: 870px) {
  .estimateInfo .inner .step .item img {
    height: auto;
    width: 16%;
    -ms-flex-preferred-size: 16%;
        flex-basis: 16%;
    margin: 0 0 0 0;
    padding: 0 1rem;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}

@media (max-width: 870px) {
  .estimateInfo .inner .step .item p {
    width: 80%;
    text-align: left;
    padding: 0 0 0 1rem;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

.estimateInfo .inner .step .arrow img {
  width: 160px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media (max-width: 870px) {
  .estimateInfo .inner .step .arrow {
    display: none;
  }
}

@media (max-width: 870px) {
  .estimateInfo .btn-estimate {
    margin-bottom: 20px;
  }
}

.estimateInfo_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #f1f1f1;
  padding: 10px 0;
  border-top: 1px solid #ccc;
}

@media (max-width: 870px) {
  .estimateInfo_list {
    margin: 0 auto 40px;
  }
}

.estimateInfo_list li {
  width: 200px;
}

@media (max-width: 870px) {
  .estimateInfo_list li {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
}

.estimateInfo_list li:first-child {
  border-right: 1px solid #f1f1f1;
}

.estimateInfo_list li a {
  text-align: center;
  width: 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: url(../images/common/icon_arrow_gray_right.svg) no-repeat right 6% center/0.8em;
  padding: 10px 0;
  color: #000d37;
}

.estimateInfo_list li a:hover {
  color: #3c92ab;
}

/*----------------------------------------
SECOND > CONNECTION
-----------------------------------------*/
.connection {
  margin: 0 0 80px 0;
}

@media (max-width: 870px) {
  .connection {
    margin: 0 0 20px 0;
  }
}

.connection .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 auto;
  padding: 0 0 0 0;
}

.connection .inner:after {
  content: "";
  display: block;
  width: 200px;
  height: 0;
}

@media (max-width: 870px) {
  .connection .inner {
    display: block;
  }
}

.connection .inner .item {
  width: 200px;
  margin: 0 0 10px 0;
}

@media (max-width: 870px) {
  .connection .inner .item {
    width: 100%;
    height: auto;
  }
  .connection .inner .item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 6px;
    border: 1px solid #ccc;
    padding: 10px;
    margin: 0;
  }
}

.connection .inner .item img {
  width: 100%;
  height: 140px;
  border-radius: 6px;
  background-size: cover;
}

@media (max-width: 870px) {
  .connection .inner .item img {
    width: 100px;
    height: 60px;
    margin: 0 10px 0 0;
  }
}

.connection .inner .item p {
  font-size: 1.4rem;
  padding: 0 0.2rem;
  text-align: center;
  color: #000d37;
}

.connection .inner .item:hover p {
  color: #3c92ab;
}

.connection .inner .item:hover img {
  opacity: 0.8;
}

/*-------------------------------------------------
FOOTER
--------------------------------------------------*/
footer {
  background-color: #000d37;
}

footer .inner {
  padding: 20px 60px;
}

@media (max-width: 870px) {
  footer .inner {
    padding: 10px;
    font-size: 1.4rem;
  }
}

footer .inner .footer-logo {
  margin-bottom: 20px;
}

@media (max-width: 870px) {
  footer .inner .footer-logo {
    margin-bottom: 0;
  }
}

footer .inner .footer-logo a img {
  height: 18px;
}

footer .inner .footer-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media (max-width: 870px) {
  footer .inner .footer-body {
    display: block;
  }
}

footer .inner .footer-body-main .address {
  color: #fff;
  margin: 0 0 40px 0;
}

@media (max-width: 870px) {
  footer .inner .footer-body-main .address {
    margin: 0 0 10px 0;
  }
}

footer .inner .footer-body .footer-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media (max-width: 870px) {
  footer .inner .footer-body .footer-list ul {
    margin-bottom: 10px;
  }
}

footer .inner .footer-body .footer-list ul li {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

footer .inner .footer-body .footer-list ul li a {
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
  display: block;
  text-align: center;
  padding: 6px 20px;
  color: #fff;
}

@media (max-width: 870px) {
  footer .inner .footer-body .footer-list ul li a {
    border: 1px solid #fff;
  }
}

footer .inner .footer-body .footer-list ul li:first-child a {
  border-right: none;
}

footer .copyright {
  background-color: #333;
  color: #fff;
  padding: 10px 0;
  text-align: center;
  font-size: 1.4rem;
  font-family: "Staatliches", cursive;
}

/*-------------------------------------------------
HIDDEN
--------------------------------------------------*/
.hidden {
  background: none;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.hidden-inner {
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.hidden-inner .gHeader-logo {
  margin-right: auto;
}

.hidden-inner .gHeader-logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.hidden-inner .gHeader-logo img {
  height: 30px;
}

#js-pagetop {
  position: fixed;
  width: 60px;
  height: 60px;
  border-radius: 8px 0 0 8px;
  background: #000;
  color: #fff;
  bottom: 10px;
  right: 0;
  cursor: pointer;
  font-weight: "Staatliches", cursive;
  font-weight: bold;
}

#js-pagetop span {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
  width: 100%;
  text-align: center;
  font-size: 14px;
}

.clearfix {
  display: block;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.clearfix:before {
  content: "";
  display: block;
  clear: both;
}

/*-------------------------------------------------
HIDDEN
--------------------------------------------------*/
.txtBottom {
  margin-bottom: 30px;
}

.icon {
  padding: 0 20px 0 0;
}

.icon_inquiry {
  background: url(../images/common/icon_inquiry.svg) no-repeat center right/1.6rem;
}

.icon_tel {
  background: url(../images/common/icon_tel.svg) no-repeat center right/1.6rem;
}

.icon_fax {
  background: url(../images/common/icon_fax.svg) no-repeat center right/1.6rem;
}

.icon_link {
  background: url(../images/common/icon_link.svg) no-repeat center right/1.6rem;
}

.icon_estimate {
  background: url(../images/common/icon_estimate2.svg) no-repeat center right/1.6rem;
}

.fadein {
  opacity: 0;
  -webkit-transform: translate(0, 50px);
          transform: translate(0, 50px);
  -webkit-transition: all 300ms;
  transition: all 300ms;
}

.fadein.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
/*# sourceMappingURL=base.css.map */