@charset "UTF-8";
/* Scss Document */
/******************************************
[utility]
******************************************/
.mt-0 {
  margin-top: 0 !important;
}

.mt-6 {
  margin-top: 6px !important;
}

.mt-12 {
  margin-top: 12px !important;
}

.mt-18 {
  margin-top: 18px !important;
}

.mt-24 {
  margin-top: 24px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mt-36 {
  margin-top: 36px !important;
}

.mt-42 {
  margin-top: 42px !important;
}

.mt-48 {
  margin-top: 48px !important;
}

.mt-54 {
  margin-top: 54px !important;
}

.mt-60 {
  margin-top: 60px !important;
}

.mt-66 {
  margin-top: 66px !important;
}

.mt-72 {
  margin-top: 72px !important;
}

.mt-78 {
  margin-top: 78px !important;
}

.mt-84 {
  margin-top: 84px !important;
}

.mt-90 {
  margin-top: 90px !important;
}

.mt-96 {
  margin-top: 96px !important;
}

.mt-102 {
  margin-top: 102px !important;
}

.mt-108 {
  margin-top: 108px !important;
}

.mt-114 {
  margin-top: 114px !important;
}

.mt-120 {
  margin-top: 120px !important;
}

.mt-126 {
  margin-top: 126px !important;
}

.mt-132 {
  margin-top: 132px !important;
}

.mt-138 {
  margin-top: 138px !important;
}

.mt-144 {
  margin-top: 144px !important;
}

.mt-150 {
  margin-top: 150px !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mr-6 {
  margin-right: 6px !important;
}

.mr-12 {
  margin-right: 12px !important;
}

.mr-18 {
  margin-right: 18px !important;
}

.mr-24 {
  margin-right: 24px !important;
}

.mr-30 {
  margin-right: 30px !important;
}

.mr-36 {
  margin-right: 36px !important;
}

.mr-42 {
  margin-right: 42px !important;
}

.mr-48 {
  margin-right: 48px !important;
}

.mr-54 {
  margin-right: 54px !important;
}

.mr-60 {
  margin-right: 60px !important;
}

.mr-66 {
  margin-right: 66px !important;
}

.mr-72 {
  margin-right: 72px !important;
}

.mr-78 {
  margin-right: 78px !important;
}

.mr-84 {
  margin-right: 84px !important;
}

.mr-90 {
  margin-right: 90px !important;
}

.mr-96 {
  margin-right: 96px !important;
}

.mr-102 {
  margin-right: 102px !important;
}

.mr-108 {
  margin-right: 108px !important;
}

.mr-114 {
  margin-right: 114px !important;
}

.mr-120 {
  margin-right: 120px !important;
}

.mr-126 {
  margin-right: 126px !important;
}

.mr-132 {
  margin-right: 132px !important;
}

.mr-138 {
  margin-right: 138px !important;
}

.mr-144 {
  margin-right: 144px !important;
}

.mr-150 {
  margin-right: 150px !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-6 {
  margin-bottom: 6px !important;
}

.mb-12 {
  margin-bottom: 12px !important;
}

.mb-18 {
  margin-bottom: 18px !important;
}

.mb-24 {
  margin-bottom: 24px !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.mb-36 {
  margin-bottom: 36px !important;
}

.mb-42 {
  margin-bottom: 42px !important;
}

.mb-48 {
  margin-bottom: 48px !important;
}

.mb-54 {
  margin-bottom: 54px !important;
}

.mb-60 {
  margin-bottom: 60px !important;
}

.mb-66 {
  margin-bottom: 66px !important;
}

.mb-72 {
  margin-bottom: 72px !important;
}

.mb-78 {
  margin-bottom: 78px !important;
}

.mb-84 {
  margin-bottom: 84px !important;
}

.mb-90 {
  margin-bottom: 90px !important;
}

.mb-96 {
  margin-bottom: 96px !important;
}

.mb-102 {
  margin-bottom: 102px !important;
}

.mb-108 {
  margin-bottom: 108px !important;
}

.mb-114 {
  margin-bottom: 114px !important;
}

.mb-120 {
  margin-bottom: 120px !important;
}

.mb-126 {
  margin-bottom: 126px !important;
}

.mb-132 {
  margin-bottom: 132px !important;
}

.mb-138 {
  margin-bottom: 138px !important;
}

.mb-144 {
  margin-bottom: 144px !important;
}

.mb-150 {
  margin-bottom: 150px !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.ml-6 {
  margin-left: 6px !important;
}

.ml-12 {
  margin-left: 12px !important;
}

.ml-18 {
  margin-left: 18px !important;
}

.ml-24 {
  margin-left: 24px !important;
}

.ml-30 {
  margin-left: 30px !important;
}

.ml-36 {
  margin-left: 36px !important;
}

.ml-42 {
  margin-left: 42px !important;
}

.ml-48 {
  margin-left: 48px !important;
}

.ml-54 {
  margin-left: 54px !important;
}

.ml-60 {
  margin-left: 60px !important;
}

.ml-66 {
  margin-left: 66px !important;
}

.ml-72 {
  margin-left: 72px !important;
}

.ml-78 {
  margin-left: 78px !important;
}

.ml-84 {
  margin-left: 84px !important;
}

.ml-90 {
  margin-left: 90px !important;
}

.ml-96 {
  margin-left: 96px !important;
}

.ml-102 {
  margin-left: 102px !important;
}

.ml-108 {
  margin-left: 108px !important;
}

.ml-114 {
  margin-left: 114px !important;
}

.ml-120 {
  margin-left: 120px !important;
}

.ml-126 {
  margin-left: 126px !important;
}

.ml-132 {
  margin-left: 132px !important;
}

.ml-138 {
  margin-left: 138px !important;
}

.ml-144 {
  margin-left: 144px !important;
}

.ml-150 {
  margin-left: 150px !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-6 {
  padding-top: 6px !important;
}

.pt-12 {
  padding-top: 12px !important;
}

.pt-18 {
  padding-top: 18px !important;
}

.pt-24 {
  padding-top: 24px !important;
}

.pt-30 {
  padding-top: 30px !important;
}

.pt-36 {
  padding-top: 36px !important;
}

.pt-42 {
  padding-top: 42px !important;
}

.pt-48 {
  padding-top: 48px !important;
}

.pt-54 {
  padding-top: 54px !important;
}

.pt-60 {
  padding-top: 60px !important;
}

.pt-66 {
  padding-top: 66px !important;
}

.pt-72 {
  padding-top: 72px !important;
}

.pt-78 {
  padding-top: 78px !important;
}

.pt-84 {
  padding-top: 84px !important;
}

.pt-90 {
  padding-top: 90px !important;
}

.pt-96 {
  padding-top: 96px !important;
}

.pt-102 {
  padding-top: 102px !important;
}

.pt-108 {
  padding-top: 108px !important;
}

.pt-114 {
  padding-top: 114px !important;
}

.pt-120 {
  padding-top: 120px !important;
}

.pt-126 {
  padding-top: 126px !important;
}

.pt-132 {
  padding-top: 132px !important;
}

.pt-138 {
  padding-top: 138px !important;
}

.pt-144 {
  padding-top: 144px !important;
}

.pt-150 {
  padding-top: 150px !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.pr-6 {
  padding-right: 6px !important;
}

.pr-12 {
  padding-right: 12px !important;
}

.pr-18 {
  padding-right: 18px !important;
}

.pr-24 {
  padding-right: 24px !important;
}

.pr-30 {
  padding-right: 30px !important;
}

.pr-36 {
  padding-right: 36px !important;
}

.pr-42 {
  padding-right: 42px !important;
}

.pr-48 {
  padding-right: 48px !important;
}

.pr-54 {
  padding-right: 54px !important;
}

.pr-60 {
  padding-right: 60px !important;
}

.pr-66 {
  padding-right: 66px !important;
}

.pr-72 {
  padding-right: 72px !important;
}

.pr-78 {
  padding-right: 78px !important;
}

.pr-84 {
  padding-right: 84px !important;
}

.pr-90 {
  padding-right: 90px !important;
}

.pr-96 {
  padding-right: 96px !important;
}

.pr-102 {
  padding-right: 102px !important;
}

.pr-108 {
  padding-right: 108px !important;
}

.pr-114 {
  padding-right: 114px !important;
}

.pr-120 {
  padding-right: 120px !important;
}

.pr-126 {
  padding-right: 126px !important;
}

.pr-132 {
  padding-right: 132px !important;
}

.pr-138 {
  padding-right: 138px !important;
}

.pr-144 {
  padding-right: 144px !important;
}

.pr-150 {
  padding-right: 150px !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-6 {
  padding-bottom: 6px !important;
}

.pb-12 {
  padding-bottom: 12px !important;
}

.pb-18 {
  padding-bottom: 18px !important;
}

.pb-24 {
  padding-bottom: 24px !important;
}

.pb-30 {
  padding-bottom: 30px !important;
}

.pb-36 {
  padding-bottom: 36px !important;
}

.pb-42 {
  padding-bottom: 42px !important;
}

.pb-48 {
  padding-bottom: 48px !important;
}

.pb-54 {
  padding-bottom: 54px !important;
}

.pb-60 {
  padding-bottom: 60px !important;
}

.pb-66 {
  padding-bottom: 66px !important;
}

.pb-72 {
  padding-bottom: 72px !important;
}

.pb-78 {
  padding-bottom: 78px !important;
}

.pb-84 {
  padding-bottom: 84px !important;
}

.pb-90 {
  padding-bottom: 90px !important;
}

.pb-96 {
  padding-bottom: 96px !important;
}

.pb-102 {
  padding-bottom: 102px !important;
}

.pb-108 {
  padding-bottom: 108px !important;
}

.pb-114 {
  padding-bottom: 114px !important;
}

.pb-120 {
  padding-bottom: 120px !important;
}

.pb-126 {
  padding-bottom: 126px !important;
}

.pb-132 {
  padding-bottom: 132px !important;
}

.pb-138 {
  padding-bottom: 138px !important;
}

.pb-144 {
  padding-bottom: 144px !important;
}

.pb-150 {
  padding-bottom: 150px !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.pl-6 {
  padding-left: 6px !important;
}

.pl-12 {
  padding-left: 12px !important;
}

.pl-18 {
  padding-left: 18px !important;
}

.pl-24 {
  padding-left: 24px !important;
}

.pl-30 {
  padding-left: 30px !important;
}

.pl-36 {
  padding-left: 36px !important;
}

.pl-42 {
  padding-left: 42px !important;
}

.pl-48 {
  padding-left: 48px !important;
}

.pl-54 {
  padding-left: 54px !important;
}

.pl-60 {
  padding-left: 60px !important;
}

.pl-66 {
  padding-left: 66px !important;
}

.pl-72 {
  padding-left: 72px !important;
}

.pl-78 {
  padding-left: 78px !important;
}

.pl-84 {
  padding-left: 84px !important;
}

.pl-90 {
  padding-left: 90px !important;
}

.pl-96 {
  padding-left: 96px !important;
}

.pl-102 {
  padding-left: 102px !important;
}

.pl-108 {
  padding-left: 108px !important;
}

.pl-114 {
  padding-left: 114px !important;
}

.pl-120 {
  padding-left: 120px !important;
}

.pl-126 {
  padding-left: 126px !important;
}

.pl-132 {
  padding-left: 132px !important;
}

.pl-138 {
  padding-left: 138px !important;
}

.pl-144 {
  padding-left: 144px !important;
}

.pl-150 {
  padding-left: 150px !important;
}

@media (min-width: 768px) {
  img.img-5 {
    display: block;
    width: 5%;
    height: auto;
    margin: auto;
  }

  img.img-10 {
    display: block;
    width: 10%;
    height: auto;
    margin: auto;
  }

  img.img-15 {
    display: block;
    width: 15%;
    height: auto;
    margin: auto;
  }

  img.img-20 {
    display: block;
    width: 20%;
    height: auto;
    margin: auto;
  }

  img.img-25 {
    display: block;
    width: 25%;
    height: auto;
    margin: auto;
  }

  img.img-30 {
    display: block;
    width: 30%;
    height: auto;
    margin: auto;
  }

  img.img-35 {
    display: block;
    width: 35%;
    height: auto;
    margin: auto;
  }

  img.img-40 {
    display: block;
    width: 40%;
    height: auto;
    margin: auto;
  }

  img.img-45 {
    display: block;
    width: 45%;
    height: auto;
    margin: auto;
  }

  img.img-50 {
    display: block;
    width: 50%;
    height: auto;
    margin: auto;
  }

  img.img-55 {
    display: block;
    width: 55%;
    height: auto;
    margin: auto;
  }

  img.img-60 {
    display: block;
    width: 60%;
    height: auto;
    margin: auto;
  }

  img.img-65 {
    display: block;
    width: 65%;
    height: auto;
    margin: auto;
  }

  img.img-70 {
    display: block;
    width: 70%;
    height: auto;
    margin: auto;
  }

  img.img-75 {
    display: block;
    width: 75%;
    height: auto;
    margin: auto;
  }

  img.img-80 {
    display: block;
    width: 80%;
    height: auto;
    margin: auto;
  }

  img.img-85 {
    display: block;
    width: 85%;
    height: auto;
    margin: auto;
  }

  img.img-90 {
    display: block;
    width: 90%;
    height: auto;
    margin: auto;
  }

  img.img-95 {
    display: block;
    width: 95%;
    height: auto;
    margin: auto;
  }

  img.img-100 {
    display: block;
    width: 100%;
    height: auto;
    margin: auto;
  }

  .col-mb {
    margin-bottom: 36px;
  }

  .mb-pc {
    margin-bottom: 36px;
  }

  .mb2-pc {
    margin-bottom: 24px;
  }

  .mb3-pc {
    margin-bottom: 12px;
  }

  .mb {
    margin-bottom: 36px;
  }

  .mb2 {
    margin-bottom: 24px;
  }

  .mb3 {
    margin-bottom: 12px;
  }

  .mb-lg {
    margin-bottom: 48px;
  }

  .mb-xl {
    margin-bottom: 60px;
  }

  .mb-xxl {
    margin-bottom: 72px;
  }

  .mb-xxxl {
    margin-bottom: 84px;
  }

  .mb-6-pc {
    margin-bottom: 6px;
  }

  .mb-12-pc {
    margin-bottom: 12px;
  }

  .mb-24-pc {
    margin-bottom: 24px;
  }

  .mb-36-pc {
    margin-bottom: 36px;
  }

  .mb-48-pc {
    margin-bottom: 48px;
  }

  .mb-60-pc {
    margin-bottom: 60px;
  }

  .secBgPdtMd {
    padding: 72px 0 0 0;
  }

  .secBgPdbMd {
    padding: 0 0 72px 0;
  }
}
@media screen and (max-width: 767px) {
  .sp-img5 img {
    display: block;
    width: 5%;
    height: auto;
    margin: auto;
  }

  .sp-img10 img {
    display: block;
    width: 10%;
    height: auto;
    margin: auto;
  }

  .sp-img15 img {
    display: block;
    width: 15%;
    height: auto;
    margin: auto;
  }

  .sp-img20 img {
    display: block;
    width: 20%;
    height: auto;
    margin: auto;
  }

  .sp-img25 img {
    display: block;
    width: 25%;
    height: auto;
    margin: auto;
  }

  .sp-img30 img {
    display: block;
    width: 30%;
    height: auto;
    margin: auto;
  }

  .sp-img35 img {
    display: block;
    width: 35%;
    height: auto;
    margin: auto;
  }

  .sp-img40 img {
    display: block;
    width: 40%;
    height: auto;
    margin: auto;
  }

  .sp-img45 img {
    display: block;
    width: 45%;
    height: auto;
    margin: auto;
  }

  .sp-img50 img {
    display: block;
    width: 50%;
    height: auto;
    margin: auto;
  }

  .sp-img55 img {
    display: block;
    width: 55%;
    height: auto;
    margin: auto;
  }

  .sp-img60 img {
    display: block;
    width: 60%;
    height: auto;
    margin: auto;
  }

  .sp-img65 img {
    display: block;
    width: 65%;
    height: auto;
    margin: auto;
  }

  .sp-img70 img {
    display: block;
    width: 70%;
    height: auto;
    margin: auto;
  }

  .sp-img75 img {
    display: block;
    width: 75%;
    height: auto;
    margin: auto;
  }

  .sp-img80 img {
    display: block;
    width: 80%;
    height: auto;
    margin: auto;
  }

  .sp-img85 img {
    display: block;
    width: 85%;
    height: auto;
    margin: auto;
  }

  .sp-img90 img {
    display: block;
    width: 90%;
    height: auto;
    margin: auto;
  }

  .sp-img95 img {
    display: block;
    width: 95%;
    height: auto;
    margin: auto;
  }

  .col-mb {
    margin-bottom: 12px;
  }

  .col-mb-sp {
    margin-bottom: 12px;
  }

  .mb-sp {
    margin-bottom: 24px;
  }

  .mb2-sp {
    margin-bottom: 12px;
  }

  .mb3-sp {
    margin-bottom: 6px;
  }

  .mb {
    margin-bottom: 24px;
  }

  .mb2 {
    margin-bottom: 12px;
  }

  .mb3 {
    margin-bottom: 12px;
  }

  .mb-lg {
    margin-bottom: 36px;
  }

  .mb-xl {
    margin-bottom: 48px;
  }

  .mb-xxl {
    margin-bottom: 60px;
  }

  .mb-xxxl {
    margin-bottom: 72px;
  }

  .mb-6-sp {
    margin-bottom: 6px;
  }

  .mb-12-sp {
    margin-bottom: 12px;
  }

  .mb-24-sp {
    margin-bottom: 24px;
  }

  .mb-36-sp {
    margin-bottom: 36px;
  }

  .mb-48-sp {
    margin-bottom: 48px;
  }

  .mb-60-sp {
    margin-bottom: 60px;
  }

  .secBgPdtMd {
    padding: 48px 0 0 0;
  }

  .secBgPdbMd {
    padding: 0 0 48px 0;
  }

  .secBg {
    padding: 48px 0;
  }

  .sec {
    background: #fff;
    padding: 12px;
    box-shadow: 0 0 20px #ccc;
  }

  .sec-noBorder {
    background: #fff;
    padding: 12px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .secBg {
    padding: 60px 0;
  }

  .sec {
    background: #fff;
    padding: 24px;
    box-shadow: 0 0 20px #ccc;
  }

  .sec-noBorder {
    background: #fff;
    padding: 24px;
  }

  .mb-tab {
    margin-bottom: 36px;
  }

  .mb2-tab {
    margin-bottom: 24px;
  }

  .mb3-tab {
    margin-bottom: 12px;
  }
}
@media screen and (max-width: 991px) {
  .dn-tabsp {
    display: none;
  }
}
@media screen and (min-width: 992px) {
  .secBg {
    padding: 72px 0;
  }

  .sec {
    background: #fff;
    padding: 36px;
    box-shadow: 0 0 20px #ccc;
  }

  .sec-noBorder {
    background: #fff;
    padding: 36px;
  }
}
@media (max-width: 767px) {
  .sp-mail-icon a {
    position: fixed;
    top: 0;
    right: 120px;
    z-index: 201;
    display: inline-block;
    float: right;
    clear: right;
    width: 60px;
    height: 60px;
    background: rgba(0, 0, 0, 0.3);
    text-align: center;
    line-height: 56px;
    color: #fff;
  }
  .sp-mail-icon a:hover {
    color: #fff;
  }
  .sp-mail-icon a:active {
    color: #fff;
  }
  .sp-mail-icon a > div {
    position: relative;
    width: 60px;
    height: 60px;
  }
  .sp-mail-icon a > div > i {
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.4rem;
  }

  .header-tpl01-sp-mail-icon a {
    position: fixed;
    top: 0;
    right: 120px;
    z-index: 201;
    display: inline-block;
    float: right;
    clear: right;
    width: 60px;
    height: 60px;
    background: #fff;
    text-align: center;
    line-height: 56px;
    color: #333;
  }
  .header-tpl01-sp-mail-icon a:hover {
    color: #333;
  }
  .header-tpl01-sp-mail-icon a:active {
    color: #333;
  }
  .header-tpl01-sp-mail-icon a > div {
    position: relative;
    width: 60px;
    height: 60px;
  }
  .header-tpl01-sp-mail-icon a > div > i {
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.4rem;
  }

  .sp-mail-icon05 a {
    position: fixed;
    top: 0;
    right: 120px;
    z-index: 201;
    display: inline-block;
    float: right;
    clear: right;
    width: 60px;
    height: 60px;
    background: rgba(0, 0, 0, 0.3);
    text-align: center;
    line-height: 56px;
    color: #fff;
  }
  .sp-mail-icon05 a:hover {
    color: #fff;
  }
  .sp-mail-icon05 a:active {
    color: #fff;
  }
  .sp-mail-icon05 a > div {
    position: relative;
    width: 60px;
    height: 60px;
  }
  .sp-mail-icon05 a > div > i {
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.4rem;
  }
}
@media (max-width: 991px) {
  .headBg {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 2;
    max-width: 100%;
    min-width: 320px;
    height: 70px;
    background: rgba(255, 255, 255, 0.8);
  }

  .headBg div ul {
    height: 70px;
  }
  .headBg div ul li:nth-child(1) {
    display: block;
    height: 70px;
    margin-left: auto;
    margin-right: auto;
    padding: 10px 0;
  }
  .headBg div ul li:nth-child(2) {
    display: none;
  }
  .headBg div ul img {
    width: auto;
    height: 100%;
  }

  .headBg01 {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 2;
    max-width: 100%;
    min-width: 320px;
    height: 70px;
    background: rgba(255, 255, 255, 0.8);
  }

  .headInner01 > li:first-child {
    position: relative;
    height: 70px;
    padding: 10px 0;
    text-align: center;
  }
  .headInner01 > li:last-child {
    display: none;
  }
  .headInner01 img {
    width: auto;
    height: 50px;
  }

  .headFix-box {
    margin-bottom: 70px;
  }

  .headFix-box02 {
    margin-bottom: 70px;
  }

  .headBg02 {
    position: fixed;
    top: 0;
    width: 100%;
    height: 70px;
    background: white;
    padding: 15px 0;
    z-index: 2;
    text-align: center;
    border-bottom: 1px solid #f2f2f2;
  }

  .headLogo02 img {
    width: auto;
    height: 40px;
  }

  .headTel02 {
    display: none;
  }

  .headNav02 {
    display: none;
  }

  .sp-tel-icon a {
    position: fixed;
    top: 0;
    right: 60px;
    z-index: 201;
    display: inline-block;
    float: right;
    clear: right;
    width: 60px;
    height: 60px;
    background: #fff;
    text-align: center;
    color: #333;
  }
  .sp-tel-icon a:hover {
    color: #333;
  }
  .sp-tel-icon a:active {
    color: #333;
  }
  .sp-tel-icon a > div {
    position: relative;
    width: 60px;
    height: 60px;
  }
  .sp-tel-icon a > div > i {
    position: absolute;
    top: 13px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.4rem;
  }

  .icon-ttl {
    position: absolute;
    display: block;
    width: auto;
    font-weight: bold;
    letter-spacing: normal;
    line-height: 1em;
    font-size: 10px;
    color: #333;
    bottom: 9px;
    left: 50%;
    transform: translateX(-50%);
  }

  .header-tpl01-sp-tel-icon a {
    position: fixed;
    top: 0;
    right: 60px;
    z-index: 201;
    display: inline-block;
    float: right;
    clear: right;
    width: 60px;
    height: 60px;
    background: #fff;
    text-align: center;
    color: #333;
  }
  .header-tpl01-sp-tel-icon a:hover {
    color: #333;
  }
  .header-tpl01-sp-tel-icon a:active {
    color: #333;
  }
  .header-tpl01-sp-tel-icon a > div {
    position: relative;
    width: 60px;
    height: 60px;
  }
  .header-tpl01-sp-tel-icon a > div > i {
    position: absolute;
    top: 13px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.4rem;
  }

  .header-tpl01-icon-ttl {
    position: absolute;
    display: block;
    width: auto;
    font-weight: bold;
    letter-spacing: normal;
    line-height: 1em;
    font-size: 10px;
    color: #333;
    bottom: 9px;
    left: 50%;
    transform: translateX(-50%);
  }

  .sp-tel-icon05 a {
    position: fixed;
    top: 0;
    right: 60px;
    z-index: 201;
    display: inline-block;
    float: right;
    clear: right;
    width: 60px;
    height: 60px;
    background: rgba(0, 0, 0, 0.5);
    text-align: center;
    color: #fff;
  }
  .sp-tel-icon05 a:hover {
    color: #fff;
  }
  .sp-tel-icon05 a:active {
    color: #fff;
  }
  .sp-tel-icon05 a > div {
    position: relative;
    width: 60px;
    height: 60px;
  }
  .sp-tel-icon05 a > div > i {
    position: absolute;
    top: 13px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.4rem;
  }

  .icon-ttl05 {
    position: absolute;
    display: block;
    width: auto;
    font-weight: bold;
    letter-spacing: normal;
    line-height: 1em;
    font-size: 10px;
    color: #fff;
    bottom: 9px;
    left: 50%;
    transform: translateX(-50%);
  }

  .sp-reserve-btn > button {
    border-style: none;
    outline: none;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 50px;
    color: #fff;
    background: rgba(228, 101, 30, 0.8);
  }

  .sp-reserve-btn > button:hover {
    color: #fff;
    background: #e4651e;
  }

  .sp-reserve-btn > button:active {
    color: #fff;
    background: #e4651e;
  }

  .sp-reserve-btn > button > div {
    display: block;
    border-style: none;
    outline: none;
    width: 100%;
    height: 50px;
    box-sizing: border-box;
  }

  .sp-reserve-btn > button > div > i {
    position: absolute;
    top: 17px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.4rem;
  }

  .sp-reserve-title {
    position: absolute;
    display: block;
    width: 100%;
    letter-spacing: normal;
    color: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .modal-title {
    margin-top: 3px;
  }

  .reserve-list li a {
    display: block;
    padding: 1rem;
    border-bottom: 1px solid #dae0e5;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .sp-mail-icon a {
    position: fixed;
    top: 0;
    right: 60px;
    z-index: 201;
    display: inline-block;
    float: right;
    clear: right;
    margin-top: 0;
    width: 60px;
    height: 60px;
    background: rgba(0, 0, 0, 0.5);
    text-align: center;
    line-height: 56px;
    color: #fff;
  }
  .sp-mail-icon a:hover {
    color: #fff;
  }
  .sp-mail-icon a:active {
    color: #fff;
  }
  .sp-mail-icon a > div {
    position: relative;
    width: 60px;
    height: 60px;
  }
  .sp-mail-icon a > div > i {
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.4rem;
  }

  .header-tpl01-sp-mail-icon a {
    position: fixed;
    top: 0;
    right: 60px;
    z-index: 201;
    display: inline-block;
    float: right;
    clear: right;
    margin-top: 0;
    width: 60px;
    height: 60px;
    background: #333;
    text-align: center;
    line-height: 56px;
    color: #333;
  }
  .header-tpl01-sp-mail-icon a:hover {
    color: #333;
  }
  .header-tpl01-sp-mail-icon a:active {
    color: #333;
  }
  .header-tpl01-sp-mail-icon a > div {
    position: relative;
    width: 60px;
    height: 60px;
  }
  .header-tpl01-sp-mail-icon a > div > i {
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.4rem;
  }

  .sp-mail-icon05 a {
    position: fixed;
    top: 0;
    right: 60px;
    z-index: 201;
    display: inline-block;
    float: right;
    clear: right;
    margin-top: 0;
    width: 60px;
    height: 60px;
    background: rgba(0, 0, 0, 0.5);
    text-align: center;
    line-height: 56px;
    color: #fff;
  }
  .sp-mail-icon05 a:hover {
    color: #fff;
  }
  .sp-mail-icon05 a:active {
    color: #fff;
  }
  .sp-mail-icon05 a > div {
    position: relative;
    width: 60px;
    height: 60px;
  }
  .sp-mail-icon05 a > div > i {
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.4rem;
  }
}
@media (min-width: 992px) {
  .headBg {
    position: fixed;
    width: 100%;
    min-width: 750px;
    height: 80px;
    top: 0;
    z-index: 2;
    background: rgba(255, 255, 255, 0.8);
    padding-top: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #d9d9d9;
  }

  .headBg01 {
    position: fixed;
    width: 100%;
    min-width: 750px;
    height: 80px;
    top: 0;
    z-index: 2;
    background: rgba(255, 255, 255, 0.8);
    padding-top: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #d9d9d9;
  }

  .headInner01 > li:last-child {
    text-align: right;
  }
  .headInner01 > li:last-child a {
    font-size: 1.125em;
    font-weight: bold;
  }
  .headInner01 > li:last-child a:hover {
    text-decoration: none;
    color: rgba(0, 0, 0, 0.3);
  }
  .headInner01 > li:last-child ul li {
    margin-right: 30px;
  }
  .headInner01 > li:last-child ul li:last-child {
    font-size: 1.625em;
    margin-right: 0;
  }
  .headInner01 > li:last-child ul li:last-child span {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
  }

  .headFix-box {
    margin-bottom: 80px;
  }

  .headFix {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 2;
  }

  .headFix-box02 {
    position: relative;
    height: auto;
    z-index: 2;
  }

  .headBg02 {
    position: fixed;
    top: 0;
    width: 100%;
    height: auto;
    min-width: 750px;
    background: white;
    padding: 15px 0 0 0;
    z-index: 1;
    border-bottom: 1px solid #f2f2f2;
  }

  .headLogo02 {
    text-align: center;
  }

  .headLogo02 img {
    max-width: 200px;
    height: 60px;
    transition: all .4s ease 0s,background .6s ease .2s;
  }

  .headTel02 {
    position: absolute;
    top: 20px;
    right: 30px;
    font-size: 1.5rem;
  }

  .headNav02 li a {
    display: block;
    text-align: center;
    padding: 15px 0;
  }
  .headNav02 li a:hover {
    color: #cfcfcf;
  }

  .is-animation {
    height: 120px;
    transition: all .4s ease 0s,background .6s ease .2s;
  }

  .is-animation .headLogo02 img {
    height: 40px;
    transition: all .4s ease 0s,background .6s ease .2s;
  }

  .gnav-bg04 {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    transition: .3s;
    background: #fff;
  }

  .gnav04 li ul li a {
    display: block;
    padding: 30px 0;
    font-weight: bold;
    text-align: center;
  }

  .gnav04 > li:first-child a {
    padding-left: 10px;
  }

  .gnav04 > li:first-child a:hover {
    background: none;
  }

  .gnav04-tel li {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
  }

  .gnav04-tel li:first-child {
    margin-left: 30px;
  }

  .gnav04-tel {
    margin-right: 30px;
  }

  .gnav04-tel a {
    color: #333;
    text-decoration: none;
  }

  .gnav04 li ul li:nth-child(7) a {
    background: #007236;
    color: #fff;
    padding-left: 30px;
    padding-right: 30px;
  }

  .gnav04 li ul li:nth-child(7) a:hover {
    background: rgba(0, 114, 54, 0.8);
  }

  .gnav04 li ul li:nth-child(7) a i {
    margin-right: 5px;
  }

  .gnav04 li ul li:nth-child(6) a:hover {
    background: none;
    color: #333;
  }
}
@media (max-width: 767px) {
  .headerBg05 {
    position: fixed;
    top: 0;
    width: 100%;
    height: 60px;
    z-index: 2;
    background: #000;
  }

  .header-logo05 {
    position: relative;
    display: inline-block;
    z-index: 10;
  }

  .header-logo05 img {
    display: block;
    width: auto;
    height: 40px;
    margin: 10px 0 0 10px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .headerBg05 {
    position: fixed;
    top: 0;
    width: 100%;
    height: 60px;
    z-index: 2;
    background: #000;
  }

  .header-logo05 {
    position: relative;
    display: inline-block;
    z-index: 10;
  }

  .header-logo05 img {
    display: block;
    width: auto;
    height: 40px;
    margin: 10px 0 0 10px;
  }
}
@media (min-width: 992px) {
  .headerBg05 {
    position: fixed;
    top: 0;
    z-index: 2;
    width: 100%;
    height: 120px;
    padding: 0 20px 0 0;
  }

  .header-logo05 {
    height: 140px;
    padding: 20px 28px;
    background: #000;
    border-radius: 0 0 3px 0;
    transition: all .4s ease 0s,background .6s ease .2s;
  }

  .header-logo05 img {
    max-width: 84px;
    height: 100px;
    transition: all .4s ease 0s,background .6s ease .2s;
  }

  .is-animation05 {
    transition: all .4s ease 0s,background .6s ease .2s;
  }

  .is-animation05 .header-logo05 {
    width: auto;
    height: 100px;
    padding: 19px 25px 20px 26px;
    background: #000;
    border-radius: 0 0 3px 0;
  }

  .is-animation05 .header-logo05 img {
    height: 60px;
    transition: all .4s ease 0s,background .6s ease .2s;
  }

  .header-info-box05 {
    height: 70px;
    background-image: linear-gradient(to right, #333333, #000000);
    border-radius: 35px;
    padding: 0 35px;
    margin-right: 30px;
  }

  .header-info-box05 a, .header-info-box05 a:hover {
    color: #fff;
    font-weight: bold;
  }

  .header-info-box05 a {
    height: 70px;
  }

  .header-info-box05 a:last-child {
    margin-left: 30px;
  }

  .header-info-box05 a:last-child > span:last-child {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 24px;
  }

  .header-info-icon05 {
    display: block;
    width: 30px;
    height: 30px;
    background: #fff;
    border-radius: 15px;
    color: #000;
    text-align: center;
    line-height: 30px;
    margin-right: 5px;
  }

  a.header-contact05 > span > span.header-info-icon05 {
    transition: 1s;
  }

  a:hover.header-contact05 > span > span.header-info-icon05 {
    background: #000;
    color: #fff;
    transition: 1s;
  }
}
.insta-sp img {
  display: block;
  width: 24px;
  height: 24px;
  margin: 16px auto 4px auto;
}

.insta-icon-ttl {
  display: block;
  font-size: .625rem;
  line-height: 1em;
}

@media (max-width: 767px) {
  .header-bg06 {
    position: fixed;
    top: 0;
    width: 100%;
    height: 70px;
    background: #000;
  }

  .header-inner06 {
    width: 100%;
  }

  .header-logo06 {
    position: relative;
    z-index: 201;
    display: block;
    height: 70px;
    padding: 10px 10px;
    background: #009944;
  }

  .header-logo06 img {
    width: auto;
    height: 50px;
  }

  .header-nav-title06 img {
    filter: invert(88%) sepia(61%) saturate(0%) hue-rotate(229deg) brightness(107%) contrast(101%);
    width: 36px;
    height: auto;
  }

  .sp-insta-icon a {
    position: fixed;
    top: 0;
    right: 140px;
    z-index: 201;
    display: inline-block;
    float: right;
    clear: right;
    width: 70px;
    height: 70px;
    background: #000;
    text-align: center;
    color: #fff;
  }
  .sp-insta-icon a:hover {
    color: #fff;
  }
  .sp-insta-icon a:active {
    color: #fff;
  }
  .sp-insta-icon a > div {
    position: relative;
    width: 70px;
    height: 70px;
  }
}
@media (max-width: 320px) {
  .header-logo06 {
    position: relative;
    z-index: 201;
    display: block;
    height: 70px;
    padding: 15px 10px;
    background: #009944;
  }

  .header-logo06 img {
    width: auto;
    height: 40px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .header-bg06 {
    position: fixed;
    top: 0;
    width: 100%;
    height: 70px;
    background: #000;
  }

  .header-inner06 {
    width: 100%;
  }

  .header-logo06 {
    position: relative;
    z-index: 201;
    display: block;
    height: 70px;
    padding: 10px 10px;
    background: #009944;
  }

  .header-logo06 img {
    width: auto;
    height: 50px;
  }

  .header-nav-title06 img {
    filter: invert(88%) sepia(61%) saturate(0%) hue-rotate(229deg) brightness(107%) contrast(101%);
    width: 36px;
    height: auto;
  }

  .sp-insta-icon a {
    position: fixed;
    top: 0;
    right: 70px;
    z-index: 201;
    display: inline-block;
    float: right;
    clear: right;
    width: 70px;
    height: 70px;
    background: #000;
    text-align: center;
    color: #fff;
  }
  .sp-insta-icon a:hover {
    color: #fff;
  }
  .sp-insta-icon a:active {
    color: #fff;
  }
  .sp-insta-icon a > div {
    position: relative;
    width: 70px;
    height: 70px;
  }

  .insta-sp img {
    display: block;
    width: 24px;
    height: 24px;
    margin: 16px auto 4px auto;
  }

  .insta-icon-ttl {
    display: block;
    font-size: .625rem;
    line-height: 1em;
  }
}
@media (min-width: 992px) {
  .header-bg06 {
    position: fixed;
    top: 0;
    width: 100%;
    background: #000;
  }

  .header-inner06 {
    width: 100%;
  }

  .header-logo06 {
    display: block;
    padding: 20px 38px;
    background: #009944;
  }

  .header-insta-bg06 {
    background: #fff;
    height: 70px;
    border-radius: 35px;
    padding: 0 35px;
    margin-right: 36px;
  }

  a:hover.header-insta-bg06 {
    background: #272727;
    color: #fff;
  }

  .header-insta06 li {
    font-weight: bold;
  }

  .header-insta06 li:first-child {
    margin-right: 12px;
  }

  .header-tel06 {
    margin-right: 36px;
  }

  .header-tel06 span:last-child span {
    display: block;
  }

  .header-tel06 span:last-child span:first-child {
    font-size: .75rem;
    letter-spacing: .15em;
    color: #fff;
    margin-bottom: 6px;
  }

  .header-tel06 span:last-child span:last-child {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1em;
    color: #fff;
  }

  .header-info-icon06 {
    display: block;
    width: 38px;
    height: 38px;
    background: #fff;
    border-radius: 18px;
    color: #000;
    text-align: center;
    line-height: 38px;
    margin-right: 8px;
  }

  a.header-contact06 > span > span.header-info-icon05 {
    transition: 1s;
  }

  a:hover.header-contact06 > span > span.header-info-icon05 {
    background: #000;
    color: #fff;
    transition: 1s;
  }

  .header-nav06 {
    margin-right: 20px;
  }
}
.insta-sp img {
  display: block;
  width: 24px;
  height: 24px;
  margin: 16px auto 4px auto;
}

.insta-icon-ttl {
  display: block;
  font-size: .625rem;
  line-height: 1em;
}

@media (max-width: 767px) {
  .header-bg07 {
    width: 100%;
    height: 70px;
    background: #fef7e5;
  }

  .header-inner07 {
    width: 100%;
  }

  .header-logo07 {
    position: relative;
    z-index: 201;
    display: block;
    height: 70px;
    padding: 10px 10px;
  }

  .header-logo07 img {
    width: auto;
    height: 50px;
  }
}
@media (max-width: 320px) {
  .headerFix07 {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 3;
  }

  .header-logo07 {
    position: relative;
    z-index: 201;
    display: block;
    height: 70px;
    padding: 15px 10px;
  }

  .header-logo07 img {
    width: auto;
    height: 40px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .headerFix07 {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 3;
  }

  .header-bg07 {
    width: 100%;
    height: 70px;
    background: #fef7e5;
  }

  .header-inner07 {
    width: 100%;
  }

  .header-logo07 {
    position: relative;
    z-index: 201;
    display: block;
    height: 70px;
    padding: 10px 10px;
  }

  .header-logo07 img {
    width: auto;
    height: 50px;
  }
}
@media (min-width: 992px) {
  .headerFix07 {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 3;
  }

  .header-bg07 {
    width: 100%;
    background: #fef7e5;
  }

  .header-inner07 {
    width: 100%;
  }

  .header-logo07 {
    display: block;
    padding: 20px 38px;
  }

  .header-tel07 {
    margin-right: 36px;
  }

  .header-tel07 span:last-child span {
    display: block;
  }

  .header-tel07 span:last-child span:first-child {
    font-size: .75rem;
    letter-spacing: .15em;
    font-weight: bold;
  }

  .header-tel07 span:last-child span:last-child {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1em;
  }

  .header-info-icon07 {
    display: block;
    width: 38px;
    height: 38px;
    background: #f18523;
    border-radius: 18px;
    color: #fff;
    text-align: center;
    line-height: 38px;
    margin-right: 8px;
  }

  .header-nav-bg07 {
    width: 100%;
    background: #4e2f1a;
  }

  .header-nav07 {
    height: 56px;
  }

  .header-nav07 li {
    border-right: 1px solid #fff;
    padding: 0 15px;
  }

  .header-nav07 li:last-child {
    border-right: none;
  }

  .header-nav07 li a {
    color: #fff;
    font-weight: bold;
  }
}
@media (max-width: 767px) {
  .header-bg08 {
    position: fixed;
    top: 0;
    width: 100%;
    height: 70px;
    background: #fff;
  }

  .header-inner08 {
    width: 100%;
  }

  .header-logo08 {
    position: relative;
    z-index: 201;
    display: block;
    height: 70px;
    padding: 15px 10px;
  }

  .header-logo08 img {
    width: auto;
    height: 40px;
  }
}
@media (max-width: 320px) {
  .header-logo08 {
    position: relative;
    z-index: 201;
    display: block;
    height: 70px;
    padding: 22px 10px;
  }

  .header-logo08 img {
    width: auto;
    height: 26px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .header-bg08 {
    position: fixed;
    top: 0;
    width: 100%;
    height: 70px;
    background: #fff;
  }

  .header-inner08 {
    width: 100%;
  }

  .header-logo08 {
    position: relative;
    z-index: 201;
    display: block;
    height: 70px;
    padding: 15px 10px;
  }

  .header-logo08 img {
    width: auto;
    height: 40px;
  }
}
@media (min-width: 992px) {
  .header-bg08 {
    position: fixed;
    top: 0;
    width: 100%;
    background: #f2f2f2;
  }

  .header-inner08 {
    width: 100%;
  }

  .header-logo08 {
    display: block;
    padding: 0 30px;
  }

  a.header-insta-bg08 {
    background: #20aec2;
    color: #fff;
    height: 70px;
    padding: 0 35px;
    margin: 10px 25px 10px 0;
  }

  a:hover.header-insta-bg08 {
    background: #1c9aac;
    color: #fff;
  }

  .header-icon-bg08 {
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 15px;
    background: #fff;
    color: #20aec2;
    line-height: 30px;
    text-align: center;
  }

  .header-insta08 li {
    font-weight: bold;
  }

  .header-insta08 li:first-child {
    margin-right: 12px;
  }

  .header-tel08 {
    margin-right: 36px;
  }

  .header-tel08 span:last-child span {
    display: block;
  }

  .header-tel08 span:last-child span:first-child {
    font-size: .75rem;
    line-height: 1em;
    letter-spacing: .15em;
    margin-bottom: 3px;
  }

  .header-tel08 span:last-child span:last-child {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1em;
  }

  .header-info-icon08 {
    display: block;
    width: 30px;
    height: 30px;
    background: #20aec2;
    border-radius: 15px;
    color: #fff;
    text-align: center;
    line-height: 30px;
    margin-right: 8px;
  }

  a.header-contact08 > span > span.header-info-icon05 {
    transition: 1s;
  }

  a:hover.header-contact08 > span > span.header-info-icon05 {
    background: #000;
    color: #fff;
    transition: 1s;
  }

  .header-nav08 {
    margin-right: 20px;
  }
}
@media (max-width: 991px) {
  .header-bg09 {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 70px;
    background: #fff;
    border-bottom: 1px solid #f2f2f2;
    z-index: 3;
  }

  .header-logo09 {
    padding: 10px 0;
  }

  .header-logo09 img {
    width: auto;
    height: 50px;
  }
}
@media (max-width: 320px) {
  .header-logo09 {
    padding: 18px 0;
  }

  .header-logo09 img {
    width: auto;
    height: 34px;
  }
}
@media (min-width: 992px) {
  .header-bg09 {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background: #fff;
    border-bottom: 1px solid #f2f2f2;
    z-index: 2;
  }

  .header-nav09 li a {
    font-weight: bold;
    margin-right: 30px;
  }

  .header-nav09 li a {
    position: relative;
    text-decoration: none;
  }

  .header-nav09 li a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #005bac;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
  }

  .header-nav09 li a:hover::after {
    transform: scale(1, 1);
  }

  .header-tel09 {
    margin-right: 30px;
  }

  .header-tel09 span:last-child span {
    display: block;
  }

  .header-tel09 span:last-child span:first-child {
    font-size: .75rem;
    line-height: 1em;
    letter-spacing: .15em;
    margin-bottom: 3px;
  }

  .header-tel09 span:last-child span:last-child {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1em;
  }

  .header-info-icon09 {
    display: block;
    width: 30px;
    height: 30px;
    background: #9b1724;
    border-radius: 15px;
    color: #fff;
    text-align: center;
    line-height: 30px;
    margin-right: 8px;
  }

  a.header-yoyaku09 {
    displey: block;
    width: 80px;
    height: 80px;
    background: #9b1724;
    color: #fff;
    font-weight: bold;
  }

  a:hover.header-yoyaku09 {
    background: #6f101a;
  }
}
@media (min-width: 768px) {
  .footBg01 {
    max-width: 100%;
    min-width: 750px;
    height: auto;
    background: url(../image/1920x1080.jpg) no-repeat center center;
    background-size: cover;
    padding: 90px 0;
    box-sizing: border-box;
  }

  .footNav01 {
    width: 100%;
    height: auto;
  }
  .footNav01 ul {
    text-align: center;
  }
  .footNav01 ul li {
    letter-spacing: normal;
  }

  .footnavNumber01 {
    display: inline-block;
    width: 2em;
    height: 2em;
    background: #3F99D5;
    border-radius: 1em;
    text-align: center;
    font-weight: bold;
    line-height: 2em;
    color: #fefefe;
    margin-right: 5px;
    font-size: 1.625em;
  }

  .footNav01 li a span:last-child {
    color: #3F99D5;
    font-weight: bold;
  }

  .footNav01 li a:hover {
    text-decoration: none;
  }

  .footNav01 li a:hover span:last-child {
    color: #FCCF00;
    transition: 0.7s;
  }

  .footNav01 li a:hover .footnavNumber01 {
    background: #FCCF00;
    color: #EC6C00;
    transition: 0.7s;
  }

  .fbIcon a {
    font-size: 2.125em;
    color: #4a679e;
  }
  .fbIcon a:hover {
    color: rgba(74, 103, 158, 0.5);
  }

  .instagramIcon a {
    font-size: 2.125em;
    color: #000;
  }
  .instagramIcon a:hover {
    color: rgba(0, 0, 0, 0.5);
  }

  .copy01 {
    font-family: 'Quicksand', sans-serif;
    text-align: center;
    color: #fefefe;
    background: #EC6C00;
    padding: 30px 0;
  }
  .copy01 a {
    color: #fefefe;
  }
  .copy01 a:hover {
    color: #fefefe;
  }

  .footTel01 {
    position: relative;
    z-index: 1;
  }
  .footTel01 p:nth-child(1) {
    color: #3F99D5;
    font-weight: bold;
    font-size: 0.75em;
  }
  .footTel01 p:nth-child(2) {
    font-size: 1.875em;
    font-weight: 600;
    color: #3F99D5;
  }

  .footTel01 i {
    color: #EC6C00;
    margin-right: 5px;
  }

  .footBg02 {
    background: #f3faef;
    padding-top: 60px;
  }

  .foot-add02 li {
    text-align: center;
    border-right: 1px solid #d5eec7;
  }

  .footLogo02 {
    width: 298px;
    height: 76px;
    margin: auto;
  }

  .footerTel02 {
    text-align: center;
  }
  .footerTel02 > div {
    display: inline-block;
  }
  .footerTel02 > div > span:first-child {
    display: block;
    font-size: 0.875rem;
    margin-bottom: 5px;
  }
  .footerTel02 > div > span:last-child > span:nth-child(1) i {
    font-size: 1.521875rem;
    padding-right: 3px;
  }
  .footerTel02 > div > span:last-child > span:nth-child(2) {
    display: block;
    font-size: 2rem;
  }

  .footerTel-number02 {
    display: table;
  }
  .footerTel-number02 > span {
    display: table-cell;
    vertical-align: middle;
    font-weight: bold;
    line-height: 1em;
  }

  .footerNav02 {
    border-top: 1px solid #d5eec7;
    border-bottom: 1px solid #d5eec7;
  }
  .footerNav02 a {
    border-right: 1px solid #d5eec7;
  }
  .footerNav02 a:hover {
    background: #e4f3dc;
  }
  .footerNav02 a:last-child {
    border-right: none;
  }
  .footerNav02 a > li {
    padding: 30px 0;
    text-align: center;
  }

  .footerNav-innner02 {
    display: inline-block;
  }
  .footerNav-innner02 ul {
    display: table;
  }
  .footerNav-innner02 ul li {
    display: table-cell;
    vertical-align: middle;
    text-align: left;
  }
  .footerNav-innner02 ul li:first-child {
    width: 66px;
    height: 56px;
    padding-right: 10px;
  }
  .footerNav-innner02 ul li:first-child img {
    width: 56px;
    height: 56px;
  }
  .footerNav-innner02 ul li span {
    display: block;
  }
  .footerNav-innner02 ul li span:first-child {
    margin-bottom: 5px;
    font-weight: bold;
  }
  .footerNav-innner02 ul li span:last-child {
    font-size: .75rem;
    font-weight: bold;
  }

  .copy02 {
    display: block;
    width: 100%;
    height: auto;
    text-align: center;
    padding: 30px 0;
  }
  .copy02 a {
    color: #3b1f13;
    text-decoration: none;
  }
  .copy02 a:hover {
    color: #3b1f13;
    text-decoration: none;
  }

  .footTop04 {
    width: 100%;
    padding: 123px 0;
    background: #f2f2f2;
  }

  .footTop04-reserve {
    background: #3F2004;
    color: #fff;
    padding: 0 5px 1px 5px;
    font-size: 0.75rem;
    line-height: 0.75em;
    margin-right: 5px;
  }

  .footTop04-tel {
    font-family: 'Lato', sans-serif;
    font-size: 2rem;
    line-height: 1.4rem;
    font-weight: 400;
  }

  .footTop04-table {
    width: 100%;
  }

  .footTop04-table th {
    padding: 1.125rem;
    text-align: center;
    border-bottom: 1px solid #dae0e5;
    border-right: 1px solid #dae0e5;
  }

  .footTop04-table td {
    padding: 1.125rem;
    text-align: center;
    border-bottom: 1px solid #dae0e5;
    border-right: 1px solid #dae0e5;
  }

  .footTop04-table tr:first-child th, .footTop04-table tr:first-child td {
    border-top: 1px solid #dae0e5;
  }

  .footTop04-table th:first-child, .footTop04-table td:first-child {
    border-left: 1px solid #dae0e5;
  }

  .footNav04-bg {
    width: 100%;
    padding: 60px 0;
    background: rgba(63, 32, 5, 0.04);
  }

  .footNav04 a {
    border-right: 1px solid #dae0e5;
  }

  .footNav04 a:nth-child(6), .footNav04 a:last-child {
    border-right: none;
  }

  a:hover .footNav04-inner {
    color: #ac570e;
    transition: 1s;
  }

  .footNav04-inner {
    text-align: center;
    transition: 1s;
  }

  .footNav04-inner div {
    margin-bottom: 10px;
  }

  .footNav04-inner span {
    line-height: 1em;
    display: block;
  }

  .footNav04-inner span:nth-child(2) {
    margin-bottom: 5px;
  }

  .footNav04-inner span:nth-child(3) {
    font-size: 0.75rem;
  }

  .footNav04-inner img {
    width: 40px;
    height: 40px;
  }

  .copy04 {
    text-align: center;
    padding: 30px 0;
  }

  .copy04 a, .copy04 a:hover {
    color: #333;
    text-decoration: none;
  }

  .footBg05 {
    padding: 60px 0 0 0;
    background-image: linear-gradient(135deg, #fdfcfb 0%, #f3ebe5 70%, #fff 100%);
    border-top: 1px solid #f2ecdc;
  }

  .footNav05 {
    margin-left: -15px;
    margin-right: -15px;
  }

  .footNav05 li a {
    display: block;
    width: 100%;
    text-align: center;
    padding: 1em 0;
    border-right: 1px solid #f2ecdc;
  }

  .footNav05 li:last-child a {
    border-right: none;
  }

  .footNav05 li a:hover {
    background: #f2ecdc;
  }

  .copy05 {
    display: block;
    width: 100%;
    padding: 30px 0;
    text-align: center;
    background: #fff;
  }

  .copy05 a, .copy05 a:link, .copy05 a:hover {
    text-decoration: none;
  }
}
@media (max-width: 767px) {
  .footBg01 {
    max-width: 100%;
    min-width: 320px;
    height: auto;
    background: url(../image/1920x1080.jpg) no-repeat center center;
    background-size: cover;
    padding: 30px 0;
    box-sizing: border-box;
  }
  .footBg01 img {
    width: 60%;
    height: auto;
  }

  .footNav01 {
    width: 100%;
    height: auto;
  }
  .footNav01 ul {
    padding: 0 15px;
  }
  .footNav01 ul li {
    display: block;
    letter-spacing: normal;
    margin-bottom: 15px;
  }

  .footnavNumber01 {
    display: inline-block;
    width: 2em;
    height: 2em;
    background: #3F99D5;
    border-radius: 1em;
    text-align: center;
    font-weight: bold;
    line-height: 2em;
    color: #fefefe;
    margin-right: 5px;
    font-size: 1.625em;
  }
  .footnavNumber01 li a span:last-child {
    color: #3F99D5;
    font-weight: bold;
  }
  .footnavNumber01 li a:hover {
    text-decoration: none;
  }
  .footnavNumber01 li a:hover span:last-child {
    color: #FCCF00;
    transition: 0.7s;
  }
  .footnavNumber01 li a:hover .footnavNumber01 {
    background: #FCCF00;
    color: #EC6C00;
    transition: 0.7s;
  }

  .fbIcon a {
    font-size: 2.125em;
    color: #4a679e;
  }
  .fbIcon a:hover {
    color: rgba(74, 103, 158, 0.5);
  }

  .instagramIcon a {
    font-size: 2.125em;
    color: #000;
  }
  .instagramIcon a:hover {
    color: rgba(0, 0, 0, 0.5);
  }

  .copy01 {
    font-family: 'Quicksand', sans-serif;
    text-align: center;
    color: #fefefe;
    background: #EC6C00;
    padding: 30px 0;
  }

  .footTel01 {
    position: relative;
    z-index: 1;
  }
  .footTel01 p:nth-child(1) {
    color: #3F99D5;
    font-weight: bold;
    font-size: 0.75em;
  }
  .footTel01 p:nth-child(2) {
    font-size: 1.875em;
    font-weight: 600;
    color: #3F99D5;
  }
  .footTel01 i {
    color: #EC6C00;
    margin-right: 5px;
  }

  .footBg02 {
    background: #f3faef;
    padding-top: 30px;
  }

  .foot-add02 li {
    text-align: center;
    border-right: 1px solid #d5eec7;
  }

  .footLogo02 {
    width: 70%;
    height: auto;
    margin: auto;
  }

  .footerTel02 {
    text-align: center;
  }
  .footerTel02 > div {
    display: inline-block;
  }
  .footerTel02 > div > span:first-child {
    display: block;
    font-size: 0.875rem;
    margin-bottom: 10px;
  }
  .footerTel02 > div > span:last-child > span:nth-child(1) i {
    font-size: 1.521875rem;
    padding-right: 3px;
  }
  .footerTel02 > div > span:last-child > span:nth-child(2) {
    display: block;
    font-size: 2rem;
  }

  .footerTel-number02 {
    display: table;
  }
  .footerTel-number02 > span {
    display: table-cell;
    vertical-align: middle;
    font-weight: bold;
    line-height: 1em;
  }

  .footerNav02 {
    border-top: 1px solid #d5eec7;
    border-bottom: 1px solid #d5eec7;
  }
  .footerNav02 a {
    border-bottom: 1px solid #d5eec7;
  }
  .footerNav02 a > li {
    padding: 15px 5px;
  }
  .footerNav02 a:hover {
    background: #e4f3dc;
  }
  .footerNav02 a:nth-child(1), .footerNav02 a:nth-child(3),
  .footerNav02 a:nth-child(5) {
    border-right: 1px solid #d5eec7;
  }

  .footerNav-innner02 {
    display: inline-block;
  }
  .footerNav-innner02 ul {
    display: table;
  }
  .footerNav-innner02 ul li {
    display: table-cell;
    vertical-align: middle;
    text-align: left;
  }
  .footerNav-innner02 ul li:first-child {
    padding-right: 5px;
  }
  .footerNav-innner02 ul li:first-child img {
    width: 28px;
    height: 28px;
  }
  .footerNav-innner02 ul li > span {
    display: block;
  }
  .footerNav-innner02 ul li > span:first-child {
    margin-bottom: 5px;
    font-weight: bold;
  }
  .footerNav-innner02 ul li > span:last-child {
    font-size: .714rem;
    font-weight: bold;
  }

  .copy02 {
    display: block;
    width: 100%;
    height: auto;
    text-align: center;
    padding: 15px 0;
  }
  .copy02 a {
    color: #3b1f13;
    text-decoration: none;
  }
  .copy02 a:hover {
    color: #3b1f13;
    text-decoration: none;
  }

  .footTop04 {
    width: 100%;
    padding: 82px 0;
    background: #f2f2f2;
  }

  .footLogo04 img {
    width: 240px;
    height: 60px;
  }

  .footTop04 > div > ul > li:first-child {
    text-align: center;
  }

  .sp-footTel04 {
    display: block;
    margin: auto;
  }

  .footTop04-reserve {
    display: inline-block;
    background: #3F2004;
    color: #fff;
    padding: 4px 3px;
    font-size: 0.75rem;
    line-height: 0.75em;
    margin-right: 5px;
  }

  .footTop04-tel {
    font-family: 'Lato', sans-serif;
    font-size: 2rem;
    line-height: 1.4rem;
    font-weight: 400;
  }

  .footTop04-table {
    font-size: 0.7142rem;
  }

  .footTop04-table th {
    padding: 5px 0;
    text-align: center;
    border-bottom: 1px solid #dae0e5;
    border-right: 1px solid #dae0e5;
  }

  .footTop04-table td {
    padding: 5px 0;
    text-align: center;
    border-bottom: 1px solid #dae0e5;
    border-right: 1px solid #dae0e5;
  }

  .footTop04-table tr:first-child th, .footTop04-table tr:first-child td {
    border-top: 1px solid #dae0e5;
  }

  .footTop04-table th:first-child, .footTop04-table td:first-child {
    border-left: 1px solid #dae0e5;
  }

  .footNav04-bg {
    width: 100%;
    padding: 30px 0;
    background: rgba(63, 32, 5, 0.04);
  }

  .footNav04 a {
    border-right: 1px solid #dae0e5;
  }

  .footNav04 a:nth-child(3), .footNav04 a:nth-child(6), .footNav04 a:nth-child(9), .footNav04 a:nth-child(12) {
    border-right: none;
  }

  a:hover .footNav04-inner {
    color: #ac570e;
    transition: 1s;
  }

  .footNav04-inner {
    text-align: center;
    transition: 1s;
  }

  .footNav04-inner div img {
    width: 20px;
    height: 20px;
  }

  .footNav04-inner div {
    margin-bottom: 5px;
  }

  .footNav04-inner span {
    line-height: 1em;
    display: block;
  }

  .footNav04-inner span:nth-child(2) {
    font-size: 0.6875rem;
    margin-bottom: 3px;
  }

  .footNav04-inner span:nth-child(3) {
    font-size: 0.6875rem;
  }

  .copy04 {
    text-align: center;
    padding: 35px 0;
  }

  .copy04 a, .copy04 a:hover {
    color: #333;
    text-decoration: none;
  }

  .footBg05 {
    padding: 45px 0 0 0;
    background-image: linear-gradient(135deg, #fdfcfb 0%, #f3ebe5 70%, #fff 100%);
    border-top: 1px solid #f2ecdc;
  }

  .footNav05 {
    margin-left: -10px;
    margin-right: -10px;
  }

  .footNav05 li a {
    display: block;
    width: 100%;
    text-align: center;
    padding: 1.5em 0;
    border-bottom: 1px solid #f2ecdc;
  }

  .footNav05 li:nth-child(1) a, .footNav05 li:nth-child(2) a {
    border-top: 1px solid #f2ecdc;
  }

  .footNav05 li:nth-child(odd) a {
    border-right: 1px solid #f2ecdc;
  }

  .footNav05 li a:hover {
    background: #f2ecdc;
  }

  .copy05 {
    display: block;
    width: 100%;
    padding: 30px 0;
    text-align: center;
    background: #fff;
  }

  .copy05 a, .copy05 a:link, .copy05 a:hover {
    text-decoration: none;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .footNav01 li {
    margin-bottom: 30px;
  }

  .footNav01 li:nth-last-child(1), .footNav01 li:nth-last-child(2) {
    margin-bottom: 0;
  }

  .sp-footTel04 {
    display: block;
    margin: auto;
  }
}
.footBg03 {
  width: 100%;
  background-image: linear-gradient(45deg, #242d70 0%, #3744aa 99%, #3744aa 100%);
  color: #fff;
}

.footBg03 a {
  color: #fff;
}

.foot-logo03 li:first-child {
  font-size: 2rem;
  font-weight: bold;
  margin-right: 5px;
}

.foot-add03 {
  margin-bottom: 15px;
}

.foot-tel03 li:first-child {
  margin-right: 15px;
}

.foot-tel03 li span:first-child {
  font-size: .75rem;
  margin-right: 5px;
}

@media (max-width: 767px) {
  .foot-tel03 li:first-child {
    margin-right: 0;
  }
}
.foot-tel03 li span:last-child {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
}

.foot-nav03 {
  margin-top: 30px;
}

.foot-nav03 li a {
  display: block;
  width: 100%;
  text-align: center;
  color: #fff;
  border-left: 1px solid #fff;
}

.foot-nav03 li:last-child a {
  border-right: 1px solid #fff;
}

.foot-nav03 li a:hover {
  text-decoration: underline;
}

@media (max-width: 767px) {
  .foot-nav03 li {
    width: 33.333%;
  }

  .foot-nav03 li a {
    border-left: none;
    border-right: none;
    padding: 1em 0;
  }

  .foot-nav03 li:nth-child(3n-1) a {
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
  }

  .foot-nav03 li:nth-child(1),
  .foot-nav03 li:nth-child(2),
  .foot-nav03 li:nth-child(3) {
    border-bottom: 1px solid #fff;
  }

  .foot-nav03 li:last-child {
    width: 70%;
    flex: none !important;
    margin: 1em auto 0 auto;
  }

  .foot-nav03 li:last-child a {
    background: #fff;
    color: #242d70;
    border: 1px solid #fff;
  }

  .foot-nav03 li:last-child a:hover {
    background: #242d70;
    color: #fff;
    border: 1px solid #fff;
    text-decoration: none;
  }
}
.copy03 {
  display: block;
  width: 100%;
  background: #1e255d;
  color: #fff;
  text-align: center;
  padding: 1em 0;
}

@media (max-width: 767px) {
  .simple--footer {
    background: #f2f2f2;
  }

  .simple--footer--logo img {
    width: auto !important;
  }
}
@media (max-width: 991px) {
  .simple--footer--inner {
    text-align: center;
  }

  .simple--footer--tel {
    text-align: center;
    margin-bottom: 4px;
  }
  .simple--footer--tel > span:first-child {
    display: block;
    font-size: .75rem;
    letter-spacing: .025rem;
    margin-bottom: 4px;
  }
  .simple--footer--tel > span:nth-child(2) {
    justify-content: center;
  }
  .simple--footer--tel > span:nth-child(2) span:first-child {
    font-size: 1.5rem;
  }
  .simple--footer--tel > span:nth-child(2) span:last-child {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.75rem;
    font-weight: 500;
    letter-spacing: .05rem;
  }

  .simple--footer--copy {
    text-align: center;
    display: block;
    font-size: .75rem;
  }

  .simple--footer--creca {
    justify-content: center;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .simple--footer {
    background: #f2f2f2;
    padding-left: 51px;
    padding-right: 51px;
  }

  .simple--footer--logo img {
    width: auto !important;
  }
}
@media (min-width: 992px) {
  .simple--footer {
    background: #f2f2f2;
    padding-left: 77px;
    padding-right: 77px;
  }

  .simple--footer--inner li:first-child {
    margin-right: 77px;
  }

  .simple--footer--tel {
    text-align: right;
    margin-bottom: 4px;
  }
  .simple--footer--tel > span:first-child {
    display: inline-block;
    font-size: .75rem;
    letter-spacing: .025rem;
    margin-bottom: 4px;
  }
  .simple--footer--tel > span:nth-child(2) span:first-child {
    font-size: 1.5rem;
  }
  .simple--footer--tel > span:nth-child(2) span:last-child {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.75rem;
    font-weight: 500;
    letter-spacing: .05rem;
  }

  .simple--footer--copy {
    display: block;
    text-align: right;
    font-size: .75rem;
  }

  .simple--footer--creca {
    justify-content: flex-end;
  }
}
.simple--footer--creca img {
  width: auto;
  height: 30px;
}
.simple--footer--creca li {
  margin-right: 10px;
}
.simple--footer--creca li:last-child {
  margin-right: 0;
}

@media (max-width: 767px) {
  .top-add-box06 {
    width: 100%;
    height: 506px;
    background: url("https://placehold.jp/cfcfcf/ffffff/2000x506.jpg") no-repeat center center;
  }

  .top-add-box-inner06 {
    position: relative;
    height: 506px;
  }

  .top-add-box-inner-address06 {
    height: 336px;
  }

  .top-contact-box06 {
    position: absolute;
    right: 0;
    left: 0;
    bottom: -60px;
  }

  .top-contact-box06 a {
    display: block;
    width: 100%;
    height: 230px;
    background: #fff;
    color: #000 !important;
    padding: 0 100px;
  }

  a.top-add-box-btn06 {
    display: inline-block;
    border: 2px solid #fff;
    padding: 14px 30px;
  }

  a:hover.top-add-box-btn06 {
    border: 2px solid #fff;
    background: #fff;
    color: #000 !important;
  }

  .top-contact-box-ttl06 span:first-child {
    font-size: 2rem;
  }

  .top-contact-box-ttl06 span:nth-child(2) {
    display: block;
    margin-top: 15px;
  }

  .top-contact-arrow06 {
    margin-top: 15px;
  }

  .top-contact-arrow06 {
    width: 65px;
    height: 8px;
  }

  .footer-bg06 {
    margin-top: 60px;
  }

  .footer-nav-bg06 {
    margin-bottom: 30px;
  }

  .footer-nav-bg06 ul {
    text-align: center;
    margin-bottom: 15px;
  }

  .footer-nav06 li {
    margin-bottom: 15px;
  }

  .footer-nav06 li:last-child {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .top-add-box06 {
    width: 100%;
    height: 506px;
    background: url("https://placehold.jp/cfcfcf/ffffff/2000x506.jpg") no-repeat center center;
  }

  .top-add-box-inner06 {
    position: relative;
    height: 506px;
  }

  .top-add-box-inner-address06 {
    height: 336px;
  }

  .top-contact-box06 {
    position: absolute;
    right: 0;
    left: 0;
    bottom: -60px;
  }

  .top-contact-box06 a {
    display: block;
    width: 100%;
    height: 230px;
    background: #fff;
    color: #000 !important;
    padding: 0 100px;
    border-radius: 3px;
  }

  a.top-add-box-btn06 {
    display: inline-block;
    border: 2px solid #fff;
    padding: 14px 30px;
    border-radius: 3px;
  }

  a:hover.top-add-box-btn06 {
    border: 2px solid #fff;
    background: #fff;
    color: #000 !important;
  }

  .top-contact-box-ttl06 span:first-child {
    font-size: 2rem;
  }

  .top-contact-box-ttl06 span:nth-child(2) {
    margin-left: 30px;
  }

  .top-contact-arrow06 {
    width: 65px;
    height: 8px;
  }

  .footer-bg06 {
    margin-top: 60px;
  }

  .footer-nav-bg06 {
    margin-bottom: 30px;
  }

  .footer-nav-bg06 ul {
    text-align: center;
    margin-bottom: 30px;
  }

  .footer-nav06 li {
    margin-bottom: 30px;
  }

  .footer-nav06 li:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 992px) {
  .top-add-box06 {
    width: 100%;
    height: 506px;
    background: url("https://placehold.jp/cfcfcf/ffffff/2000x506.jpg") no-repeat center center;
  }

  .top-add-box-inner06 {
    position: relative;
    height: 506px;
  }

  .top-add-box-inner-address06 {
    height: 336px;
  }

  .top-contact-box06 {
    position: absolute;
    right: 0;
    left: 0;
    bottom: -60px;
  }

  .top-contact-box06 a {
    display: block;
    width: 100%;
    height: 230px;
    background: #fff;
    color: #000 !important;
    padding: 0 100px;
    border: 2px solid #fff;
    border-radius: 3px;
  }

  .top-contact-box06 a:hover {
    background: rgba(0, 0, 0, 0.8);
    color: #fff !important;
    border: 2px solid #fff;
    border-radius: 3px;
  }

  .top-contact-box06 a:hover > div:last-child img {
    filter: invert(88%) sepia(61%) saturate(0%) hue-rotate(229deg) brightness(107%) contrast(101%);
  }

  a.top-add-box-btn06 {
    display: inline-block;
    border: 2px solid #fff;
    padding: 14px 30px;
    border-radius: 3px;
  }

  a:hover.top-add-box-btn06 {
    border: 2px solid #fff;
    background: #fff;
    color: #000 !important;
  }

  .top-contact-box-ttl06 span:first-child {
    font-size: 2rem;
  }

  .top-contact-box-ttl06 span:nth-child(2) {
    margin-left: 30px;
  }

  .footer-bg06 {
    margin-top: 60px;
  }

  .footer-nav-bg06 {
    margin-bottom: 60px;
  }

  .footer-nav-bg06 ul {
    margin-right: 60px;
  }

  .footer-nav-bg06 ul:last-child {
    margin-right: 0;
  }

  .footer-nav06 li {
    margin-bottom: 30px;
  }

  .footer-nav06 li:last-child {
    margin-bottom: 0;
  }

  .footer-nav06 li a:hover {
    text-decoration: underline;
  }
}
@media (max-width: 767px) {
  .footer-bg07 {
    background: #f2f2f2;
  }

  .footer-logo07 {
    text-align: center;
  }

  .footer-logo07 img {
    width: 40%;
    height: auto;
  }

  .footer-nav07 li {
    width: 50%;
    text-align: center;
  }

  .footer-nav07 li:nth-child(odd) {
    border-right: 1px solid #d9d9d9;
  }

  .footer-nav07 li a {
    display: block;
    width: 100%;
    padding: 10px 0;
  }

  .footer-nav07 li {
    margin-bottom: 20px;
  }

  .footer-nav07 li:nth-last-child(1),
  .footer-nav07 li:nth-last-child(2) {
    margin-bottom: 0;
  }

  a.footer-insta-bg07 {
    display: block;
    width: 60%;
    background: #20aec2;
    color: #fff;
    height: 70px;
    padding: 0 35px;
    margin-left: auto;
    margin-right: auto;
  }

  a:hover.footer-insta-bg07 {
    background: #1c9aac;
    color: #fff;
  }

  .footer-icon-bg07 {
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 15px;
    background: #fff;
    color: #20aec2;
    line-height: 30px;
    text-align: center;
  }

  .footer-insta07 li {
    font-weight: bold;
  }

  .footer-insta07 li:first-child {
    margin-right: 12px;
  }

  .footer-tel07 {
    display: flex;
    justify-content: center;
  }

  .footer-tel07 span:last-child span {
    display: block;
  }

  .footer-tel07 span:last-child span:first-child {
    font-size: .75rem;
    line-height: 1em;
    letter-spacing: .15em;
    margin-bottom: 3px;
  }

  .footer-tel07 span:last-child span:last-child {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1em;
  }

  .footer-info-icon07 {
    display: block;
    width: 30px;
    height: 30px;
    background: #20aec2;
    border-radius: 15px;
    color: #fff;
    text-align: center;
    line-height: 30px;
    margin-right: 8px;
  }

  .footer-box07 {
    display: flex;
    justify-content: center;
  }
}
@media (max-width: 320px) {
  a.footer-insta-bg07 {
    width: 70%;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .footer-logo07 img {
    width: 20%;
    height: auto;
  }

  .footer-nav07 li {
    text-align: center;
  }

  .footer-info-box07 {
    justify-content: center;
  }
}
@media (min-width: 768px) {
  .footer-bg07 {
    background: #f2f2f2;
  }

  .footer-logo07 {
    text-align: center;
  }

  .footer-nav07 li:nth-child(1),
  .footer-nav07 li:nth-child(2),
  .footer-nav07 li:nth-child(3),
  .footer-nav07 li:nth-child(4),
  .footer-nav07 li:nth-child(5),
  .footer-nav07 li:nth-child(6) {
    margin-bottom: 30px;
  }

  .footer-nav07 li a {
    position: relative;
    display: inline-block;
    text-decoration: none;
  }

  .footer-nav07 li a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
  }

  .footer-nav07 li a:hover::after {
    transform: scale(1, 1);
  }

  a.footer-insta-bg07 {
    background: #20aec2;
    color: #fff;
    height: 70px;
    padding: 0 35px;
  }

  a:hover.footer-insta-bg07 {
    background: #1c9aac;
    color: #fff;
  }

  .footer-icon-bg07 {
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 15px;
    background: #fff;
    color: #20aec2;
    line-height: 30px;
    text-align: center;
  }

  .footer-insta07 li {
    font-weight: bold;
  }

  .footer-insta07 li:first-child {
    margin-right: 12px;
  }

  .footer-tel07 {
    margin-right: 30px;
  }

  .footer-tel07 span:last-child span {
    display: block;
  }

  .footer-tel07 span:last-child span:first-child {
    font-size: .75rem;
    line-height: 1em;
    letter-spacing: .15em;
    margin-bottom: 3px;
  }

  .footer-tel07 span:last-child span:last-child {
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1em;
  }

  .footer-info-icon07 {
    display: block;
    width: 30px;
    height: 30px;
    background: #20aec2;
    border-radius: 15px;
    color: #fff;
    text-align: center;
    line-height: 30px;
    margin-right: 8px;
  }
}
@media (max-width: 767px) {
  .footer-bg08 {
    background: #333;
    color: #fff;
  }

  .footer-nav08 {
    text-align: center;
  }

  .footer-nav08 a {
    color: #fff;
  }

  .footer-nav08 a {
    text-decoration: none;
  }

  .footer-logo08 img {
    display: block;
    width: 40%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
  }

  .footer-tbl08 {
    width: 100%;
  }

  .footer-tbl08 th {
    width: 25%;
    vertical-align: top !important;
  }

  .footer-tbl08 td {
    vertical-align: top !important;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .footer-bg08 {
    background: #333;
    color: #fff;
  }

  .footer-nav08 {
    text-align: center;
  }

  .footer-nav08 a {
    color: #fff;
  }

  .footer-nav08 a {
    text-decoration: none;
  }

  .footer-tbl08 {
    width: 100%;
  }

  .footer-tbl08 th {
    width: 20%;
  }
}
@media (min-width: 992px) {
  .footer-bg08 {
    background: #333;
    color: #fff;
  }

  .footer-nav08 {
    text-align: center;
  }

  .footer-nav08 a {
    color: #fff;
  }

  .footer-nav08 a {
    position: relative;
    display: inline-block;
    text-decoration: none;
  }

  .footer-nav08 a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
  }

  .footer-nav08 a:hover::after {
    transform: scale(1, 1);
  }

  .footer-tbl08 {
    width: 100%;
  }

  .footer-tbl08 th {
    width: 12%;
  }

  .dn-lg {
    display: none;
  }
}
@media (min-width: 768px) {
  .mr-12-md {
    margin-right: 12px;
  }
}
.footer-bg09 {
  border-top: 1px solid #f2f2f2;
}

.footer-logo09 img {
  width: 166px;
}

.sns-logo09 img {
  width: 24px;
  height: 24px;
}

.copyright09 {
  display: block;
  width: 100%;
  background: #333;
  color: #fff;
  padding: 30px 0;
  text-align: center;
}

.copyright09 a {
  color: #fff;
}

@media (max-width: 991px) {
  /*ドロワー*/
  .l-drawer {
    position: relative;
  }
  .l-drawer__checkbox {
    display: none;
  }
  .l-drawer__icon {
    cursor: pointer;
    display: block;
    width: 60px;
    height: 60px;
    position: fixed;
    right: 0;
    top: 0;
    /*
    background: rgba(242,242,242,1);
    */
    background: #fff;
  }
  .l-drawer__icon-parts, .l-drawer__icon-parts:before, .l-drawer__icon-parts:after {
    background-color: #005bac;
    display: block;
    width: 26px;
    height: 2px;
    position: absolute;
    top: 8px;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
  }
  .l-drawer__icon-parts:before, .l-drawer__icon-parts:after {
    content: " ";
  }
  .l-drawer__icon-parts:before {
    top: -16px;
  }
  .l-drawer__icon-parts:after {
    top: -32px;
  }
  .l-drawer__overlay {
    background: #333;
    opacity: 0;
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
  }
  .l-drawer__menu {
    background: #fff;
    max-width: 100%;
    width: 100vw;
    height: 100vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    position: fixed;
    top: 0;
    left: -100vw;
  }
  .l-drawer__icon {
    z-index: 4;
  }
  .l-drawer__menu {
    z-index: 3;
  }
  .l-drawer__overlay {
    z-index: 2;
  }
  .l-drawer__checkbox:checked ~ .l-drawer__icon .l-drawer__icon-parts {
    background: transparent;
  }
  .l-drawer__checkbox:checked ~ .l-drawer__icon .l-drawer__icon-parts:before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: -16px;
  }
  .l-drawer__checkbox:checked ~ .l-drawer__icon .l-drawer__icon-parts:after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: -16px;
  }
  .l-drawer__checkbox:checked ~ .l-drawer__overlay {
    opacity: 0.3;
    pointer-events: auto;
  }
  .l-drawer__checkbox:checked ~ .l-drawer__menu {
    left: 0;
  }
  .l-drawer__icon-parts, .l-drawer__icon-parts:after, .l-drawer__icon-parts:before, .l-drawer__overlay, .l-drawer__menu {
    -webkit-transition: all 0.7s;
    transition: all 0.7s;
  }
  .l-drawer .l-drawer__title {
    position: absolute;
    z-index: 4;
    top: 42px;
    left: 14px;
    font-weight: bold;
    letter-spacing: normal;
    line-height: 1em;
    font-size: 10px;
    color: #005bac;
  }
  .l-drawer .l-drawer--box {
    margin-top: 60px;
    padding-left: 5px;
    padding-right: 5px;
  }
  .l-drawer .l-drawer--navi li a {
    display: block;
    padding: 1.95em;
    border-bottom: 1px solid #faf8ed;
    font-weight: bold;
  }
  .l-drawer .l-drawer--navi li:nth-child(even) a {
    border-right: none;
  }
  .l-drawer .l-drawer--navi li:nth-child(1) a {
    border-top: 1px solid #faf8ed;
  }
  .l-drawer .l-drawer--navi li a:hover {
    background: #f8f9fa;
  }
}
@media (min-width: 992px) {
  /*ドロワー*/
  .l-drawer {
    position: relative;
    height: 80px;
  }
  .l-drawer__checkbox {
    display: none;
  }
  .l-drawer__icon {
    cursor: pointer;
    display: block;
    width: 80px;
    height: 80px;
    position: fixed;
    right: 0;
    /*
    background: rgba(242,242,242,1);
    */
    background: #fff;
    box-shadow: 0 0 20px #ccc;
    border-radius: 0 0 0 12px;
  }
  .l-drawer__icon-parts, .l-drawer__icon-parts:before, .l-drawer__icon-parts:after {
    background-color: #333;
    display: block;
    width: 30px;
    height: 3px;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
  }
  .l-drawer__icon-parts:before, .l-drawer__icon-parts:after {
    content: " ";
  }
  .l-drawer__icon-parts:before {
    top: -20px;
    left: -1px;
  }
  .l-drawer__icon-parts:after {
    top: -40px;
    left: -1px;
  }
  .l-drawer__overlay {
    background: #333;
    opacity: 0;
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
  }
  .l-drawer__menu {
    background: #fff;
    color: #fff;
    max-width: 100%;
    width: 60%;
    height: auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    position: fixed;
    top: 0;
    left: -60%;
    border-radius: 0 0 12px 0;
  }
  .l-drawer__icon {
    z-index: 4;
  }
  .l-drawer__menu {
    z-index: 3;
  }
  .l-drawer__overlay {
    z-index: 2;
  }
  .l-drawer__checkbox:checked ~ .l-drawer__icon .l-drawer__icon-parts {
    background: transparent;
  }
  .l-drawer__checkbox:checked ~ .l-drawer__icon .l-drawer__icon-parts:before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: -20px;
  }
  .l-drawer__checkbox:checked ~ .l-drawer__icon .l-drawer__icon-parts:after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: -20px;
  }
  .l-drawer__checkbox:checked ~ .l-drawer__overlay {
    opacity: 0.3;
    pointer-events: auto;
  }
  .l-drawer__checkbox:checked ~ .l-drawer__menu {
    left: 0;
  }
  .l-drawer__icon-parts, .l-drawer__icon-parts:after, .l-drawer__icon-parts:before, .l-drawer__overlay, .l-drawer__menu {
    -webkit-transition: all 0.7s;
    transition: all 0.7s;
  }

  .l-drawer__title {
    font-family: 'Open Sans', sans-serif;
    position: absolute;
    z-index: 4;
    top: 48px;
    left: 50%;
    transform: translateX(-50%);
    letter-spacing: normal;
    line-height: 1em;
    font-size: 12px;
  }

  .l-drawer--box {
    margin-top: 80px;
    padding-left: 0;
    padding-right: 0;
  }

  .l-drawer--navi li a {
    display: block;
    padding: 1.95em;
    border-bottom: 1px solid #dae0e5;
  }

  .l-drawer--navi li:nth-child(odd) a {
    border-right: 1px solid #dae0e5;
  }

  .l-drawer--navi li:last-child a {
    border-right: none;
    border-radius: 0 0 12px 0;
  }

  .l-drawer--navi li:nth-child(1) a, .l-drawer--navi li:nth-child(2) a {
    /*
    border-top: 1px solid $gray;
    */
  }

  .l-drawer--navi li:nth-last-child(1), .l-drawer--navi li:nth-last-child(2) {
    border-bottom: none;
  }

  .l-drawer--navi li a:hover {
    background: #f8f9fa;
  }
}
@media (max-width: 991px) {
  /*ドロワー*/
  .l-drawer05 {
    position: relative;
  }

  .l-drawer__checkbox05 {
    display: none;
  }

  .l-drawer__icon05 {
    cursor: pointer;
    display: block;
    width: 60px;
    height: 60px;
    position: fixed;
    right: 0;
    top: 0;
    /*
    background: rgba(242,242,242,1);
    */
    background: rgba(0, 0, 0, 0.5);
  }

  .l-drawer__icon-parts05, .l-drawer__icon-parts05:before, .l-drawer__icon-parts05:after {
    background-color: #fff;
    display: block;
    width: 26px;
    height: 2px;
    position: absolute;
    top: -12px;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
  }

  .l-drawer__icon-parts05:before, .l-drawer__icon-parts05:after {
    content: " ";
  }

  .l-drawer__icon-parts05:before {
    top: 16px;
  }

  .l-drawer__icon-parts05:after {
    top: -16px;
  }

  .l-drawer__overlay05 {
    background: #333;
    opacity: 0;
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
  }

  .l-drawer__menu05 {
    background: #333;
    color: #fff;
    max-width: 100%;
    width: 100vw;
    height: 100vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    position: fixed;
    top: 0;
    left: -100vw;
  }

  .l-drawer__icon05 {
    z-index: 4;
  }

  .l-drawer__menu05 {
    z-index: 3;
  }

  .l-drawer__overlay05 {
    z-index: 2;
  }

  .l-drawer__checkbox05:checked ~ .l-drawer__icon05 .l-drawer__icon-parts05 {
    background: transparent;
  }

  .l-drawer__checkbox05:checked ~ .l-drawer__icon05 .l-drawer__icon-parts05:before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 0;
  }

  .l-drawer__checkbox05:checked ~ .l-drawer__icon05 .l-drawer__icon-parts05:after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 0;
  }

  .l-drawer__checkbox05:checked ~ .l-drawer__overlay05 {
    opacity: 0.3;
    pointer-events: auto;
  }

  .l-drawer__checkbox05:checked ~ .l-drawer__menu05 {
    left: 0;
  }

  .l-drawer__icon-parts05, .l-drawer__icon-parts05:after, .l-drawer__icon-parts05:before, .l-drawer__overlay05, .l-drawer__menu05 {
    -webkit-transition: all 0.7s;
    transition: all 0.7s;
  }

  .l-drawer05 .l-drawer__title05 {
    position: absolute;
    z-index: 4;
    top: 44px;
    left: 14px;
    font-weight: bold;
    letter-spacing: normal;
    line-height: 1em;
    font-size: 10px;
    color: #fff;
  }

  .l-drawer05 .l-drawer--box05 {
    margin-top: 60px;
    padding-left: 5px;
    padding-right: 5px;
  }

  .l-drawer05 .l-drawer--navi05 li a {
    display: block;
    padding: 1.95em;
    /*
    border-bottom: 1px solid #333;
    */
    color: #fff;
  }

  .l-drawer05 .l-drawer--navi05 li:nth-child(even) a {
    border-right: none;
  }

  .l-drawer05 .l-drawer--navi05 li:nth-child(1) a {
    /*
    border-top: 1px solid #333;
    */
  }

  .l-drawer05 .l-drawer--navi05 li a:hover {
    background: #333;
  }
}
@media (min-width: 992px) {
  /*ドロワー*/
  .l-drawer05 {
    position: relative;
    height: 70px;
  }

  .l-drawer__checkbox05 {
    display: none;
  }

  .l-drawer__icon05 {
    cursor: pointer;
    display: block;
    width: 70px;
    height: 70px;
    position: relative;
    /*
    background: rgba(242,242,242,1);
    */
    background: #333;
    border-radius: 3px;
  }

  .l-drawer__icon-parts05, .l-drawer__icon-parts05:before, .l-drawer__icon-parts05:after {
    background-color: #fff;
    display: block;
    width: 40px;
    height: 3px;
    position: absolute;
    top: -22px;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
  }

  .l-drawer__icon-parts05:before, .l-drawer__icon-parts05:after {
    content: " ";
  }

  .l-drawer__icon-parts05:before {
    top: -20px;
  }

  .l-drawer__icon-parts05:after {
    position: relative;
    top: 12px;
  }

  .l-drawer__overlay05 {
    background: #333;
    opacity: 0;
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
  }

  .l-drawer__menu05 {
    background: #333;
    color: #fff;
    max-width: 100%;
    width: 50vw;
    height: 100vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    position: fixed;
    top: 0;
    left: -50vw;
  }

  .l-drawer__icon05 {
    z-index: 4;
  }

  .l-drawer__menu05 {
    z-index: 3;
  }

  .l-drawer__overlay05 {
    z-index: 2;
  }

  .l-drawer__checkbox05:checked ~ .l-drawer__icon05 .l-drawer__icon-parts05 {
    background: transparent;
  }

  .l-drawer__checkbox05:checked ~ .l-drawer__icon05 .l-drawer__icon-parts05:before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 0;
  }

  .l-drawer__checkbox05:checked ~ .l-drawer__icon05 .l-drawer__icon-parts05:after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 0;
  }

  .l-drawer__checkbox05:checked ~ .l-drawer__overlay05 {
    opacity: 0.3;
    pointer-events: auto;
  }

  .l-drawer__checkbox05:checked ~ .l-drawer__menu05 {
    left: 0;
  }

  .l-drawer__icon-parts05, .l-drawer__icon-parts05:after, .l-drawer__icon-parts05:before, .l-drawer__overlay05, .l-drawer__menu05 {
    -webkit-transition: all 0.7s;
    transition: all 0.7s;
  }

  .l-drawer__title05 {
    font-family: 'Open Sans', sans-serif;
    position: absolute;
    z-index: 4;
    top: 44px;
    left: 13px;
    letter-spacing: normal;
    line-height: 1em;
    font-size: 15px;
    color: #fff;
  }

  .l-drawer--bo05x {
    margin-top: 70px;
    padding-left: 5px;
    padding-right: 5px;
  }

  .l-drawer--navi05 li a {
    display: block;
    padding: 1.95em;
    border-bottom: 1px solid #333;
    color: #fff;
  }

  .l-drawer--navi05 li:nth-child(odd) a {
    border-right: 1px solid #333;
  }

  .l-drawer--navi05 li:last-child a {
    border-right: none;
    text-align: center;
  }

  .l-drawer--navi05 li:nth-child(1) a, .l-drawer--navi05 li:nth-child(2) a {
    border-top: 1px solid #333;
  }

  .l-drawer--navi05 li a:hover {
    background: #333;
  }
}
@media (max-width: 991px) {
  /*ドロワー*/
  .l-drawer08 {
    position: relative;
  }

  .l-drawer__checkbox08 {
    display: none;
  }

  .l-drawer__icon08 {
    cursor: pointer;
    display: block;
    width: 70px;
    height: 70px;
    position: fixed;
    right: 0;
    top: 0;
    /*
    background: rgba(242,242,242,1);
    */
    background: rgba(0, 0, 0, 0.5);
  }

  .l-drawer__icon-parts08, .l-drawer__icon-parts08:before, .l-drawer__icon-parts08:after {
    background-color: #fff;
    display: block;
    width: 26px;
    height: 2px;
    position: absolute;
    top: -12px;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
  }

  .l-drawer__icon-parts08:before, .l-drawer__icon-parts08:after {
    content: " ";
  }

  .l-drawer__icon-parts08:before {
    top: 16px;
  }

  .l-drawer__icon-parts08:after {
    top: -16px;
  }

  .l-drawer__overlay08 {
    background: #333;
    opacity: 0;
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
  }

  .l-drawer__menu08 {
    background: #fff;
    color: #333;
    max-width: 100%;
    width: 100vw;
    height: 100vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    position: fixed;
    top: 0;
    left: -100vw;
  }

  .l-drawer__icon08 {
    z-index: 4;
  }

  .l-drawer__menu08 {
    z-index: 3;
  }

  .l-drawer__overlay08 {
    z-index: 2;
  }

  .l-drawer__checkbox08:checked ~ .l-drawer__icon08 .l-drawer__icon-parts08 {
    background: transparent;
  }

  .l-drawer__checkbox08:checked ~ .l-drawer__icon08 .l-drawer__icon-parts08:before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 0;
  }

  .l-drawer__checkbox08:checked ~ .l-drawer__icon08 .l-drawer__icon-parts08:after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 0;
  }

  .l-drawer__checkbox08:checked ~ .l-drawer__overlay08 {
    opacity: 0.3;
    pointer-events: auto;
  }

  .l-drawer__checkbox08:checked ~ .l-drawer__menu08 {
    left: 0;
  }

  .l-drawer__icon-parts08, .l-drawer__icon-parts08:after, .l-drawer__icon-parts08:before, .l-drawer__overlay08, .l-drawer__menu08 {
    -webkit-transition: all 0.7s;
    transition: all 0.7s;
  }

  .l-drawer08 .l-drawer__title08 {
    position: absolute;
    z-index: 4;
    top: 44px;
    left: 19px;
    font-weight: bold;
    letter-spacing: normal;
    line-height: 1em;
    font-size: 10px;
    color: #fff;
  }

  .l-drawer08 .l-drawer--box08 {
    margin-top: 60px;
    padding-left: 5px;
    padding-right: 5px;
  }

  .l-drawer08 .l-drawer--navi08 li a {
    display: block;
    padding: 1.95em;
    border-bottom: 1px solid #f2f2f2;
    color: #333;
  }

  .l-drawer08 .l-drawer--navi08 li:nth-child(even) a {
    border-right: none;
  }

  .l-drawer08 .l-drawer--navi08 li:nth-child(1) a {
    border-top: 1px solid #f2f2f2;
  }

  .l-drawer08 .l-drawer--navi08 li a:hover {
    background: #f2f2f2;
  }
}
@media (min-width: 992px) {
  /*ドロワー*/
  .l-drawer08 {
    position: relative;
    height: 70px;
  }

  .l-drawer__checkbox08 {
    display: none;
  }

  .l-drawer__icon08 {
    cursor: pointer;
    display: block;
    width: 70px;
    height: 70px;
    position: relative;
    /*
    background: rgba(242,242,242,1);
    */
  }

  .l-drawer__icon-parts08, .l-drawer__icon-parts08:before, .l-drawer__icon-parts08:after {
    background-color: #333;
    display: block;
    width: 40px;
    height: 3px;
    position: absolute;
    top: -22px;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
  }

  .l-drawer__icon-parts08:before, .l-drawer__icon-parts08:after {
    content: " ";
  }

  .l-drawer__icon-parts08:before {
    top: -20px;
  }

  .l-drawer__icon-parts08:after {
    position: relative;
    top: 12px;
  }

  .l-drawer__overlay08 {
    background: #333;
    opacity: 0;
    pointer-events: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
  }

  .l-drawer__menu08 {
    background: #fff;
    color: #333;
    max-width: 100%;
    width: 50vw;
    height: 100vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    position: fixed;
    top: 0;
    left: -50vw;
  }

  .l-drawer__icon08 {
    z-index: 4;
  }

  .l-drawer__menu08 {
    z-index: 3;
  }

  .l-drawer__overlay08 {
    z-index: 2;
  }

  .l-drawer__checkbox08:checked ~ .l-drawer__icon08 .l-drawer__icon-parts08 {
    background: transparent;
  }

  .l-drawer__checkbox08:checked ~ .l-drawer__icon08 .l-drawer__icon-parts08:before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 0;
  }

  .l-drawer__checkbox08:checked ~ .l-drawer__icon08 .l-drawer__icon-parts08:after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 0;
  }

  .l-drawer__checkbox08:checked ~ .l-drawer__overlay08 {
    opacity: 0.3;
    pointer-events: auto;
  }

  .l-drawer__checkbox08:checked ~ .l-drawer__menu08 {
    left: 0;
  }

  .l-drawer__icon-parts08, .l-drawer__icon-parts08:after, .l-drawer__icon-parts08:before, .l-drawer__overlay08, .l-drawer__menu08 {
    -webkit-transition: all 0.7s;
    transition: all 0.7s;
  }

  .l-drawer__title08 {
    font-family: 'Open Sans', sans-serif;
    position: absolute;
    z-index: 4;
    top: 44px;
    left: 13px;
    letter-spacing: normal;
    line-height: 1em;
    font-size: 15px;
    color: #333;
  }

  .l-drawer--bo08x {
    margin-top: 70px;
    padding-left: 5px;
    padding-right: 5px;
  }

  .l-drawer--navi08 li a {
    display: block;
    padding: 1.95em;
    border-bottom: 1px solid #f2f2f2;
    color: #333;
  }

  .l-drawer--navi08 li:nth-child(odd) a {
    border-right: 1px solid #f2f2f2;
  }

  .l-drawer--navi08 li:last-child a {
    border-right: none;
    text-align: center;
  }

  .l-drawer--navi08 li:nth-child(1) a, .l-drawer--navi08 li:nth-child(2) a {
    border-top: 1px solid #f2f2f2;
  }

  .l-drawer--navi08 li a:hover {
    background: #f2f2f2;
  }
}
#sampleVideo {
  width: 100%;
  height: auto;
}

.top--mvSlider {
  width: 100%;
  height: calc( 100vh - 150px);
  margin: 0 auto;
  position: relative;
}

.top--mvSlider ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.top--mvSlider ul li {
  width: 100%;
  height: calc( 100vh - 150px);
  position: absolute;
  top: 0;
  left: 0;
  animation-iteration-count: infinite;
  animation-duration: 40s;
}

.top--mvSlider ul li:nth-child(1) {
  animation-name: slider;
  animation-delay: -3s;
}

.top--mvSlider ul li:nth-child(2) {
  animation-name: slider;
  animation-delay: 5s;
  opacity: 0;
}

.top--mvSlider ul li:nth-child(3) {
  animation-name: slider;
  animation-delay: 13s;
  opacity: 0;
}

.top--mvSlider ul li:nth-child(4) {
  animation-name: slider;
  animation-delay: 21s;
  opacity: 0;
}

.top--mvSlider ul li:nth-child(5) {
  animation-name: slider;
  animation-delay: 29s;
  opacity: 0;
}

.top--mvSlider ul li:nth-child(1) {
  background: url("https://placehold.jp/cfcfcf/ffffff/1920x1080.png") no-repeat center center;
  background-size: cover;
}

.top--mvSlider ul li:nth-child(2) {
  background: url("https://placehold.jp/000000/ffffff/1920x1080.png") no-repeat center center;
  background-size: cover;
}

.top--mvSlider ul li:nth-child(3) {
  background: url("https://placehold.jp/cfcfcf/ffffff/1920x1080.png") no-repeat center center;
  background-size: cover;
}

.top--mvSlider ul li:nth-child(4) {
  background: url("https://placehold.jp/000000/ffffff/1920x1080.png") no-repeat center center;
  background-size: cover;
}

.top--mvSlider ul li:nth-child(5) {
  background: url("https://placehold.jp/cfcfcf/ffffff/1920x1080.png") no-repeat center center;
  background-size: cover;
}

@keyframes slider {
  0% {
    opacity: 0;
  }
  20.83% {
    opacity: 1;
  }
  33.33% {
    opacity: 1;
  }
  45.83% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@media (min-width: 768px) {
  .header--bg {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 2;
  }

  .header--bg--inner {
    background: rgba(255, 255, 255, 0.8);
    padding: 0 20px;
  }

  .header--nav {
    margin-right: 30px;
  }

  .header--nav li {
    height: 100px;
  }
  .header--nav li a {
    position: relative;
    padding: 0 20px;
  }
  .header--nav li a:before {
    content: "";
    position: absolute;
    width: 0;
    background: #013990;
    left: 45%;
    height: 2px;
    bottom: 0;
    transition: all .3s;
    opacity: 0.7;
  }
  .header--nav li a:hover:before {
    width: 100%;
    left: 0;
  }
  .header--nav li a:hover {
    background: #fff;
  }

  .top--mvBg {
    position: relative;
    width: 100%;
    height: 100vh;
    background: linear-gradient(360deg, #f9f6ef 0%, #f9f6ef 30%, #fff 30%, #fff 100%);
  }

  .top--mvBg h1 {
    position: absolute;
    top: 170px;
    right: 20px;
    font-size: .625rem;
    z-index: 100;
  }

  .top--mvTitle {
    position: absolute;
    top: 50%;
    left: 120px;
    transform: translateY(-50%);
    z-index: 1;
  }

  .top--mv {
    position: absolute;
    right: 0;
    top: 150px;
    width: 78%;
    height: calc( 100vh - 150px);
    background: #cfcfcf;
    overflow: hidden;
  }
}
@media (max-width: 767px) {
  .header--bg {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 2;
  }

  .header--bg--inner {
    background: white;
    width: 100%;
    height: 70px;
  }

  .header--logo {
    padding: 10px 0 10px 0;
    text-align: center;
  }

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

  .header--bg--inner ul li:nth-child(2), .header--bg--inner ul li:last-child {
    display: none;
  }

  .top--mvBg {
    position: relative;
    width: 100%;
    height: 384px;
    margin-top: 70px;
    background: linear-gradient(360deg, #f9f6ef 0%, #f9f6ef 30%, #fff 30%, #fff 100%);
  }

  .top--mvBg h1 {
    position: absolute;
    top: 10px;
    left: 10px;
    font-size: .625rem;
    z-index: 100;
  }

  .top--mvTitle {
    position: absolute;
    width: 90%;
    bottom: 5%;
    left: 5%;
    transform: translateY(-5%);
    z-index: 1;
  }

  .top--mv-en {
    font-size: .7rem !important;
  }

  .top--mv {
    position: relative;
    right: 0;
    top: 0;
    width: 100%;
    height: 384px;
    background: #cfcfcf;
    overflow: hidden;
  }

  .top--mvSlider {
    width: 100%;
    height: 384px;
    margin: 0 auto;
    position: relative;
  }

  .top--mvSlider ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .top--mvSlider ul li {
    width: 100%;
    height: 384px;
    position: absolute;
    top: 0;
    left: 0;
    animation-iteration-count: infinite;
    animation-duration: 24s;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .top--mvBg {
    position: relative;
    width: 100%;
    height: 384px;
    margin-top: 70px;
  }

  .top--mvBg h1 {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: .625rem;
    z-index: 100;
  }

  .top--mv {
    position: relative;
    right: 0;
    top: 0;
    width: 100%;
    height: 384px;
    background: #cfcfcf;
    overflow: hidden;
  }

  .top--mvSlider {
    width: 100%;
    height: 384px;
    margin: 0 auto;
    position: relative;
  }

  .top--mvSlider ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .top--mvSlider ul li {
    width: 100%;
    height: 384px;
    position: absolute;
    top: 0;
    left: 0;
    animation-iteration-count: infinite;
    animation-duration: 24s;
  }

  .header--bg {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1;
  }

  .header--bg--inner {
    background: white;
    width: 100%;
    height: 70px;
  }

  .header--logo {
    padding: 10px 0;
    text-align: center;
  }

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

  .header--bg--inner ul li:nth-child(2), .header--bg--inner ul li:last-child {
    display: none;
  }
}
.mv02--mvSlider ul li:nth-child(1) {
  animation-name: mv02--slider;
  animation-delay: -3s;
}

.mv02--mvSlider ul li:nth-child(2) {
  animation-name: mv02--slider;
  animation-delay: 5s;
  opacity: 0;
}

.mv02--mvSlider ul li:nth-child(3) {
  animation-name: mv02--slider;
  animation-delay: 13s;
  opacity: 0;
}

.mv02--mvSlider ul li:nth-child(4) {
  animation-name: mv02--slider;
  animation-delay: 21s;
  opacity: 0;
}

.mv02--mvSlider ul li:nth-child(5) {
  animation-name: mv02--slider;
  animation-delay: 29s;
  opacity: 0;
}

.mv02--mvSlider ul li:nth-child(1) {
  background: url("https://placehold.jp/cfcfcf/ffffff/1920x1080.png") no-repeat center center;
  background-size: cover;
}

.mv02--mvSlider ul li:nth-child(2) {
  background: url("https://placehold.jp/000000/ffffff/1920x1080.png") no-repeat center center;
  background-size: cover;
}

.mv02--mvSlider ul li:nth-child(3) {
  background: url("https://placehold.jp/cfcfcf/ffffff/1920x1080.png") no-repeat center center;
  background-size: cover;
}

.mv02--mvSlider ul li:nth-child(4) {
  background: url("https://placehold.jp/000000/ffffff/1920x1080.png") no-repeat center center;
  background-size: cover;
}

.mv02--mvSlider ul li:nth-child(5) {
  background: url("https://placehold.jp/cfcfcf/ffffff/1920x1080.png") no-repeat center center;
  background-size: cover;
}

@keyframes mv02--slider {
  0% {
    opacity: 0;
  }
  20.83% {
    opacity: 1;
  }
  33.33% {
    opacity: 1;
  }
  45.83% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@media (max-width: 767px) {
  .mv02--gnav-bg {
    width: 100%;
  }

  .mv02--logo {
    display: block;
    width: 100%;
    height: 70px;
    padding: 10px 0;
    text-align: center;
  }

  .mv02--logo img {
    width: auto;
    height: 50px;
  }

  .mv02--mv {
    position: relative;
    width: 100%;
    height: 35vh;
    background: url(https://placehold.jp/cfcfcf/ffffff/1920x1080.jpg) no-repeat center;
    background-size: cover;
  }

  .mv02--mv h1 {
    position: absolute;
    top: 10px;
    left: 10px;
    font-size: .625rem;
    z-index: 1;
  }

  .mv02--title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
  }

  .mv02--mvSlider {
    width: 100%;
    height: 35vh;
    margin: 0 auto;
    position: relative;
  }

  .mv02--mvSlider ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .mv02--mvSlider ul li {
    width: 100%;
    height: 35vh;
    position: absolute;
    top: 0;
    left: 0;
    animation-iteration-count: infinite;
    animation-duration: 40s;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .mv02--gnav-bg {
    width: 100%;
  }

  .mv02--logo {
    display: block;
    width: 100%;
    height: 70px;
    padding: 10px 0;
    text-align: center;
  }

  .mv02--logo img {
    width: auto;
    height: 50px;
  }

  .mv02--mv {
    position: relative;
    width: 100%;
    height: 45vh;
    background-size: cover;
  }

  .mv02--mv h1 {
    position: absolute;
    top: 15px;
    right: 15px;
    font-size: .625rem;
    z-index: 1;
  }

  .mv02--title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
  }

  .mv02--mvSlider {
    width: 100%;
    height: 45vh;
    margin: 0 auto;
    position: relative;
  }

  .mv02--mvSlider ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .mv02--mvSlider ul li {
    width: 100%;
    height: 45vh;
    position: absolute;
    top: 0;
    left: 0;
    animation-iteration-count: infinite;
    animation-duration: 40s;
  }
}
@media (min-width: 992px) {
  .mv02--gnav-bg {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    transition: .3s;
    background: white;
  }

  .mv02--logo {
    padding: 30px 0 30px 15px;
  }

  .mv02--gnav li ul li a {
    display: block;
    padding: 55px 0;
    font-weight: bold;
    text-align: center;
  }

  .mv02--gnav > li:first-child a {
    padding-left: 15px;
  }

  .mv02--gnav > li:first-child a:hover {
    background: none;
  }

  .mv02--gnav-tel li {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
  }

  .mv02--gnav-tel li:first-child {
    margin-left: 30px;
  }

  .mv02--gnav-tel {
    margin-right: 45px;
  }

  .mv02--gnav-tel a {
    color: #333;
    text-decoration: none;
  }

  .mv02--gnav li ul li:nth-child(7) a {
    background: #007236;
    color: #fff;
    padding-left: 30px;
    padding-right: 30px;
  }

  .mv02--gnav li ul li:nth-child(7) a:hover {
    background: rgba(0, 114, 54, 0.8);
  }

  .mv02--gnav li ul li:nth-child(7) a i {
    margin-right: 5px;
  }

  .mv02--gnav li ul li:nth-child(6) a:hover {
    background: none;
    color: #333;
  }

  .mv02--mv {
    position: relative;
    width: 100%;
    height: 100vh;
    background-size: cover;
    border: 15px solid #fff;
  }

  .mv02--mv h1 {
    position: absolute;
    bottom: 30px;
    right: 30px;
    font-size: .625rem;
    z-index: 1;
  }

  .mv02--title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
  }

  .mv02--mvSlider {
    width: 100%;
    height: calc( 100vh - 30px);
    margin: 0 auto;
    position: relative;
  }

  .mv02--mvSlider ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .mv02--mvSlider ul li {
    width: 100%;
    height: calc( 100vh - 30px);
    position: absolute;
    top: 0;
    left: 0;
    animation-iteration-count: infinite;
    animation-duration: 40s;
  }
}
.mv02--scroll.is-hello {
  opacity: 1;
  transition: all 0.9s;
}

.mv02--scroll {
  bottom: 34px;
  display: block;
  height: 100px;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  width: 34px;
  opacity: 0;
  z-index: 10;
}

.mv02--scroll.is-hello {
  opacity: 1;
  transition: all 0.9s;
}

.mv02--scroll__text {
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  color: #081b26;
  font-family: "Roboto", sans-serif;
}

.mv02--scroll:before {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  content: "";
  display: inline-block;
  vertical-align: middle;
  background: #45c2fd;
  border-radius: 5px;
  height: 7px;
  left: 14px;
  position: absolute;
  top: 24px;
  width: 7px;
  z-index: 1;
  -webkit-animation: scrollup 1300ms cubic-bezier(0.77, 0, 0.175, 1) 0ms infinite both;
  animation: scrollup 1300ms cubic-bezier(0.77, 0, 0.175, 1) 0ms infinite both;
}

@-webkit-keyframes scrolldown {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(0, -17px);
    transform: translate(0, -17px);
  }
}
@keyframes scrolldown {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(0, -17px);
    transform: translate(0, -17px);
  }
}
@-webkit-keyframes scrollup {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(0, 65px);
    transform: translate(0, 65px);
  }
}
@keyframes scrollup {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  100% {
    -webkit-transform: translate(0, 65px);
    transform: translate(0, 65px);
  }
}
.mv02--scroll:after {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  content: "";
  display: inline-block;
  vertical-align: middle;
  background: #153548;
  height: 70px;
  left: 17px;
  position: relative;
  top: 11px;
  width: 1px;
}

@media screen and (max-width: 767px) {
  .mv02--scroll {
    display: none !important;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .mv02--scroll {
    display: none !important;
  }
}
@-moz-document url-prefix() {
  .mv02--scroll {
    animation: none !important;
  }
}
@media (max-width: 767px) {
  .parts-mv-2nd-01-box {
    position: relative;
    margin-top: 70px;
  }

  .parts-mv-2nd-01-title {
    position: absolute;
    width: 60%;
    min-height: 140px;
    background: #fff;
    z-index: 1;
    bottom: -70px;
    padding: 0 15px;
  }

  .parts-mv-2nd-01-title h2 {
    margin-bottom: 10px;
  }

  .parts-mv-2nd-01-title span {
    font-family: 'Marcellus', serif;
    letter-spacing: .25em;
    text-transform: uppercase;
  }

  .parts-mv-2nd-01-pan {
    position: relative;
    padding-right: 10px;
    margin-top: 27px;
    margin-bottom: 29px;
  }

  .parts-mv-2nd-01-pan li {
    font-size: .625rem;
  }

  .parts-mv-2nd-01-pan li:first-child:after {
    content: "\f30b";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin: 0 5px;
  }

  .parts-mv-2nd-01-pan a:hover {
    text-decoration: underline;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .parts-mv-2nd-01-box {
    position: relative;
    margin-top: 70px;
  }

  .parts-mv-2nd-01-title {
    position: absolute;
    width: 60%;
    min-height: 140px;
    background: #fff;
    z-index: 1;
    bottom: -70px;
    padding: 0 15px;
  }

  .parts-mv-2nd-01-title h2 {
    margin-bottom: 10px;
  }

  .parts-mv-2nd-01-title span {
    font-family: 'Marcellus', serif;
    letter-spacing: .25em;
    text-transform: uppercase;
  }

  .parts-mv-2nd-01-pan {
    position: relative;
    padding-right: 10px;
    margin-top: 27px;
    margin-bottom: 29px;
  }

  .parts-mv-2nd-01-pan li {
    font-size: .625rem;
  }

  .parts-mv-2nd-01-pan li:first-child:after {
    content: "\f30b";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin: 0 5px;
  }

  .parts-mv-2nd-01-pan a:hover {
    text-decoration: underline;
  }
}
@media (min-width: 991px) {
  .parts-mv-2nd-01-box {
    position: relative;
  }

  .parts-mv-2nd-01-img {
    margin-left: auto;
    width: 75%;
  }

  .parts-mv-2nd-01-title {
    position: absolute;
    width: 40%;
    min-height: 300px;
    background: #fff;
    z-index: 1;
    bottom: 20%;
  }

  .parts-mv-2nd-01-title h2 {
    font-weight: bold;
    margin-bottom: 10px;
  }

  .parts-mv-2nd-01-title span {
    font-family: 'Marcellus', serif;
    letter-spacing: .25em;
    text-transform: uppercase;
  }

  .parts-mv-2nd-01-pan {
    position: relative;
    width: 30%;
    justify-content: center !important;
    margin-top: -60px;
  }

  .parts-mv-2nd-01-pan li {
    font-size: .75rem;
  }

  .parts-mv-2nd-01-pan li:first-child:after {
    content: "\f30b";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin: 0 5px;
  }

  .parts-mv-2nd-01-pan a:hover {
    text-decoration: underline;
  }
}
@media (max-width: 767px) {
  .parts-mv-2nd-02-box {
    position: relative;
    width: 100%;
    height: 25vh;
    background: url("https://placehold.jp/cfcfcf/ffffff/1920x660.jpg") no-repeat center center;
    background-size: cover;
  }

  .parts-mv-2nd-02-box h1 {
    position: absolute;
    top: 10px;
    left: 10px;
    color: #fff;
    font-size: .625rem;
  }

  .parts-mv-2nd-02-title {
    position: absolute;
    left: 10%;
    bottom: 20%;
  }

  .parts-mv-2nd-02-title h2 {
    font-weight: bold;
    margin-bottom: 10px;
  }

  .parts-mv-2nd-02-title h2::after {
    display: block;
    content: "";
    width: 75px;
    border-bottom: 1px solid #333;
    padding-bottom: 10px;
  }

  .parts-mv-2nd-02-title > span {
    letter-spacing: .25rem;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .parts-mv-2nd-02-box {
    position: relative;
    width: 100%;
    height: 34vh;
    background: url("https://placehold.jp/cfcfcf/ffffff/1920x660.jpg") no-repeat center center;
    background-size: cover;
  }

  .parts-mv-2nd-02-box h1 {
    position: absolute;
    top: 15px;
    right: 15px;
    color: #fff;
    font-size: .625rem;
  }

  .parts-mv-2nd-02-title {
    position: absolute;
    left: 10%;
    bottom: 20%;
  }

  .parts-mv-2nd-02-title h2 {
    font-weight: bold;
    margin-bottom: 15px;
  }

  .parts-mv-2nd-02-title h2::after {
    display: block;
    content: "";
    width: 75px;
    border-bottom: 1px solid #333;
    padding-bottom: 15px;
  }

  .parts-mv-2nd-02-title > span {
    letter-spacing: .25rem;
  }
}
@media (min-width: 991px) {
  .parts-mv-2nd-02-box {
    position: relative;
    width: 100%;
    height: 660px;
    padding: 0 80px;
    background: url("https://placehold.jp/cfcfcf/ffffff/1920x660.jpg") no-repeat center center;
    background-size: cover;
  }

  .parts-mv-2nd-02-box h1 {
    position: absolute;
    right: 30px;
    bottom: 30px;
    color: #fff;
    font-size: .625rem;
  }

  .parts-mv-2nd-02-title {
    position: absolute;
    left: 10%;
    bottom: 20%;
  }

  .parts-mv-2nd-02-title h2 {
    font-weight: bold;
    margin-bottom: 15px;
  }

  .parts-mv-2nd-02-title h2::after {
    display: block;
    content: "";
    width: 75px;
    border-bottom: 1px solid #333;
    padding-bottom: 15px;
  }

  .parts-mv-2nd-02-title > span {
    letter-spacing: .25rem;
  }
}
@media (min-width: 768px) {
  .topMv {
    position: relative;
    max-width: 100%;
    min-width: 768px;
    background: url("../image/1920x540.jpg") no-repeat center center;
    background-size: cover;
  }

  .topMv h2 {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
  }

  .top-mv-ttl h2 {
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    color: #fefefe;
    font-weight: bold;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
    text-align: center;
  }

  .top-video {
    position: relative;
    max-width: 100%;
    min-width: 750px;
    height: 100vh;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
  }

  .sec-mv {
    position: relative;
    max-width: 100%;
    min-width: 750px;
    height: 100px;
    background: url(../img/sec-mv.jpg) no-repeat center center;
  }
  .sec-mv h2 {
    position: relative;
    text-align: center;
    font-weight: bold;
    top: 50%;
    transform: translateY(-50%);
  }
  .sec-mv h2 span {
    display: block;
    font-size: 0.4em;
  }

  .sec-movie {
    position: relative;
    max-width: 100%;
    min-width: 750px;
    height: 100px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
  }

  #secVideo {
    position: absolute;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
  }

  .sec-movie-ttl {
    position: absolute;
    z-index: 1;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-weight: bold;
  }
}
@media (max-width: 767px) {
  .topMv {
    position: relative;
    max-width: 100%;
    min-width: 320px;
    height: 150px;
    background: url("../image/1920x540.jpg") no-repeat center center;
    background-size: cover;
  }

  .topMv h2 {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
  }

  .top-mv-ttl h2 {
    position: absolute;
    display: block;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    color: #fefefe;
    font-weight: bold;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
    text-align: center;
  }

  .top-video {
    position: relative;
    width: 100%;
    height: 210px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
  }

  .sec-mv {
    position: relative;
    max-width: 100%;
    min-width: 320px;
    height: 112px;
    background: url(../img/sec-mv.jpg) no-repeat center center;
  }
  .sec-mv h2 {
    position: relative;
    letter-spacing: normal;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
    font-weight: bold;
  }
  .sec-mv h2 span {
    display: block;
    font-size: 0.6em;
  }

  .sec-movie {
    position: relative;
    width: 100%;
    height: 112px;
    background: url(../image/movie/sp-top-movie.jpg) no-repeat center center;
    overflow: hidden;
  }

  .sec-movie-ttl {
    position: relative;
    z-index: 1;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    font-weight: bold;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .topMv {
    height: 237px;
  }

  .top-video {
    position: relative;
    max-width: 100%;
    min-width: 750px;
    height: 400px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
  }
}
@media (min-width: 992px) {
  .topMv {
    height: 558px;
  }
}
@media (min-width: 1200px) {
  .topMv {
    height: 675px;
  }
}
@media (max-width: 767px) {
  .mainWrap {
    margin-top: 70px;
  }

  .parts-mv03 h1 {
    position: absolute;
    top: 10px;
    left: 10px;
    font-size: .625rem;
    color: #000;
    z-index: 2;
  }

  .swiper-title01 {
    position: absolute;
    top: 55%;
    transform: translateY(-55%);
  }

  .swiper-title01 img {
    width: 65%;
    height: auto;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .mainWrap {
    margin-top: 70px;
  }

  .parts-mv03 h1 {
    position: absolute;
    right: 15px;
    bottom: 15px;
    font-size: .625rem;
    color: #000;
    z-index: 2;
  }

  .swiper-title01 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }

  .swiper-title01 img {
    width: 65%;
    height: auto;
  }
}
@media (min-width: 992px) {
  .parts-mv03 h1 {
    position: absolute;
    right: 30px;
    bottom: 30px;
    font-size: .625rem;
    color: #000;
    z-index: 2;
  }

  .swiper-title01 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media (max-width: 767px) {
  .sec-mv-basic-bg {
    width: 100%;
    height: 105px;
    background: url("../img/sec-mv.jpg") no-repeat center bottom;
    background-size: 300%;
    margin-top: 70px;
  }

  .sec-mv-basic-title-bg {
    height: 105px;
  }

  .sec-mv-basic-bg h1 {
    position: absolute;
    top: 10px;
    left: 10px;
    font-size: .625rem;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .sec-mv-basic-bg {
    width: 100%;
    height: 200px;
    background: url("../img/sec-mv.jpg") no-repeat center bottom;
    margin-top: 70px;
  }

  .sec-mv-basic-title-bg {
    height: 216px;
  }

  .sec-mv-basic-bg h1 {
    position: absolute;
    top: 10px;
    left: 10px;
    font-size: .625rem;
  }
}
@media (min-width: 992px) {
  .sec-mv-basic-bg {
    width: 100%;
    height: 200px;
    background: url("../img/sec-mv.jpg") no-repeat center bottom;
    background-size: cover;
    margin-top: 156px;
  }

  .sec-mv-basic-title-bg {
    height: 200px;
  }

  .sec-mv-basic-bg h1 {
    position: absolute;
    top: 30px;
    right: 30px;
    font-size: .625rem;
  }
}
/* second mv ここから */
.second-mv {
  width: 100%;
  background: url("../img/sec-mv.jpg") no-repeat center center;
  background-size: cover;
  padding: 0 10%;
  color: #fff;
}

@media (max-width: 767px) {
  .second-mv {
    height: 115px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .second-mv {
    height: 237px;
  }
}
@media (min-width: 992px) {
  .second-mv {
    height: 540px;
  }
}
/* second mv ここまで */
.insta_btn {
  display: block;
  text-align: center;
  text-decoration: none;
}

.insta_btn .insta {
  position: relative;
  display: block;
  width: 100%;
  height: 100px;
  vertical-align: middle;
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  overflow: hidden;
}

.insta_btn .fa-instagram {
  color: #fff;
  position: relative;
  z-index: 2;
  font-size: 3rem;
  line-height: 100px;
  transition: 1s;
}

.insta_btn:hover .fa-instagram {
  color: #000;
  transition: 1s;
}

.ameba_btn {
  display: block;
  text-align: center;
  text-decoration: none;
}

.ameba_btn .ameba {
  position: relative;
  display: block;
  width: 100%;
  height: 100px;
  vertical-align: middle;
  background: #54af0c;
  overflow: hidden;
}

.ameba_btn .amebaBlog {
  color: #fff;
  position: relative;
  z-index: 2;
  font-size: 3rem;
  line-height: 100px;
  transition: 1s;
}

.ameba_btn:hover .amebaBlog {
  color: #000;
  transition: 1s;
}

.tweet_btn {
  display: block;
  text-align: center;
  text-decoration: none;
}

.tweet_btn .tweet {
  position: relative;
  display: block;
  width: 100%;
  height: 100px;
  vertical-align: middle;
  background: #55acee;
  overflow: hidden;
}

.tweet_btn .fa-twitter {
  color: #fff;
  position: relative;
  z-index: 2;
  font-size: 3rem;
  line-height: 100px;
  transition: 1s;
}

.tweet_btn:hover .fa-twitter {
  color: #000;
  transition: 1s;
}

.fb_btn {
  display: block;
  text-align: center;
  text-decoration: none;
}

.fb_btn .fb {
  position: relative;
  display: block;
  width: 100%;
  height: 100px;
  vertical-align: middle;
  background: #3B5998;
  overflow: hidden;
}

.fb_btn .fa-facebook {
  color: #fff;
  position: relative;
  z-index: 2;
  font-size: 3rem;
  line-height: 100px;
  transition: 1s;
}

.fb_btn:hover .fa-facebook {
  color: #000;
  transition: 1s;
}

.loopSliderWrap {
  top: 0;
  left: 0;
  height: 232px;
  overflow: hidden;
  position: absolute;
}

.loopSlider {
  margin: 0 auto;
  width: 100vw;
  height: 232px;
  text-align: left;
  position: relative;
  overflow: hidden;
}

.loopSlider ul {
  height: 232px;
  float: left;
  overflow: hidden;
}

.loopSlider ul li {
  width: auto;
  height: 232px;
  float: left;
  display: inline;
  overflow: hidden;
}

.loopSlider ul li img {
  width: auto;
  height: 100%;
}

.loopSliderWrap:after {
  content: "";
  display: none;
  clear: none;
}

.swiper-title {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color: #fff;
  text-shadow: 0 0 6px rgba(0, 0, 0, 0.9);
  font-size: 2.5rem;
}

.swiper-img1 {
  background-image: url("../img/swiper-img01.jpg");
  background-repeat: no-repeat;
  width: 1261px;
  background-size: cover;
  background-position: center center;
}

.swiper-img2 {
  background-image: url("../img/swiper-img02.jpg");
  background-repeat: no-repeat;
  width: 1261px;
  background-size: cover;
  background-position: center center;
}

.swiper-img3 {
  background-image: url("../img/swiper-img03.jpg");
  background-repeat: no-repeat;
  width: 1261px;
  background-size: cover;
  background-position: center center;
}

.swiper-button-next {
  background-image: url("../img/swiper-arrow-left.svg");
}

.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style] {
  width: 100% !important;
}

.att {
  padding-left: 1em;
  text-indent: -1em;
}

.attIcon {
  padding-left: 0.5em;
  text-indent: -0.5em;
}

.newsThumbnail {
  position: relative;
  width: 80px;
  height: 80px;
  background: url(https://placehold.jp/cfcfcf/ffffff/640x640.jpg) no-repeat center;
  background-size: cover;
  overflow: hidden;
}
.newsThumbnail img {
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  transform: translateY(-50%);
}

.background50lr {
  background: linear-gradient(90deg, #f9f6ef 0%, #f9f6ef 50%, #fff 50%, #fff 100%);
}

.background50rl {
  background: linear-gradient(-90deg, #f9f6ef 0%, #f9f6ef 50%, #fff 50%, #fff 100%);
}

.backgroundY50tb {
  background: linear-gradient(180deg, #f9f6ef 0%, #f9f6ef 50%, #fff 50%, #fff 100%);
}

.backgroundY50bt {
  background: linear-gradient(-180deg, #f9f6ef 0%, #f9f6ef 50%, #fff 50%, #fff 100%);
}

.bnrBox {
  position: relative;
  width: 100%;
  height: auto;
}
.bnrBox > div:first-child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.bnrBox > div:last-child {
  overflow: hidden;
}
.bnrBox > div:last-child img {
  width: 100%;
  height: auto;
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
}
.bnrBox > div:last-child img:hover {
  -webkit-transform: scale(1.2, 1.2);
  transform: scale(1.2, 1.2);
}

@media (min-width: 768px) {
  .faqList > li {
    border-bottom: 2px dashed #dae0e5;
    padding-bottom: 15px;
    margin-bottom: 15px;
    font-weight: bold;
  }
  .faqList > li:last-child {
    font-weight: normal;
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }

  .newsBox {
    padding: 15px;
    border: 1px solid rgba(0, 0, 0, 0.125);
  }
  .newsBox ul {
    width: 100%;
  }
  .newsBox ul li:first-child {
    width: 80px;
    height: 80px;
    float: left;
    margin-right: 15px;
  }
  .newsBox ul li:nth-child(2) div {
    display: block;
    width: 89.053%;
    float: left;
  }

  a:hover .newsBox {
    background: #f8f9fa;
  }

  .newsDate {
    padding: 0.26666em;
    background: #005bac;
    color: #fff;
    margin-right: 10px;
    margin-bottom: 10px;
  }

  .newsCate {
    padding: 0.26666em;
    margin-bottom: 10px;
  }

  .newsTitle {
    position: relative;
    display: block;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 10px;
  }

  .newsBox2 {
    display: block;
    width: 100%;
    height: auto;
    padding: 15px;
    border: 1px solid rgba(0, 0, 0, 0.125);
  }

  a:hover .newsBox2 {
    background: #f8f9fa;
  }

  .newsDate2 {
    margin-right: 10px;
  }

  .newsTitle2 {
    display: block;
    width: 100%;
    margin-top: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .headTbl {
    display: table;
    width: auto;
    height: auto;
    float: right;
    clear: right;
  }
  .headTbl li {
    display: table-cell;
  }

  .infoBnr {
    border: 3px double #333;
    padding: 1rem;
    text-align: center;
  }
  .infoBnr div:nth-child(1) {
    border-right: 1px solid #333;
    padding: 1rem;
    font-weight: bold;
  }
  .infoBnr div:nth-child(2) a {
    padding: 1rem;
    color: #333;
  }
  .infoBnr div:nth-child(2) a:hover {
    color: #333;
    text-decoration: none;
  }
  .infoBnr div:nth-child(2) small {
    display: block;
  }
  .infoBnr div:nth-child(3) a {
    position: relative;
    display: block;
    background: #333333;
    padding: 1.5rem;
    color: #fff;
  }
  .infoBnr div:nth-child(3) a:after {
    position: absolute;
    display: block;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    top: 50%;
    transform: translateY(-50%);
    right: 1rem;
  }
  .infoBnr div:nth-child(3) a:hover {
    background: rgba(51, 51, 51, 0.7);
  }

  #fixNavi {
    position: fixed;
    top: 0;
    z-index: 2;
  }

  .priceTbl {
    display: table;
  }
  .priceTbl li {
    display: table-cell;
    vertical-align: middle;
    line-height: 1em;
    border-bottom: 1px solid #dae0e5;
    padding-bottom: 1em;
  }
  .priceTbl li:nth-child(1) {
    width: 50%;
    height: auto;
  }
  .priceTbl li:nth-child(1) span {
    display: block;
    margin-top: 10px;
    font-size: 0.75em;
  }
  .priceTbl li:nth-child(2) {
    width: 50%;
    height: auto;
    text-align: right;
  }

  .companyTbl {
    width: 100%;
  }
  .companyTbl th {
    width: 30%;
    padding: 1em 0;
    border-bottom: 1px solid #dae0e5;
    box-sizing: border-box;
  }
  .companyTbl th div {
    background: #005bac;
    padding: 0.615em 1em;
    color: #fff;
    font-weight: bold;
  }
  .companyTbl td {
    width: 70%;
    padding: 1em;
    border-bottom: 1px solid #dae0e5;
    box-sizing: border-box;
  }
  .companyTbl td p {
    margin-bottom: 15px;
    border-bottom: 1px solid #dae0e5;
    padding-bottom: 15px;
  }
  .companyTbl td p:last-child {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
  }
  .companyTbl a:link {
    text-decoration: underline;
  }

  .companyTbl2 {
    width: 100%;
  }
  .companyTbl2 th {
    width: 30%;
    padding: 1em;
    border-bottom: 1px solid #dae0e5;
    box-sizing: border-box;
  }
  .companyTbl2 th div {
    font-weight: bold;
  }
  .companyTbl2 td {
    width: 70%;
    padding: 1em;
    border-bottom: 1px solid #dae0e5;
    box-sizing: border-box;
  }
  .companyTbl2 td p {
    margin-bottom: 15px;
    border-bottom: 1px solid #dae0e5;
    padding-bottom: 15px;
  }
  .companyTbl2 td p:last-child {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
  }
  .companyTbl2 a:link {
    text-decoration: underline;
  }

  .pdgBox {
    padding: 0 30px;
  }

  .xx-gutters {
    margin: auto -15px auto;
  }

  .img50Box {
    width: 100%;
    height: auto;
  }
  .img50Box li:nth-child(1) > div {
    max-width: 100%;
    min-width: 320px;
    height: auto;
    min-height: 540px;
    background: url("https://placehold.jp/cfcfcf/ffffff/1920x540.jpg") no-repeat center;
    background-size: cover;
  }

  .introTbl {
    width: 100%;
    height: auto;
  }
  .introTbl th {
    width: 35%;
    font-weight: bold;
    vertical-align: middle;
    padding: 0.26666em 1em;
    box-sizing: border-box;
    border-bottom: 1px solid #dae0e5;
  }
  .introTbl td {
    width: 65%;
    vertical-align: middle;
    padding: 0.26666em 1em;
    box-sizing: border-box;
    border-bottom: 1px solid #dae0e5;
  }

  .titleBoxBig {
    width: 100%;
    min-width: 750px;
    height: auto;
    min-height: 540px;
    background: url("https://placehold.jp/cfcfcf/ffffff/1920x1080.jpg") no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
  }
  .titleBoxBig div {
    height: 540px;
  }
  .titleBoxBig h3 {
    color: #fff;
    position: relative;
    text-align: center;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.9);
  }

  .triangle_arrow {
    width: 0;
    height: 0;
    border-left: 50vw solid transparent;
    border-right: 50vw solid transparent;
    border-top: 120px solid #005bac;
  }

  .triangle_arrowS {
    width: 0;
    height: 0;
    border-left: 90px solid transparent;
    border-right: 90px solid transparent;
    border-top: 60px solid #005bac;
  }

  .listStyle > li {
    border-bottom: 1px solid #dae0e5;
    padding-bottom: 15px;
    margin-bottom: 30px;
  }
  .listStyle > li:last-child {
    margin-bottom: 0;
  }

  .listStyle-inner {
    display: table;
    width: 100%;
  }
  .listStyle-inner li {
    display: table-cell;
  }
  .listStyle-inner li:first-child {
    width: 20px;
  }
  .listStyle-inner li:last-child {
    padding-left: 10px;
    font-weight: bold;
  }

  .tpl_bg63_bg {
    position: relative;
    width: 100%;
    height: auto;
  }

  .tpl_bg63 {
    position: absolute;
    right: 0;
    width: 63.85%;
    height: 515px;
    background: url("https://placehold.jp/cfcfcf/ffffff/1277x515.jpg") no-repeat center;
    background-size: cover;
  }

  .flowBox01 li div {
    position: relative;
  }
  .flowBox01 li div > i {
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -1.75rem;
    font-size: 3.5rem;
    z-index: 1;
  }

  .voice-box {
    padding: 30px;
    border: 1px solid #cfcfcf;
    background: #fff;
  }

  .voice-box-title {
    border-bottom: 1px solid #cfcfcf;
    padding-bottom: 15px;
    margin-bottom: 15px;
  }

  .voice-box-sex {
    display: inline-block;
    font-size: 0.75rem;
    color: #fff;
    background: #005bac;
    padding: 2px 4px 3px 4px;
    margin-bottom: 11px;
  }

  .voice-number {
    position: absolute;
    top: -1em;
    left: -1em;
  }

  .voice-number-bg {
    display: inline-block;
    width: 2em;
    height: 2em;
    background: #b71232;
    border-radius: 1em;
    text-align: center;
    line-height: 2em;
    color: #fefefe;
  }

  .shadowBox-l,
  .shadowBox-r {
    position: relative;
  }

  .shadowBox-l:after {
    display: block;
    position: absolute;
    content: "";
    width: 100%;
    top: 30px;
    bottom: -30px;
    left: -30px;
    background: rgba(0, 0, 0, 0.05);
  }

  .shadowBox-r:after {
    display: block;
    position: absolute;
    content: "";
    width: 100%;
    top: 30px;
    bottom: -30px;
    left: 30px;
    background: rgba(0, 0, 0, 0.05);
  }

  .shadowBox-l-inner,
  .shadowBox-r-inner {
    position: relative;
    z-index: 1;
    overflow: hidden;
  }

  a:hover .shadowBox-l-inner img,
  a:hover .shadowBox-r-inner img {
    transform: scale(1.1);
    transration: 1s;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
  }

  .shadowBox-l-inner img,
  .shadowBox-r-inner img {
    transition-duration: 1s;
  }

  .shadowBox-inner-box {
    position: absolute;
    background: rgba(254, 254, 254, 0.8);
    padding: 30px;
    right: 30px;
    bottom: -30px;
    left: 30px;
    box-sizing: border-box;
    z-index: 2;
    text-align: center;
  }
  .shadowBox-inner-box h4 {
    border-bottom: 1px solid #333;
    padding-bottom: 15px;
    margin-bottom: 15px;
  }

  .bnrBox-nogutter {
    margin: 0 -15px;
  }

  .titleLarge-box {
    position: relative;
    display: block;
    text-align: center;
  }
  .titleLarge-box p {
    position: relative;
    display: block;
    width: 100%;
    font-family: 'Open Sans', sans-serif;
    font-size: 5.5rem;
    line-height: 4.4rem;
    background: linear-gradient(120deg, rgba(245, 245, 245, 0.7) 0%, rgba(234, 234, 234, 0.7) 100%);
    -webkit-background-clip: text;
    color: transparent;
    font-weight: 600;
    overflow-wrap: break-word;
  }
  .titleLarge-box h3 {
    display: block;
    width: 100%;
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 2px;
  }

  .centerLine-title {
    position: relative;
    text-align: center;
    padding-top: 9rem;
  }

  .centerLine-title:before {
    content: "";
    display: block;
    width: .07143rem;
    height: 7.14286rem;
    position: absolute;
    top: 0px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: #000;
  }

  .recruit--bnr a {
    display: block;
    width: 100%;
    height: 520px;
    background-image: url("https://placehold.jp/cfcfcf/ffffff/750x464.png");
    background-size: cover;
    background-position: center center;
    /*
    filter: grayscale(100%);
    */
    color: #fff;
  }

  .recruit--bnr a:hover .recruit--bnr--inner {
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    border: 1px solid #000;
    color: #fff;
    transition: 1s;
  }

  .recruit--bnr--inner {
    width: 60%;
    height: auto;
    padding: 30px;
    border: 1px solid #fff;
    transition: 1s;
    background: rgba(255, 255, 255, 0.7);
    color: #333;
  }

  .recruit--bnr--inner p {
    line-height: 1em;
  }

  .recruit--bnr--inner p:first-child {
    letter-spacing: .5rem;
    margin-bottom: 15px;
  }

  .recruit--bnr--inner p:nth-child(2) {
    letter-spacing: .5rem;
  }

  .number--4column {
    padding: 0 15px;
  }

  .number--4column-number {
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 4.5rem;
    line-height: 3.5rem;
    padding-top: 30px;
    border-top: 1px solid #333;
  }

  .faqBtn {
    display: block;
    width: 100%;
    text-align: left;
    background: #f8f9fa;
  }
  .faqBtn span:first-child {
    font-size: 2rem;
    padding: 26px;
  }

  .faqBtn > div > span:nth-child(2) {
    line-height: 1.47059em;
    padding: 1rem 0;
    font-weight: bold;
  }

  .faqBtn > div > span:last-child {
    padding-right: 26px;
  }
}
@media (max-width: 767px) {
  .bnrBox-row-nogguter-bg {
    margin-right: -5px;
    margin-left: -5px;
  }

  .bnrBox-row-nogguter {
    margin-right: -10px;
    margin-left: -10px;
  }

  .swiper-container-bg {
    margin-top: 60px;
  }

  .swiper-container {
    width: 100%;
    height: 232px;
  }

  .swiper-title {
    font-size: 1.5rem;
  }

  .faqList > li {
    border-bottom: 2px dashed #dae0e5;
    padding-bottom: 10px;
    margin-bottom: 10px;
    font-weight: normal;
  }
  .faqList li > span {
    display: inline-block;
  }
  .faqList li:last-child {
    font-weight: normal;
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .newsBox {
    padding: 10px;
    border: 1px solid rgba(0, 0, 0, 0.125);
  }
  .newsBox ul {
    width: 100%;
  }
  .newsBox ul li:first-child {
    width: 80px;
    height: 80px;
    float: left;
    margin-right: 10px;
  }
  .newsBox ul li:nth-child(2) div {
    display: block;
    width: 63%;
    float: left;
  }

  a:hover .newsBox {
    background: #f8f9fa;
  }

  .newsDate {
    display: inline-block;
    padding: 0.26666em;
    background: #005bac;
    color: #fff;
    margin-right: 5px;
  }

  .newsCate {
    display: inline-block;
    padding: 0.26666em;
  }

  .newsTitle {
    position: relative;
    display: block;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 10px;
  }

  .newsBox2 {
    display: block;
    width: 100%;
    height: auto;
    padding: 10px;
    border: 1px solid rgba(0, 0, 0, 0.125);
  }

  a:hover .newsBox2 {
    background: #f8f9fa;
  }

  .newsDate2 {
    margin-right: 5px;
  }

  .newsTitle2 {
    display: block;
    width: 100%;
    margin-top: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .infoBnr {
    border: 3px double #333;
    padding: 1rem;
    text-align: center;
    margin-left: 0;
    margin-right: 0;
  }
  .infoBnr div:nth-child(1) {
    border-right: none;
    padding: 0 1rem 1rem 1rem;
    font-weight: bold;
  }
  .infoBnr div:nth-child(2) {
    border-top: 1px solid #333;
    padding-top: 1rem;
  }
  .infoBnr div:nth-child(2) a {
    display: block;
    width: 100%;
    padding: 0 1rem 1rem 1rem;
    color: #333;
  }
  .infoBnr div:nth-child(2) a:hover {
    color: #333;
    text-decoration: none;
  }
  .infoBnr div:nth-child(2) small {
    display: block;
  }
  .infoBnr div:nth-child(3) a {
    position: relative;
    display: block;
    background: #333333;
    padding: 1.5rem;
    color: #fff;
  }
  .infoBnr div:nth-child(3) a:after {
    position: absolute;
    display: block;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    top: 50%;
    transform: translateY(-50%);
    right: 1rem;
  }
  .infoBnr div:nth-child(3) a:hover {
    background: rgba(51, 51, 51, 0.7);
  }

  .priceTbl {
    display: table;
  }
  .priceTbl li {
    display: table-cell;
    vertical-align: middle;
    line-height: 1em;
    border-bottom: 1px solid #dae0e5;
    padding-bottom: 1em;
  }
  .priceTbl li:nth-child(1) {
    width: 50%;
    height: auto;
  }
  .priceTbl li:nth-child(1) span {
    display: block;
    margin-top: 5px;
    font-size: 0.75em;
  }
  .priceTbl li:nth-child(2) {
    width: 50%;
    height: auto;
    text-align: right;
  }

  .companyTbl {
    width: 100%;
  }
  .companyTbl th {
    display: block;
    padding: 1em 0 0 0;
    box-sizing: border-box;
  }
  .companyTbl th div {
    border-left: 3px solid #005bac;
    padding: 0 0 0 .3rem;
    font-weight: bold;
  }
  .companyTbl td {
    display: block;
    padding: 1em 0;
    border-bottom: 1px solid #dae0e5;
    box-sizing: border-box;
  }
  .companyTbl td p {
    margin-bottom: 10px;
    border-bottom: 1px solid #dae0e5;
    padding-bottom: 10px;
  }
  .companyTbl td p:last-child {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
  }
  .companyTbl a:link {
    text-decoration: underline;
  }

  .companyTbl2 {
    width: 100%;
  }
  .companyTbl2 th {
    display: block;
    padding: 1em 0 0 0;
    box-sizing: border-box;
  }
  .companyTbl2 th div {
    padding: 0;
    font-weight: bold;
  }
  .companyTbl2 td {
    display: block;
    padding: .5em 0 1em 0;
    border-bottom: 1px solid #dae0e5;
    box-sizing: border-box;
  }
  .companyTbl2 td p {
    margin-bottom: 10px;
    border-bottom: 1px solid #dae0e5;
    padding-bottom: 10px;
  }
  .companyTbl2 td p:last-child {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
  }
  .companyTbl2 a:link {
    text-decoration: underline;
  }

  .pdgBox {
    padding: 0px 10px;
  }

  .introTbl {
    width: 100%;
    height: auto;
  }
  .introTbl th {
    width: 30%;
    font-weight: bold;
    vertical-align: middle;
    padding: 0.26666em 1em;
    box-sizing: border-box;
    border-bottom: 1px solid #dae0e5;
  }
  .introTbl td {
    width: 70%;
    vertical-align: middle;
    padding: 0.26666em 1em;
    box-sizing: border-box;
    border-bottom: 1px solid #dae0e5;
  }

  .xx-gutters {
    margin: auto -5px auto;
  }

  .img50Box li {
    height: auto;
  }
  .img50Box li:nth-child(1) > div {
    max-width: 100%;
    min-width: 320px;
    height: auto;
    min-height: 232px;
    background: url(https://placehold.jp/cfcfcf/ffffff/1920x540.jpg) no-repeat center center;
    background-size: cover;
  }

  .titleBoxBig {
    width: 100%;
    min-width: 320px;
    height: auto;
    min-height: 232px;
    background: url(https://placehold.jp/cfcfcf/ffffff/1920x1080.jpg) no-repeat center center;
    background-size: cover;
  }
  .titleBoxBig div {
    height: 232px;
  }
  .titleBoxBig h3 {
    color: #fff;
    position: relative;
    text-align: center;
    text-shadow: 0 0 3px rgba(0, 0, 0, 0.8);
  }

  .triangle_arrow {
    width: 0;
    height: 0;
    border-left: 50vw solid transparent;
    border-right: 50vw solid transparent;
    border-top: 45px solid #005bac;
  }

  .triangle_arrowS {
    width: 0;
    height: 0;
    border-left: 45px solid transparent;
    border-right: 45px solid transparent;
    border-top: 30px solid #005bac;
    margin-left: auto;
    margin-right: auto;
  }

  .listStyle > li {
    border-bottom: 1px solid #dae0e5;
    padding-bottom: 10px;
    margin-bottom: 15px;
  }
  .listStyle > li:last-child {
    margin-bottom: 0;
  }

  .listStyle-inner {
    display: table;
    width: 100%;
  }
  .listStyle-inner li {
    display: table-cell;
  }
  .listStyle-inner li:first-child {
    width: 20px;
  }
  .listStyle-inner li:last-child {
    padding-left: 10px;
    font-weight: bold;
  }

  .flowBox01 li div {
    position: relative;
  }
  .flowBox01 li div > i {
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    margin-left: -1.75rem;
    bottom: -2.625rem;
    font-size: 3.5rem;
    transform: rotate(90deg);
    z-index: 1;
  }

  .flowBox01 li:last-child div i {
    display: none;
  }

  .loopSliderWrap {
    top: 0;
    left: 0;
    height: 116px;
    overflow: hidden;
    position: absolute;
  }

  .loopSlider {
    margin: 0 auto;
    width: 100vw;
    height: 116px;
    text-align: left;
    position: relative;
    overflow: hidden;
  }

  .loopSlider ul {
    height: 116px;
    float: left;
    overflow: hidden;
  }

  .loopSlider ul li {
    width: auto;
    height: 116px;
    float: left;
    display: inline;
    overflow: hidden;
  }

  .voice-box {
    padding: 10px;
    border: 1px solid #cfcfcf;
    background: #fff;
  }

  .voice-box-title {
    border-bottom: 1px solid #cfcfcf;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }

  .voice-box-sex {
    display: inline-block;
    font-size: 0.75rem;
    color: #fff;
    padding: 2px 4px 3px 4px;
    background: #005bac;
    margin-bottom: 6px;
  }

  .voice-number {
    position: absolute;
    top: -10px;
    right: -10px;
  }

  .voice-number-bg {
    display: inline-block;
    width: 2em;
    height: 2em;
    background: #b71232;
    border-radius: 1em;
    text-align: center;
    line-height: 2em;
    color: #fefefe;
  }

  .shadowBox-l, .shadowBox-r {
    position: relative;
  }

  .shadowBox-l:after {
    display: block;
    position: absolute;
    content: "";
    width: 100%;
    top: 10px;
    bottom: -10px;
    left: -10px;
    background: rgba(0, 0, 0, 0.05);
  }

  .shadowBox-r:after {
    display: block;
    position: absolute;
    content: "";
    width: 100%;
    top: 10px;
    bottom: -10px;
    left: 10px;
    background: rgba(0, 0, 0, 0.05);
  }

  .shadowBox-l-inner,
  .shadowBox-r-inner {
    position: relative;
    z-index: 1;
    overflow: hidden;
  }

  a:hover .shadowBox-l-inner img,
  a:hover .shadowBox-r-inner img {
    transform: scale(1.1);
    transration: 1s;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    opacity: 1;
  }

  .shadowBox-l-inner img,
  .shadowBox-r-inner img {
    transition-duration: 1s;
  }

  .shadowBox-inner-box {
    position: absolute;
    background: rgba(254, 254, 254, 0.8);
    padding: 10px;
    right: 10px;
    bottom: -10px;
    left: 10px;
    box-sizing: border-box;
    z-index: 2;
    text-align: center;
  }
  .shadowBox-inner-box h4 {
    border-bottom: 1px solid #333;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }

  .imgBox03, .imgBox04 {
    margin-left: -10px;
    margin-right: -10px;
  }

  .imgBox03 div:first-child, .imgBox04 div:first-child {
    padding: 0 !important;
  }

  .imgBox03 div:last-child, .imgBox04 div:last-child {
    padding-right: 5px !important;
    padding-left: 5px !important;
  }

  .bnrBox-nogutter {
    margin: 0 -10px;
  }

  .titleLarge-box {
    position: relative;
    display: block;
    text-align: center;
  }
  .titleLarge-box p {
    position: relative;
    display: block;
    width: 100%;
    font-family: 'Open Sans', sans-serif;
    font-size: 3.5rem;
    line-height: 2.8rem;
    background: linear-gradient(120deg, rgba(245, 245, 245, 0.7) 0%, rgba(234, 234, 234, 0.7) 100%);
    -webkit-background-clip: text;
    color: transparent;
    font-weight: 600;
    overflow-wrap: break-word;
  }
  .titleLarge-box h3 {
    display: block;
    width: 100%;
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 2px;
  }

  .centerLine-title {
    position: relative;
    text-align: center;
    padding-top: 4.5rem;
  }

  .centerLine-title:before {
    content: "";
    display: block;
    width: .07143rem;
    height: 3.57143rem;
    position: absolute;
    top: 0px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: #000;
  }

  .recruit--bnr a {
    display: block;
    width: 100%;
    height: 232px;
    background-image: url("https://placehold.jp/cfcfcf/ffffff/1920x1080.png");
    background-size: cover;
    background-position: center center;
    /*
    filter: grayscale(100%);
    */
    color: #fff;
  }

  .recruit--bnr a:hover .recruit--bnr--inner {
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    border: 1px solid #000;
    transition: 1s;
  }

  .recruit--bnr--inner {
    width: 80%;
    height: 40%;
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid #fff;
    color: #333;
    transition: 1s;
  }

  .recruit--bnr--inner p {
    line-height: 1em;
  }

  .recruit--bnr--inner p:first-child {
    letter-spacing: .5rem;
    margin-bottom: 5px;
  }

  .recruit--bnr--inner p:nth-child(2) {
    letter-spacing: .5rem;
  }

  .number--4column-number {
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 3rem;
    line-height: 1.5rem;
    padding-top: 20px;
    border-top: 1px solid #333;
  }

  .faqBtn {
    display: block;
    width: 100%;
    text-align: left;
    background: #f8f9fa;
  }
  .faqBtn span:first-child {
    font-size: 1.5rem;
    padding: 26px;
  }

  .faqBtn > div > span:nth-child(2) {
    line-height: 1.47059em;
    padding: 1rem 0;
    font-weight: bold;
  }

  .faqBtn > div > span:last-child {
    padding-right: 26px;
  }

  .twoCol-7-5 {
    margin-right: -12px;
    margin-left: -12px;
  }

  .twoCol-7-5 > li:first-child {
    padding-left: 0;
    padding-right: 0;
  }

  .twoCol-7-5 > li:last-child {
    margin-right: 6px;
    margin-left: 6px;
  }
}
.answer-box {
  margin-top: 12px;
}

@media screen and (max-width: 991px) and (min-width: 768px) {
  .swiper-container-bg {
    margin-top: 60px;
  }

  .swiper-container {
    width: 100%;
    height: 475px;
  }

  .newsBox ul li:nth-child(2) div {
    display: block;
    width: 85%;
    float: left;
  }

  .newsTitle2 {
    display: block;
    width: 100%;
    margin-top: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.618em;
  }

  .img50Box li {
    height: auto;
  }
  .img50Box li:nth-child(1) > div {
    max-width: 100%;
    min-width: 320px;
    height: auto;
    min-height: 270px;
    background: url(https://placehold.jp/cfcfcf/ffffff/1920x540.jpg) no-repeat center center;
    background-size: cover;
  }

  .infoBnr {
    border: 3px double #333;
    padding: 1rem;
    text-align: center;
  }
  .infoBnr div:nth-child(1) {
    border-right: none;
    padding: 0 1rem 1rem 1rem;
    font-weight: bold;
  }
  .infoBnr div:nth-child(2) {
    border-top: 1px solid #333;
    padding-top: 1rem;
  }
  .infoBnr div:nth-child(2) a {
    display: block;
    width: 100%;
    padding: 0 1rem 1rem 1rem;
    color: #333;
  }
  .infoBnr div:nth-child(2) a:hover {
    color: #333;
    text-decoration: none;
  }
  .infoBnr div:nth-child(2) small {
    display: block;
  }
  .infoBnr div:nth-child(3) a {
    position: relative;
    display: block;
    background: #333333;
    padding: 1.5rem;
    color: #fff;
  }
  .infoBnr div:nth-child(3) a:after {
    position: absolute;
    display: block;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    top: 50%;
    transform: translateY(-50%);
    right: 1rem;
  }
  .infoBnr div:nth-child(3) a:hover {
    background: rgba(51, 51, 51, 0.7);
  }

  .flowBox01 li:nth-child(2n) div i {
    display: none;
  }

  .flowBox01 li:nth-child(3n) div i {
    display: block;
  }

  .flowBox01 li:last-child div i {
    display: none;
  }

  .twoCol-7-5 {
    margin-right: -15px;
    margin-left: -15px;
  }

  .twoCol-7-5 > li:first-child {
    padding-left: 0;
    padding-right: 0;
  }

  .recruit--bnr a {
    height: 420px;
  }
}
@media (min-width: 992px) {
  .swiper-container-bg {
    margin-top: 117px;
  }

  .swiper-container {
    width: 100%;
    height: 558px;
  }

  .flowBox01 li:nth-child(4n) div i {
    display: none;
  }

  .flowBox01 li:last-child div i {
    display: none;
  }

  .imgBox01 {
    position: relative;
  }

  .imgBox01-img {
    position: absolute;
    top: 0;
    right: 0;
  }

  .imgBox01-textBox {
    position: relative;
    margin-top: 50%;
    background: #f9f6ef;
    padding: 30px;
    z-index: 1;
  }

  .imgBox02 {
    position: relative;
  }

  .imgBox02-img {
    position: absolute;
    top: 0;
    left: 0;
  }

  .imgBox02-textBox {
    position: relative;
    margin-top: 50%;
    background: #f9f6ef;
    padding: 30px;
    z-index: 1;
  }

  .imgBox03-bg, .imgBox04-bg {
    padding: 33px 0;
  }

  .imgBox03:after {
    content: "";
    position: absolute;
    background: #f9f6ef;
    top: -10%;
    right: 0;
    width: 60%;
    height: 120%;
    z-index: -1;
  }

  .imgBox03-inner {
    padding-right: 30px;
  }

  .imgBox04:after {
    content: "";
    position: absolute;
    background: #f9f6ef;
    top: -10%;
    left: 0;
    width: 60%;
    height: 120%;
    z-index: -1;
  }

  .imgBox04-inner {
    text-align: right;
    padding-left: 30px;
  }

  .bnrBox-nogutter li:nth-child(1) {
    border-right: 5px solid #fff;
  }

  .bnrBox-nogutter li:nth-child(2) {
    border-right: 5px solid #fff;
    border-left: 5px solid #fff;
  }

  .bnrBox-nogutter li:nth-child(3) {
    border-left: 5px solid #fff;
  }

  .twoCol-7-5 > li:first-child {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (min-width: 1200px) {
  .swiper-container-bg {
    margin-top: 117px;
  }

  .swiper-container {
    width: 100%;
    height: 675px;
  }
}
.second h3 {
  background: #005bac;
  padding: 0.615em 1em;
  box-sizing: border-box;
  color: #fff;
  text-align: center;
}

.second h4 {
  border-left: 4px solid #005bac;
  padding: 6px 0 6px 6px;
}

.second h5 {
  display: inline-block;
  border: 2px solid #005bac;
  box-sizing: border-box;
  color: #005bac;
  padding: 0.3075em .5em 0.3514em;
}

.titleBox01 {
  border-left: 4px solid #005bac;
  padding-left: 1em;
}

.titleBox01 p {
  display: block;
  line-height: 1em;
  margin-top: 0.615em;
  font-family: 'Roboto', sans-serif;
}

.titleBox02 {
  display: inline-block;
  text-align: center;
}

.titleBox02 h4,
.titleBox02 h3 {
  display: block;
  border-bottom: 2px solid #005bac;
  line-height: 0.85em;
  margin-bottom: 15px;
  padding-bottom: 15px;
}

.titleBox02 p {
  font-family: 'Roboto', sans-serif;
  line-height: 0.9em;
}

.titleBox03 {
  display: block;
  text-align: center;
}

.titleBox03 h3 {
  line-height: 1em;
  margin-bottom: 15px;
}

.titleBox03 p {
  display: inline-block;
  line-height: 1em;
  border-bottom: 2px solid #005bac;
  padding-bottom: 10px;
}

.titleBox04 {
  position: relative;
  display: block;
  text-align: center;
  color: #005bac;
  padding-bottom: 30px;
}

.titleBox04:after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 80px;
  content: '';
  border-bottom: 2px solid #005bac;
}

.titleBox04 span {
  display: block;
  font-size: 1rem;
  margin-top: 0.625rem;
}

.ttlSlash {
  position: relative;
  display: inline-block;
  padding: 0 45px;
}

.ttlSlash:before {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 60px;
  height: 2px;
  background-color: #005bac;
  transform: rotate(60deg);
}

.ttlSlash:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 60px;
  height: 2px;
  background-color: #005bac;
  transform: rotate(-60deg);
}

.ttlSlash:before {
  left: 0;
}

.ttlSlash:after {
  right: 0;
}

.ttlLine {
  position: relative;
  display: inline-block;
  padding: 0 140px;
}

.ttlLine:before,
.ttlLine:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 120px;
  height: 2px;
  background-color: #005bac;
}

.ttlLine:before {
  left: 0;
}

.ttlLine:after {
  right: 0;
}

.ttlArrow {
  position: relative;
  display: inline-block;
  padding-bottom: 0.5em;
  border-bottom: 2px solid #005bac;
}

.ttlArrow::before,
.ttlArrow::after {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  content: '';
  border: 15px solid transparent;
}

.ttlArrow::before {
  border-top: 15px solid #005bac;
}

.ttlArrow::after {
  margin-top: -3px;
  border-top: 15px solid #fff;
}

.ttlBrackets {
  position: relative;
  display: inline-block;
  padding: 0.26666em 1em;
}

.ttlBrackets::before {
  position: absolute;
  content: '';
  top: 0;
  right: 0.615em;
  width: 0.615em;
  height: 100%;
  border: solid 2px #005bac;
  border-left: none;
}

.ttlBrackets::after {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 0.615em;
  height: 100%;
  border: solid 2px #005bac;
  border-right: none;
}

@media (max-width: 767px) {
  .titleBox04 {
    position: relative;
    display: block;
    text-align: center;
    color: #005bac;
    padding-bottom: 15px;
  }

  .titleBox04:after {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    width: 80px;
    content: '';
    border-bottom: 2px solid #005bac;
  }

  .titleBox04 span {
    display: block;
    font-size: 0.875rem;
    margin-top: 0.625rem;
  }
}
.title-bgBox {
  display: inline;
  line-height: 2em;
  padding: 2px 0 3px 0;
  letter-spacing: .05em;
  font-weight: bold;
  box-sizing: border-box;
}

.title01::after {
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  content: "";
  width: 78px;
  border-bottom: 2px solid #005bac;
}

@media (max-width: 767px) {
  .title01 {
    position: relative;
    display: block;
    text-align: center;
    padding-bottom: 15px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .title01 {
    position: relative;
    display: block;
    text-align: center;
    padding-bottom: 20px;
  }
}
@media (min-width: 992px) {
  .title01 {
    position: relative;
    display: block;
    text-align: center;
    padding-bottom: 30px;
  }
}
@media (max-width: 767px) {
  .title02::after {
    content: '';
    display: block;
    margin: 15px 0 0 0;
    width: 78px;
    height: 2px;
    background-color: #005bac;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .title02::after {
    content: '';
    display: block;
    margin: 20px 0 0 0;
    width: 78px;
    height: 2px;
    background-color: #005bac;
  }
}
@media (min-width: 992px) {
  .title02::after {
    content: '';
    display: block;
    margin: 30px 0 0 0;
    width: 78px;
    height: 2px;
    background-color: #005bac;
  }
}
.title-bdb {
  display: inline-block;
  border-bottom: 2px solid #005bac;
  padding-bottom: 15px;
}

.btnStyle-01-bg,
.btnStyle-01-bg::after {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

.btnStyle-01-bg {
  min-width: 220px;
  height: 46px;
  background: none;
  border: 2px solid #000;
  cursor: pointer;
  color: #000;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0 1em;
  position: relative;
}

.btnStyle-01-bg::before,
.btnStyle-01-bg::after {
  background: #000;
  content: '';
  position: absolute;
  z-index: -1;
}

.btnStyle-01-bg:hover {
  color: #fff;
}

.btnStyle-01::after {
  height: 100%;
  left: 0;
  top: 0;
  width: 0;
}

.btnStyle-01:hover:after {
  width: 100%;
}

.btnStyle-02 {
  max-width: 270px;
  text-align: center;
  padding: 1em;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  margin: 0 auto;
}

.btnStyle-02:before {
  content: "";
  position: absolute;
  width: 0;
  background: #000;
  left: 45%;
  height: 2px;
  bottom: 0;
  transition: all .3s;
  opacity: 0.7;
}

.btnStyle-02:hover:before {
  width: 100%;
  left: 0;
}

.btnStyle-03-bg {
  max-width: 270px;
  text-align: center;
  display: block;
  position: relative;
  text-decoration: none;
  color: #fff;
  text-transform: capitalize;
  padding: 1em;
  overflow: hidden;
  background: #000;
  margin: auto;
  border-radius: 5px;
}

.btnStyle-03-bg.btnStyle-03 {
  transition: all 0.2s linear 0s;
}
.btnStyle-03-bg.btnStyle-03:before {
  content: "\f30b";
  font-family: "Font Awesome 5 Free";
  font-size: 15px;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  right: 0;
  top: 0;
  opacity: 0;
  height: 100%;
  width: 40px;
  transition: all 0.2s linear 0s;
}
.btnStyle-03-bg.btnStyle-03:hover {
  text-indent: -20px;
  color: #fff;
}
.btnStyle-03-bg.btnStyle-03:hover:before {
  opacity: 1;
  text-indent: 0px;
}

.btn-arrow a {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  height: 46px;
  color: #fff;
  text-align: center;
  background-color: #005bac;
  border: 2px solid #005bac;
  transform: rotate(0.04deg);
  letter-spacing: .1em;
  margin-left: auto;
  margin-right: auto;
  border-radius: 3em;
  text-shadow: 0 0 0.5em rgba(64, 64, 64, 0.2);
}

.btn-arrow a span {
  padding: 0 1.5em;
}

.btn-arrow a:hover {
  color: #005bac;
  background-color: #fff;
}

.btn-arrow a:hover::after {
  right: 1em;
  border-top: 3px solid #005bac;
  border-right: 3px solid #005bac;
}

.btn-arrow a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1.5em;
  margin: auto;
  width: 10px;
  height: 10px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: all .4s ease-out;
}

.btn-arrow-border a {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  height: 46px;
  color: #005bac;
  text-align: center;
  background-color: #fff;
  border: 2px solid #005bac;
  transform: rotate(0.04deg);
  letter-spacing: .1em;
  margin-left: auto;
  margin-right: auto;
  border-radius: 3em;
  text-shadow: 0 0 0.5em rgba(64, 64, 64, 0.2);
}

.btn-arrow-border a span {
  padding: 0 1.5em;
}

.btn-arrow-border a:hover {
  color: #fff;
  background-color: #005bac;
}

.btn-arrow-border a:hover::after {
  right: 1em;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
}

.btn-arrow-border a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1.5em;
  margin: auto;
  width: 10px;
  height: 10px;
  border-top: 3px solid #005bac;
  border-right: 3px solid #005bac;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transition: all .4s ease-out;
}

.pill-button {
  font-weight: 600;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-width: 220px;
  height: 46px;
  padding: 0 23px;
  border-radius: 46px;
  border: 2px solid #005bac;
  background: #005bac;
  color: #fff;
  transition: 1s;
}
.pill-button > a {
  font-weight: bold;
  color: #fff;
}
.pill-button:hover {
  background: #fff;
  color: #005bac;
  transition: 1s;
}
.pill-button:hover a {
  color: #005bac;
}
.pill-button span {
  display: block;
  width: 100%;
  text-align: center;
}

.pill-button-border {
  font-weight: 600;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-width: 220px;
  height: 46px;
  padding: 0 23px;
  border-radius: 46px;
  border: 2px solid #005bac;
  color: #005bac;
}
.pill-button-border span {
  display: block;
  width: 100%;
  text-align: center;
}

.pill-button-border:hover {
  background: #005bac;
  color: #fff;
}

.square-button {
  font-weight: 600;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 46px;
  padding: 0 23px;
  border: 2px solid #005bac;
  background: #005bac;
  color: #fff;
}
.square-button:hover {
  background: #fff;
  color: #005bac;
}

.square-button-border {
  font-weight: 600;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 46px;
  padding: 0 23px;
  border: 2px solid #005bac;
  color: #005bac;
}
.square-button-border :hover {
  background: #005bac;
  color: #fff;
}

a.btn-longArrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 260px;
  height: 62px;
  border-radius: 31px;
  background: #005bac;
  color: #fff;
  transition: 1s;
  font-weight: bold;
}

a:hover.btn-longArrow {
  background: #005bac;
  color: #fff;
  transition: 1s;
}

a.btn-longArrow::after {
  display: block;
  content: "";
  background: url("../img/btn-arrow01.svg") no-repeat;
  background-size: contain;
  width: 34px;
  height: 6px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 16px;
  transition: .5s;
}

a:hover.btn-longArrow::after {
  display: block;
  content: "";
  background: url("../img/btn-arrow01.svg") no-repeat;
  background-size: contain;
  width: 34px;
  height: 6px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 6px;
  transition: .5s;
}

.fadein-top {
  opacity: 0.001;
  transform: translate(0, -50px);
  transition: all 1s;
}

.fadein-bottom {
  opacity: 0.001;
  transform: translate(0, 50px);
  transition: all 1s;
}

.fadein-right {
  opacity: 0.001;
  transform: translate(50px, 0);
  transition: all 1s;
}

.fadein-left {
  opacity: 0.001;
  transform: translate(-50px, 0);
  transition: all 1s;
}

.fadein {
  opacity: 0.001;
  transform: translate(0, 0);
  transition: all 1s;
}

.imgWrap-left, .imgWrap-right {
  display: inline-block;
  opacity: 0.001;
}

.fadein-top.scrollin, .fadein-bottom.scrollin, .fadein-right.scrollin, .fadein-left.scrollin, .fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

.imgWrap-left.scrollin, .imgWrap-right.scrollin {
  opacity: 1;
  overflow: hidden;
  position: relative;
}

.imgWrap-left.scrollin:before {
  animation: img-wrap 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  background: #fff;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.imgWrap-right.scrollin:before {
  animation: img-wrap-right 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  background: #fff;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

@keyframes img-wrap {
  99.9%,to {
    transform: translateX(100%);
  }
}
@keyframes img-wrap-right {
  99.9%,to {
    transform: translateX(-100%);
  }
}
.neon {
  font-size: calc(1vw + 1vh + 1.5vmin);
  color: #fff;
  text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 20px #fff, 0 0 40px #0ff, 0 0 80px #0ff, 0 0 90px #0ff, 0 0 100px #0ff, 0 0 150px #0ff;
}

.lineDot-yellow {
  position: relative;
  width: 2px;
  height: 60px;
  background: #fecb79;
}

.lineDot-yellow::before {
  display: block;
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 3px;
  background: #fecb79;
  top: 0;
  left: -2px;
}

.lineDot-yellow::after {
  display: block;
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 3px;
  background: #fecb79;
  bottom: 0;
  left: -2px;
}

@media (max-width: 767px) {
  .column3--percent--box {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
  }

  .column3--percent--box img {
    border-radius: 10px 10px 0 0;
  }

  .column3--percent--box p:nth-child(2) {
    padding: 0 10px;
  }

  .column3--percent--box p:nth-child(3) {
    padding: 0 10px 10px 10px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .column3--percent--box {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
  }

  .column3--percent--box img {
    display: none;
  }

  .column3--percent--box p:nth-child(2) {
    padding: 0 20px;
  }

  .column3--percent--box p:nth-child(3) {
    padding: 0 20px 20px 20px;
  }
}
@media (min-width: 992px) {
  .column3--percent li {
    padding-right: 45px;
    padding-left: 45px;
  }

  .column3--percent--box {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
  }

  .column3--percent--box img {
    border-radius: 10px 10px 0 0;
  }

  .column3--percent--box p:nth-child(2) {
    padding: 0 20px;
  }

  .column3--percent--box p:nth-child(3) {
    padding: 0 20px 20px 20px;
  }
}
.typ {
  opacity: 0;
}

.typ span {
  opacity: 0;
}

.check--list--bg li > div {
  display: block;
  border-bottom: 1px solid #333;
  padding: 0 24px 24px;
  font-weight: bold;
}

.check--list--bg li {
  margin-bottom: 24px;
}
.check--list--bg li:last-child {
  margin-bottom: 0;
}

.check--list--bg-white li > div {
  display: block;
  border-bottom: 1px solid #fff;
  padding: 0 24px 24px;
  font-weight: bold;
}

.check--list--bg-white li {
  margin-bottom: 24px;
}
.check--list--bg-white li:last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .check--list--bg li > div {
    display: block;
    border-bottom: 1px solid #333;
    padding: 0 12px 12px;
  }

  .check--list--bg li {
    margin-bottom: 12px;
  }

  .check--list--bg-white li > div {
    display: block;
    border-bottom: 1px solid #fff;
    padding: 0 12px 12px;
  }

  .check--list--bg-white li {
    margin-bottom: 12px;
  }
}
@media (max-width: 767px) {
  .img-2col-01 > div:last-child {
    padding: 0 12px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .img-2col-01 > div:last-child {
    padding: 0 15px;
  }
}
@media (min-width: 992px) {
  .img-2col-01 > div:last-child {
    width: calc( 50vw - 90px );
    margin-left: 90px;
  }
}
.bg-grad-blk-wht--45 {
  background: linear-gradient(-45deg, #fff 0%, #fff 50%, #000 50%, #000 100%);
}

.btn--grad {
  position: relative;
  display: inline-block;
  background-image: linear-gradient(90deg, #45aaff 0%, #005daa 100%);
  padding: 1.75rem 3.5rem;
  border-radius: 2.75rem;
  transition: 1s;
  overflow: hidden;
}
.btn--grad > span {
  position: relative;
  z-index: 2;
}
.btn--grad > span:first-child {
  margin-right: 10px;
}

.btn--grad::after {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  transition: 1s;
  opacity: 0;
  background-image: linear-gradient(90deg, #005daa 0%, #45aaff 100%);
  border-radius: 2.75rem;
}

a.btn--grad span, a:hover.btn--grad span, a:visited.btn--grad span {
  color: #fff;
  text-decoration: none;
}

.btn--grad:hover::after {
  opacity: 1;
}

@media (max-width: 991px) {
  .btn--grad {
    display: block;
    padding: 1.75rem;
    border-radius: 4.107rem;
  }
  .btn--grad > span:first-child {
    margin-right: 0;
    margin-bottom: 5px;
  }
  .btn--grad > span {
    display: block;
  }

  .btn--grad::after {
    border-radius: 4.107rem;
  }
}
.banner01 {
  position: relative;
  display: block;
  text-align: center;
}

.banner01 > div:first-child {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.banner01--innner {
  width: 60%;
  height: auto;
  padding: 30px;
  background: rgba(255, 255, 255, 0.8);
  color: #333;
}

.banner01--innner p:first-child {
  font-family: 'Montserrat', sans-serif;
  letter-spacing: .5rem;
  margin-bottom: 15px;
  text-transform: uppercase;
}

.banner01 img {
  filter: grayscale(0%);
  transition: 1s;
}

.banner01:hover img {
  filter: grayscale(100%);
  transition: 1s;
}

@media (max-width: 767px) {
  .banner01--innner {
    padding: 15px;
  }
}
/* お問い合わせ　電話番号 / フォームボタン */
@media (max-width: 767px) {
  .top-sec07-btn-bg {
    margin-left: 5px;
    margin-right: 5px;
  }

  .top-sec07-btn {
    display: block;
    width: 100%;
    height: 90px;
    background: #005bac;
    border-radius: 90px;
    color: #fff;
  }

  a:hover.top-sec07-btn {
    color: #fff;
  }

  a:hover.top-sec07-btn-hover {
    background: #0083f9;
  }

  a:hover.top-sec07-btn-hover > .top-sec07-btn-inner > .top-sec07-btn-icon {
    color: #0083f9;
    transition: 1s;
  }

  .top-sec07-btn-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    line-height: 44px;
    background: #fff;
    color: #005bac;
    text-align: center;
    font-size: 20px;
    margin-right: 7px;
    transition: 1s;
  }

  .top-sec07-btn-inner-text01 {
    font-size: .75rem;
    letter-spacing: .09em;
    margin-bottom: 1px;
  }

  .top-sec07-btn-inner-tel {
    font-family: 'Roboto', sans-serif;
    font-size: 2rem;
    line-height: 1em;
  }

  .top-sec07-btn-inner-text02 {
    font-size: .75rem;
    letter-spacing: .05em;
    margin-bottom: 5px;
  }

  .top-sec07-btn-inner-form {
    font-size: 1.2rem;
    line-height: 1em;
    font-weight: bold;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .top-sec07-btn {
    display: block;
    width: 100%;
    height: 140px;
    background: #005bac;
    border-radius: 30px;
    color: #fff;
  }

  a:hover.top-sec07-btn {
    color: #fff;
  }

  a:hover.top-sec07-btn-hover {
    background: #0083f9;
  }

  a:hover.top-sec07-btn-hover > .top-sec07-btn-inner > .top-sec07-btn-icon {
    color: #0083f9;
    transition: 1s;
  }

  .top-sec07-btn-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    line-height: 56px;
    background: #fff;
    color: #005bac;
    text-align: center;
    font-size: 28px;
    margin-right: 10px;
    transition: 1s;
  }

  .top-sec07-btn-inner-text01 {
    letter-spacing: .08em;
    margin-bottom: 1px;
  }

  .top-sec07-btn-inner-tel {
    font-family: 'Roboto', sans-serif;
    font-size: 2.875rem;
    line-height: 1em;
  }

  .top-sec07-btn-inner-text02 {
    margin-bottom: 5px;
  }

  .top-sec07-btn-inner-form {
    font-size: 1.75rem;
    line-height: 1em;
    font-weight: bold;
    letter-spacing: .06em;
  }
}
@media (min-width: 992px) {
  .top-sec07-btn-bg li:first-child {
    padding-right: 5px;
  }

  .top-sec07-btn-bg li:last-child {
    padding-left: 5px;
  }

  .top-sec07-btn {
    display: block;
    width: 100%;
    height: 140px;
    background: #005bac;
    border-radius: 30px;
    color: #fff;
  }

  a:hover.top-sec07-btn {
    color: #fff;
  }

  a:hover.top-sec07-btn-hover {
    background: #0083f9;
  }

  a:hover.top-sec07-btn-hover > .top-sec07-btn-inner > .top-sec07-btn-icon {
    color: #0083f9;
    transition: 1s;
  }

  .top-sec07-btn-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    line-height: 56px;
    background: #fff;
    color: #005bac;
    text-align: center;
    font-size: 28px;
    margin-right: 10px;
    transition: 1s;
  }

  .top-sec07-btn-inner-text01 {
    letter-spacing: .1em;
    margin-bottom: 1px;
  }

  .top-sec07-btn-inner-tel {
    font-family: 'Roboto', sans-serif;
    font-size: 2.875rem;
    line-height: 1em;
  }

  .top-sec07-btn-inner-text02 {
    margin-bottom: 5px;
  }

  .top-sec07-btn-inner-form {
    font-size: 1.75rem;
    line-height: 1em;
    font-weight: bold;
    letter-spacing: .1em;
  }
}
@media (max-width: 767px) {
  .bdb-over-bg-r {
    margin-right: -5px !important;
    margin-left: -5px !important;
  }

  .bdb-over-r:before {
    display: block;
    content: "";
    width: 1px;
    height: 40px;
    background: #000;
    margin: -20px auto 10px;
  }

  .bdb-over-r {
    text-align: center;
  }
}
@media (min-width: 768px) {
  .bdb-over-r:after {
    display: block;
    content: "";
    width: 100%;
    width: calc( 100% + 30px);
    height: 1px;
    background: #000;
    margin: 30px 0 0 -30px;
  }

  .bdb-over-r {
    display: block;
    width: 70%;
    text-align: right;
  }
}
@media (max-width: 767px) {
  .bdb-over-bg-l {
    margin-right: -5px !important;
    margin-left: -5px !important;
  }

  .bdb-over-l:before {
    display: block;
    content: "";
    width: 1px;
    height: 40px;
    background: #000;
    margin: -20px auto 10px;
  }

  .bdb-over-l {
    text-align: center;
  }
}
@media (min-width: 768px) {
  .bdb-over-l:after {
    display: block;
    content: "";
    width: 100%;
    width: calc( 100% + 30px);
    height: 1px;
    background: #000;
    margin: 30px 0 0;
  }

  .bdb-over-l {
    display: block;
    width: 70%;
    margin-left: 30%;
  }
}
.sec-box01-bg {
  padding-top: 48px;
}

.sec-box01 {
  position: relative;
  padding: 30px 30px 48px;
}

.sec-box01::after {
  display: block;
  content: "";
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #f2f2f2;
  z-index: -1;
}

.sec-box01-img {
  margin-top: -78px;
}

@media (min-width: 992px) {
  .sec-box02 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    z-index: 1;
  }

  .sec-box02-02 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    z-index: 1;
  }

  .sec-box02-inner {
    padding: 30px;
    border-radius: 6px;
    background: #fff;
  }
}
.sec-box02-img-radius {
  border-radius: 6px;
}

@media (max-width: 991px) {
  .sec-box03 {
    position: relative;
    padding: 0 30px 30px 30px;
  }

  .sec-box03::after {
    position: absolute;
    display: block;
    content: "";
    width: 100%;
    height: calc( 100% - 90px );
    right: 0;
    bottom: 0;
    left: 0;
    background: #f2f2f2;
    z-index: -1;
  }
}
@media (min-width: 992px) {
  .sec-box03 {
    position: relative;
    padding: 0 45px 45px 45px;
  }

  .sec-box03::after {
    position: absolute;
    display: block;
    content: "";
    width: 100%;
    height: calc( 100% - 150px );
    right: 0;
    bottom: 0;
    left: 0;
    background: #f2f2f2;
    z-index: -1;
  }
}
@media (max-width: 767px) {
  .companyTbl3 {
    width: 100%;
  }

  .companyTbl3 tr th {
    display: block;
    width: 30%;
  }

  .companyTbl3 tr td {
    display: block;
    width: 100%;
    margin-bottom: 1em;
  }

  .companyTbl3 tr th div {
    position: relative;
    display: block;
    color: #005bac;
    border-bottom: 2px solid #005bac;
    padding: 0 1em 1em 1em;
  }

  .companyTbl3 tr th div::after {
    display: block;
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 2px;
    height: 14px;
    background: #005bac;
  }

  .companyTbl3 td {
    padding: 1em;
    border-bottom: 1px solid #dae0e5;
  }
}
@media (min-width: 768px) {
  .companyTbl3 {
    width: 100%;
  }

  .companyTbl3 tr th {
    width: 20%;
  }

  .companyTbl3 tr th div {
    position: relative;
    display: block;
    color: #005bac;
    border-bottom: 2px solid #005bac;
    padding: 1em;
    margin-right: 1em;
  }

  .companyTbl3 tr th div::after {
    display: block;
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 2px;
    height: 14px;
    background: #005bac;
  }

  .companyTbl3 td {
    padding: 1em;
    border-bottom: 1px solid #dae0e5;
  }
}
/* yes no chart ここから*/
@media (min-width: 992px) {
  .yesno {
    height: 400px;
    position: relative;
    background: #fff;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.07);
    margin: 0 0 40px;
    clear: both;
    overflow: hidden;
  }

  .yesno ul {
    overflow: hidden;
    padding: 0 0 0 25px;
  }

  .yesno ul li {
    list-style: none;
    float: left;
    text-align: center;
    display: block;
    color: #FFF;
    background-color: #066;
    line-height: 200px;
    font-size: 120%;
    width: 320px;
    margin: 0 20px 0 0;
  }

  .positionFit {
    position: absolute;
    left: 0px;
    top: 70px;
    width: 710px;
  }

  .positionFit p {
    background: #eee none repeat scroll 0 0;
    padding: 10px 25px;
    margin: 0 25px;
  }

  .yesno ul li a {
    background-color: #3498db;
    color: #fff;
    display: block;
    height: 100%;
    text-decoration: none;
    width: 100%;
    font-size: 28px;
  }

  .no-bg {
    background: #48cc83 !important;
  }

  .yesno ul li a:hover {
    background-color: #298dcf;
  }

  .yesno .material-icons {
    background: rgba(0, 0, 0, 0.1) none repeat scroll 0 0;
    border-radius: 50%;
    font-size: 30px;
    padding: 10px 10px 8px;
    vertical-align: middle;
    margin: 0 10px 0 0;
  }
}
/* yes no chart ここまで*/
/* スタッフ紹介　ここから */
@media (min-width: 768px) {
  .staff-box-bg {
    background: #fff;
    box-shadow: 0 0 20px #ccc;
  }

  .staff-position {
    position: absolute;
    background: #333;
    color: #fff;
    top: 0;
    left: 0;
    padding: 6px 12px;
  }

  .staff-box-inner {
    padding: 24px;
  }

  .staffTbl {
    width: 100%;
  }

  .staff-tbl-bg {
    background: #f2f2f2;
    padding: 24px;
  }

  .staffTbl tr th {
    width: 9em;
  }

  .staffTbl tr th div {
    display: inline-block;
    width: 9em;
    text-align: center;
    font-weight: 400 !important;
    background: #333;
    color: #fff;
    border-radius: 1em;
    padding: 0 1em;
    line-height: 2em;
  }

  .staffTbl tr td {
    padding: 1em;
  }

  .staffTbl tr {
    border-bottom: 1px dashed #333;
    margin-bottom: 1em;
  }
}
@media (max-width: 767px) {
  .staff-box-bg {
    background: #fff;
    box-shadow: 0 0 20px #ccc;
  }

  .staff-position {
    position: absolute;
    background: #333;
    color: #fff;
    top: 0;
    left: 0;
    padding: 6px 12px;
  }

  .staff-box-inner {
    padding: 12px;
  }

  .staff-tbl-bg {
    background: #f2f2f2;
    padding: 12px;
  }

  .staffTbl {
    width: 100%;
  }

  .staffTbl tr th {
    display: block;
  }

  .staffTbl tr th div {
    display: block;
    width: 9em;
    margin: 0 auto;
    text-align: center;
    font-weight: 400 !important;
    background: #333;
    color: #fff;
    border-radius: 1em;
    padding: 0 1em;
    line-height: 2em;
  }

  .staffTbl tr td {
    display: block;
    padding: 1em 0;
    text-align: center;
  }

  .staffTbl tr {
    display: block;
    border-bottom: 1px dashed #333;
    margin-bottom: 1em;
  }

  .staffTbl tr:last-child {
    margin-bottom: 0;
  }
}
/* スタッフ紹介　ここまで */
/* performance-list　ここから */
@media (max-width: 767px) {
  .performance-list li {
    display: block;
    background: #333;
    color: #fff;
    padding: 1em;
    font-weight: bold;
    margin-bottom: 24px;
  }

  .performance-list li span {
    display: block;
    border-left: 2px solid #fff;
    border-right: 2px solid #fff;
    padding: 0 6px;
  }

  .performance-list li:last-child {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .performance-list li {
    display: block;
    background: #333;
    color: #fff;
    padding: 1em;
    text-align: center;
    font-weight: bold;
    margin-bottom: 36px;
  }

  .performance-list li span {
    display: block;
    border-left: 2px solid #fff;
    border-right: 2px solid #fff;
    padding: 0 12px;
  }

  .performance-list li:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 992px) {
  .performance-list li {
    display: block;
    background: #333;
    color: #fff;
    padding: 1em;
    font-weight: bold;
    text-align: center;
    margin-bottom: 36px;
  }

  .performance-list li span {
    display: block;
    border-left: 2px solid #fff;
    border-right: 2px solid #fff;
    padding: 0 12px;
  }

  .performance-list li:last-child {
    margin-bottom: 0;
  }
}
/* performance-list　ここまで */
/* flow-box　ここから */
@media (max-width: 767px) {
  .flow-line-box {
    position: relative;
    background: #fff;
    border: 1px solid #dae0e5;
    padding: 24px 12px 12px;
  }

  .flow-line {
    border-right: 5px dotted #dae0e5;
    width: 5px;
    height: 48px;
    margin: 0 auto;
  }

  .flow-line-title {
    position: absolute;
    top: -21px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 180px;
    height: 42px;
    border-radius: 21px;
    background: #005bac;
    color: #fff;
    padding: 0 .7em;
    font-size: 1.2rem;
  }
}
@media (min-width: 768px) {
  .flow-line-box {
    position: relative;
    background: #fff;
    border: 1px solid #dae0e5;
    padding: 36px;
  }

  .flow-line {
    border-right: 5px dotted #dae0e5;
    width: 5px;
    height: 72px;
    margin: 0 auto;
  }

  .flow-line-title {
    position: absolute;
    top: -21px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 180px;
    height: 42px;
    border-radius: 21px;
    background: #005bac;
    color: #fff;
    padding: 0 1em;
    font-size: 1.5rem;
  }
}
/* flow-box　ここまで */
/* snsシェアボタン　ここから */
@media (min-width: 768px) {
  .sns-share-btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .sns-share-btn li {
    width: 20%;
    margin-right: 12px;
  }

  .sns-share-btn li:last-child {
    margin-right: 0;
  }
}
@media (max-width: 767px) {
  .sns-share-btn li {
    width: 80%;
    margin: 0 auto 12px;
  }

  .sns-share-btn li:last-child {
    margin-bottom: 0;
  }
}
.sns-share-btn li a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  color: #fff;
}

.sns-share-btn-facebook {
  background: #3b579d;
  border-radius: 6px;
}

.sns-share-btn-twitter {
  background: #1da1f2;
  border-radius: 6px;
}

.sns-share-btn-note {
  background: #49c8b3;
  border-radius: 6px;
}

.sns-share-btn-icon img {
  width: 24px;
  height: 24px;
}

.sns-share-btn li a span {
  padding-right: 10px;
}

/* snsシェアボタン　ここまで */
@media (max-width: 991px) {
  .bg-cont01 {
    background: url("http://placehold.jp/cfcfcf/ffffff/2000x520.jpg") top center no-repeat;
    background-size: 160% auto;
    background-color: #faf8ed;
    padding: 30% 0 60px;
  }

  .box-right {
    width: 95%;
    margin-left: auto;
  }

  .box-right-inner {
    width: 100%;
    height: auto;
    background: #fff;
    padding: 50px 18px;
    box-shadow: 0 0 20px #ccc;
  }

  .box-left {
    width: 95%;
  }

  .box-left-inner {
    width: 100%;
    height: auto;
    background: #fff;
    padding: 50px 18px;
    box-shadow: 0 0 20px #ccc;
  }
}
@media (min-width: 992px) {
  .bg-cont01 {
    background: url("http://placehold.jp/cfcfcf/ffffff/2000x520.jpg") top center no-repeat;
    background-size: 100% auto;
    background-color: #faf8ed;
    padding: 15% 0 100px;
  }

  .box-right {
    width: calc( 50vw + 555px);
    margin-left: auto;
  }

  .box-right-inner {
    width: 100%;
    height: auto;
    background: #fff;
    padding: 36px;
    box-shadow: 0 0 20px #ccc;
  }

  .box-left {
    width: calc( 50vw + 555px);
  }

  .box-left-inner {
    width: 100%;
    height: auto;
    background: #fff;
    padding: 36px;
    box-shadow: 0 0 20px #ccc;
  }
}
@media (min-width: 768px) {
  .bg01 {
    background: url("../img/bg01.png") no-repeat left bottom;
    background-size: 100% auto;
  }
}
@media (max-width: 767px) {
  .bg01 {
    background: url("../img/bg01.png") no-repeat left bottom;
    background-size: 200%;
  }
}
.title-en h3 {
  font-family: 'Lato', sans-serif;
  font-weight: 900;
  letter-spacing: .5rem;
  text-transform: uppercase;
}

.title-jp h3 {
  font-weight: bold;
}

.title-jp p {
  font-family: 'Lato', sans-serif;
  font-weight: 900;
  letter-spacing: .5rem;
  text-transform: uppercase;
}

/* ビフォアアフターここから */
@media (min-width: 768px) {
  .top-ba-line-box {
    position: relative;
    background: #fff;
    border: 1px solid #dae0e5;
    padding: 36px;
  }

  .top-ba-title {
    position: absolute;
    top: -21px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 180px;
    height: 42px;
    border-radius: 21px;
    background: #005bac;
    color: #fff;
    padding: 0 1em;
  }

  .top-ba-box {
    position: relative;
  }

  .top-ba-arrow {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
  }

  .top-ba-arrow img {
    width: 64px;
    height: 7px;
  }

  .top-ba-img {
    display: flex;
  }

  .top-ba-img div {
    margin-right: 18px;
  }

  .top-ba-img div:last-child {
    margin-right: 0;
  }
}
@media (max-width: 767px) {
  .top-ba-line-box {
    position: relative;
    background: #fff;
    border: 1px solid #dae0e5;
    padding: 24px 12px 12px;
  }

  .top-ba-title {
    position: absolute;
    top: -15px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    height: 30px;
    border-radius: 15px;
    background: #005bac;
    color: #fff;
    padding: 0 1em;
  }

  .top-ba-box {
    position: relative;
  }

  .top-ba-arrow {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
  }

  .top-ba-arrow img {
    width: 64px;
    height: 7px;
  }

  .top-ba-img {
    display: flex;
  }

  .top-ba-img div {
    margin-right: 18px;
  }

  .top-ba-img div:last-child {
    margin-right: 0;
  }
}
/* ビフォアアフターここまで */
/* table01ここから */
@media (max-width: 767px) {
  .table01 {
    width: 100%;
  }

  .table01 th {
    display: block;
    font-weight: normal;
    padding: 1em;
    border-bottom: 2px solid #005bac;
  }

  .table01 td {
    display: block;
    padding: 1em;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .table01 {
    width: 100%;
  }

  .table01 th {
    display: block;
    font-weight: normal;
    padding: 1em;
    border-bottom: 2px solid #005bac;
  }

  .table01 td {
    display: block;
    padding: 1em;
    border-bottom: 1px solid #005bac;
  }
}
@media (min-width: 992px) {
  .table01 {
    width: 100%;
    border-collapse: separate !important;
    border-spacing: 5px !important;
  }

  .table01 th {
    font-weight: normal;
    padding: 1em;
    border-bottom: 2px solid #005bac;
  }

  .table01 td {
    padding: 1em;
    border-bottom: 1px solid #005bac;
  }
}
/* table01ここまで */
/* btn01ここから */
.btn01-bg {
  display: inline-block;
  width: 300px;
}

a.btn01 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  box-sizing: border-box;
  background: repeating-linear-gradient(45deg, #ffffff, #ffffff 3px, #f2c643 3px, #f2c643 30px);
  color: #efb813;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-decoration: none;
  position: relative;
}

a.btn01 span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  background: #fff;
  border: 1px solid #f2c643;
  box-sizing: border-box;
  position: absolute;
  top: -6px;
  left: -6px;
  transition-duration: 0.2s;
}

a.btn01:hover span {
  left: 0;
  top: 0;
}

a:hover.btn01 {
  color: #efb813;
}

/* btn01ここまで */
/* btn02ここから */
.btn02 a {
  display: inline-block;
  position: relative;
  padding: 1em 1em 1em 50px;
  color: #333;
  transition: 0.3s;
}

.btn02 a::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  border: 1px solid #333;
  border-radius: 50vh;
  transition: 0.3s;
}

.btn02 a::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 1px solid #333;
  border-right: 1px solid #333;
  transition: 0.3s;
}

.btn02 a:hover {
  text-decoration: underline;
}

.btn02 a:hover::before {
  background-color: #333;
}

.btn02 a:hover::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

/* btn02ここまで */
/* heading01ここから */
.heading01 span {
  display: flex;
  align-items: center;
  color: #005bac;
  font-size: .5em;
  text-transform: uppercase;
  margin-bottom: 30px;
}

.heading01 span::before {
  content: '';
  display: inline-block;
  margin-right: 20px;
  width: 40px;
  height: 1px;
  background-color: #005bac;
}

/* heading01ここまで */
/* header-tpl01ここから */
@media (max-width: 991px) {
  .header-tpl01-bg {
    position: fixed;
    z-index: 3;
    top: 0;
    width: 100%;
  }

  .header-tpl01 {
    display: flex;
    align-items: center;
    width: 100%;
    height: 60px;
    padding: 0 0 0 10px;
    background: #fff;
  }

  .header-tpl01-logo img {
    width: auto;
    height: 40px;
  }
}
@media (min-width: 992px) {
  .header-tpl01-bg {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 3;
    background: #fff;
  }

  .header-tpl01 {
    width: 100%;
    height: 80px;
  }

  .header-tpl01-logo {
    padding-left: 10px;
  }

  a.header-tpl01-contact {
    background: #005bac;
    height: 80px;
    padding: 0 42px;
    color: #fff;
  }

  a:hover.header-tpl01-contact {
    color: #fff;
    background: #004079;
  }

  a.header-tpl01-contact > span > .header-tpl01-contact-icon {
    color: #005bac;
    transition: 1s;
  }

  a:hover.header-tpl01-contact > span > .header-tpl01-contact-icon {
    color: #004079;
    transition: 1s;
  }

  .header-tpl01-contact > span:last-child {
    font-weight: bold;
  }

  a.header-tpl01-contact02 {
    background: #06c755;
    height: 80px;
    padding: 0 30px;
    color: #fff;
  }

  a.header-tpl01-contact02 span {
    font-weight: bold;
  }

  a:hover.header-tpl01-contact02 {
    color: #fff;
    background: #059540;
  }

  .header-tpl01-contact-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
    background: #fff;
    border-radius: 18px;
    color: #333;
    text-align: center;
    margin-right: 5px;
    transition: 1s;
  }

  a:hover.header-tpl01-contact02 > span > .header-tpl01-contact-icon {
    color: #ec4340;
    transition: 1s;
  }

  .header-tpl01-contact > span:last-child {
    font-weight: bold;
  }

  a.header-tpl01-tel {
    color: #333;
    margin-right: 24px;
  }

  a:hover.header-tpl01-tel {
    color: #333;
  }

  .header-tpl01-tel-icon {
    display: block;
    width: 30px;
    margin-right: 2px;
    padding-bottom: 8px;
  }

  .header-tpl01-tel > span:last-child {
    font-size: 24px;
    font-weight: bold;
  }

  .header-tpl01-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #1ff6ca;
  }

  .header-tpl01-nav li {
    flex: 1 1 auto;
  }

  .header-tpl01-nav li a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
  }

  .header-tpl01-nav li a {
    position: relative;
    text-decoration: none;
  }

  .header-tpl01-nav li a::after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background: #09d9af;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
  }

  .header-tpl01-nav li a:hover::after {
    transform: scale(1, 1);
  }
}
/* header-tpl01ここまで */
/* header-tpl02ここから */
@media (max-width: 991px) {
  .header-tpl02-bg {
    position: fixed;
    top: 0;
    width: 100%;
    height: 60px;
    padding: 0 12px;
    background: #fff;
    z-index: 3;
    box-shadow: 0 0 20px #ccc;
  }

  .header-tpl02 {
    height: 60px;
    display: flex;
    align-items: center;
  }

  .header-tpl02-logo img {
    width: auto;
    height: 16px;
  }
}
@media (max-width: 360px) {
  .header-tpl02-logo img {
    width: auto;
    height: 13px;
  }
}
@media (max-width: 320px) {
  .header-tpl02-logo img {
    width: auto;
    height: 11px;
  }
}
@media (min-width: 992px) {
  .header-tpl02-bg {
    position: fixed;
    top: 0;
    width: 100%;
    height: 80px;
    padding: 0 0 0 10px;
    background: #fff;
    z-index: 2;
    box-shadow: 0 0 20px #ccc;
    margin-top: 28px;
  }

  .header-tpl02 {
    display: flex;
    align-items: center;
  }

  .header-tpl02-logo {
    margin-right: auto;
  }

  .header-tpl02-logo img {
    width: auto;
    height: 22px;
  }

  .header-tpl02-nav {
    display: flex;
    align-items: center;
  }

  .header-tpl02-nav li a {
    position: relative;
    margin-right: 36px;
    font-weight: bold;
  }

  .header-tpl02-nav li a::after {
    position: absolute;
    bottom: -12px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #005bac;
    background: -webkit-linear-gradient(to right, #47a8ff, #005bac);
    background: linear-gradient(to right, #47a8ff, #005bac);
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
  }

  .header-tpl02-nav li a:hover::after {
    transform: scale(1, 1);
  }

  a.header-tpl02-contact {
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #005bac;
    color: #fff;
    padding: 0 1em;
    margin-right: 18px;
    border-radius: 20px;
    font-weight: 600;
  }

  a:hover.header-tpl02-contact {
    color: #fff;
    opacity: .5;
  }

  .header-tpl02-contact-icon {
    margin-right: 3px;
  }

  .header-tpl02-tel {
    font-size: 1.5rem;
    font-weight: 600;
    margin-right: 36px;
    line-height: 1em;
    height: 40px;
  }

  .header-tpl02-tel-icon {
    display: block;
    font-size: 1.7rem;
    margin-right: 3px;
  }

  .header-tpl02-tel small {
    display: block;
    font-size: 10px;
    margin-top: -6px;
    margin-bottom: -5px;
  }
}
/* header-tpl02ここまで */
/* header-tpl03ここから */
@media (max-width: 767px) {
  .header-tpl03-bg {
    position: fixed;
    top: 0;
    width: 100%;
    height: 60px;
    padding: 0 12px;
    background: #fff;
    z-index: 3;
  }

  .header-tpl03 {
    height: 60px;
    display: flex;
    align-items: center;
  }

  .header-tpl03-logo img {
    width: auto;
    height: 40px;
  }
}
@media (max-width: 320px) {
  .header-tpl03-logo img {
    width: auto;
    height: 30px;
  }
}
@media (min-width: 992px) {
  .header-tpl03-bg {
    position: fixed;
    top: 0;
    width: 60%;
    height: 80px;
    padding: 10px;
    background: #fff;
    box-shadow: 0 0 20px #ccc;
    border-radius: 0 0 12px 0;
    z-index: 3;
  }

  .header-tpl03 {
    display: flex;
    align-items: center;
  }

  .header-tpl03-logo {
    margin-right: auto;
  }

  .header-tpl03-nav {
    display: flex;
    align-items: center;
  }

  .header-tpl03-nav li a {
    position: relative;
    margin-right: 18px;
  }

  .header-tpl03-nav li a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #005bac;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
  }

  .header-tpl03-nav li a:hover::after {
    transform: scale(1, 1);
  }

  a.header-tpl03-contact {
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #005bac;
    color: #fff;
    padding: 0 1em;
    margin-right: 18px;
    border-radius: 20px;
    font-weight: 600;
  }

  a:hover.header-tpl03-contact {
    color: #fff;
    opacity: .5;
  }

  .header-tpl03-contact-icon {
    margin-right: 3px;
  }

  .header-tpl03-tel {
    font-size: 1.5rem;
    font-weight: 600;
    margin-right: 14px;
    line-height: 1em;
    height: 40px;
  }

  .header-tpl03-tel-icon {
    font-size: 1.3rem;
    margin-right: 3px;
  }
}
/* header-tpl03ここまで */
/* service-contentここから */
.wrapper-container {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}

.wrapper-container .service-content-bg:nth-child(2n+1) {
  flex-direction: row-reverse;
}

.service-content-bg {
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 250px 0;
}

.service-content-img {
  width: 50%;
}

.service-content {
  width: 45%;
  background: #fff;
  box-shadow: 0 0 20px #ccc;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  top: 150px;
}

.service-content-area {
  padding: 40px;
}

.service-content-bg::after {
  content: '';
  position: absolute;
  width: 70%;
  height: 23em;
  background: #f3f3f3;
  right: 10%;
  top: 20%;
  z-index: -1;
}

@media (max-width: 767px) {
  .service-content-bg {
    margin: 0 0 50px 0;
  }

  .service-content-img {
    width: 100%;
  }

  .service-content {
    width: 100%;
    top: 0;
  }
}
/* service-content ここまで */
/* visual-img-bg ここから */
.visual-img-bg {
  position: relative;
  height: 55vh;
  background: url("https://placehold.jp/cfcfcf/ffffff/1076x432.jpg") no-repeat center;
  background-size: cover;
  margin: 0 0 200px 25%;
}

.visual-img-bg::after {
  content: '';
  position: absolute;
  top: 20%;
  left: -32%;
  width: 100%;
  height: 55vh;
  background: #f3f3f3;
  z-index: -1;
}

@media (max-width: 767px) {
  .visual-img-bg, .visual-img-bg::after {
    height: 20vh;
  }

  .visual-img-bg {
    margin: 0 0 100px 25%;
  }
}
/* visual-img-bg ここまで */
/* 液体シェイプを動かす ここから */
.liquid-shape {
  width: 40vh;
  /*横幅*/
  height: 40vh;
  /*縦幅*/
  background: url("../img/article10-img01.jpg") no-repeat center center;
  background-size: cover;
  overflow: hidden;
  animation: fluidrotate 30s ease 0s infinite;
  /*アニメーションの設定*/
}

@keyframes fluidrotate {
  0%, 100% {
    border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
  }
  14% {
    border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
  }
  28% {
    border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
  }
  42% {
    border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
  }
  56% {
    border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
  }
  70% {
    border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
  }
  84% {
    border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
  }
}
.liquid-shape-img {
  width: 50%;
}

@media (max-width: 767px) {
  .liquid-shape-img {
    width: 100%;
  }
}
.liquid-shape-img img {
  animation: fluidrotate 30s ease 0s infinite;
}

/* 液体シェイプを動かす ここまで */
/* リクルートバナー　ここから */
@media (max-width: 991px) {
  .top-recruit-banner a {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 232px;
    background: url("https://placehold.jp/cfcfcf/ffffff/1920x540.jpg") no-repeat center center;
    background-size: cover;
    color: #fff;
    text-decoration: none;
  }

  .top-recruit-banner a:hover {
    color: #fff;
  }

  .top-recruit-banner a::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background-color: black;
    opacity: 0;
    z-index: 0;
    transition: 1s;
  }

  .top-recruit-banner a:hover::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 1;
    z-index: 1;
    transition: 1s;
  }

  .top-recruit-banner-title {
    position: relative;
    z-index: 2;
  }

  .top-recruit-banner-title h3 {
    font-size: 2rem;
  }

  .top-recruit-banner-title p {
    font-weight: bold;
  }
}
@media (min-width: 992px) {
  .top-recruit-banner a {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 540px;
    background: url("https://placehold.jp/cfcfcf/ffffff/1920x540.jpg") no-repeat center center;
    background-size: cover;
    color: #fff;
    text-decoration: none;
  }

  .top-recruit-banner a:hover {
    color: #fff;
  }

  .top-recruit-banner a::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background-color: black;
    opacity: 0;
    z-index: 0;
    transition: 1s;
  }

  .top-recruit-banner a:hover::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 1;
    z-index: 1;
    transition: 1s;
  }

  .top-recruit-banner-title {
    position: relative;
    z-index: 2;
  }

  .top-recruit-banner-title h3 {
    font-size: 4.5rem;
  }

  .top-recruit-banner-title p {
    font-weight: bold;
  }
}
/* リクルートバナー　ここまで */
/* 斜線　ここから */
.diagonal-line-right {
  width: 100vw;
  clip-path: polygon(0 100%, 0 0, 100% 0);
  background-color: #333;
}

.diagonal-line-right-beige {
  width: 100vw;
  clip-path: polygon(0 100%, 0 0, 100% 0);
  background-color: #faf8ed;
}

.diagonal-line-right-white {
  width: 100vw;
  clip-path: polygon(0 100%, 0 0, 100% 0);
  background-color: #fff;
}

.diagonal-line-left {
  width: 100vw;
  clip-path: polygon(0 0, 100% 100%, 0 100%);
  background-color: #333;
}

.diagonal-line-left-beige {
  width: 100vw;
  clip-path: polygon(0 0, 100% 100%, 0 100%);
  background-color: #faf8ed;
}

.diagonal-line-left-white {
  width: 100vw;
  clip-path: polygon(0 0, 100% 100%, 0 100%);
  background-color: #fff;
}

@media (max-width: 767px) {
  .diagonal-line-right,
  .diagonal-line-left,
  .diagonal-line-right-beige,
  .diagonal-line-left-beige,
  .diagonal-line-right-white,
  .diagonal-line-left-white {
    height: 48px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .diagonal-line-right,
  .diagonal-line-left,
  .diagonal-line-right-beige,
  .diagonal-line-left-beige,
  .diagonal-line-right-white,
  .diagonal-line-left-white {
    height: 60px;
  }
}
@media (min-width: 992px) {
  .diagonal-line-right,
  .diagonal-line-left,
  .diagonal-line-right-beige,
  .diagonal-line-left-beige,
  .diagonal-line-right-white,
  .diagonal-line-left-white {
    height: 72px;
  }
}
/* 斜線　ここまで */
/* フッターバナー SP TAB ここから */
@media (max-width: 991px) {
  .footer-banner-sp-bg {
    position: fixed;
    bottom: 0;
    z-index: 3;
  }

  .footer-banner-sp {
    display: flex;
  }

  .footer-banner-sp a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 60px;
    color: #fff;
    font-size: 12px;
  }

  .footer-banner-sp img {
    display: block;
    width: 22px;
    margin: 0 auto;
  }

  .footer-banner-sp a:nth-child(1) {
    background: #F4B5CA;
  }

  .footer-banner-sp a:nth-child(2) {
    background: #fff;
    color: #333;
    font-size: 14px;
    font-weight: 600;
  }

  .footer-banner-sp a:hover:nth-child(2) {
    color: #333;
  }

  .footer-banner-sp a:nth-child(2) img {
    width: 30px;
    margin-bottom: 3px;
  }

  .footer-banner-sp a:nth-child(3) {
    background: #00b900;
  }

  .footer-banner-sp a:hover {
    color: #fff;
  }
}
/* フッターバナー SP TAB ここまで */
/* ポイントボックス　ここから */
@media (min-width: 768px) {
  .point-box-bg {
    display: flex;
    justify-content: center;
  }

  .point-box-bg > div {
    width: 30%;
    margin-right: 5%;
  }

  .point-box-bg > div:nth-child(3n) {
    margin-right: 0;
  }

  .point-box {
    position: relative;
    padding: 78px 18px 18px;
    box-shadow: 0 0 20px #ccc;
    border-radius: 18px;
  }

  .point-circle {
    position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 120px;
    height: 120px;
    background: #f2c643;
    color: #fff;
    border-radius: 60px;
  }

  .point-circle > span:last-child {
    font-size: 2.3rem;
    font-weight: bold;
    margin-left: 6px;
  }

  .point-img {
    margin-right: -18px;
    margin-left: -18px;
  }

  .point-img img {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .point-box-bg {
    padding-right: 12px;
    padding-left: 12px;
  }

  .point-box-bg > div {
    margin-bottom: 52px;
  }

  .point-box-bg > div:last-child {
    margin-bottom: 0;
  }

  .point-box {
    position: relative;
    padding: 52px 12px 12px;
    box-shadow: 0 0 20px #ccc;
    border-radius: 12px;
  }

  .point-circle {
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80px;
    height: 80px;
    background: #f2c643;
    color: #fff;
    border-radius: 40px;
  }

  .point-circle > span:last-child {
    font-size: 1.5rem;
    font-weight: bold;
    margin-left: 6px;
  }
}
.point-title {
  text-align: center;
}

/* ポイントボックス　ここまで */
/* twobanner ここから */
@media (min-width: 768px) {
  .two-banner-bg {
    display: flex;
  }

  .two-banner {
    width: 50%;
  }

  .two-banner img {
    width: 100%;
  }

  .two-banner a {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
  }

  .two-banner a span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    color: #fff;
  }

  .two-banner a:hover span {
    color: #fff;
  }

  .two-banner a::before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    background: black;
    transition: 1s;
  }

  .two-banner a:hover::before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1;
    background: rgba(0, 0, 0, 0.5);
    transition: 1s;
  }
}
@media (max-width: 767px) {
  .two-banner-bg {
    display: block;
  }

  .two-banner-bg > div {
    margin-bottom: 10px;
  }

  .two-banner-bg > div:last-child {
    margin-bottom: 0;
  }

  .two-banner {
    width: 100%;
  }

  .two-banner a {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
  }

  .two-banner a span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    color: #fff;
  }

  .two-banner a:hover span {
    color: #fff;
  }

  .two-banner a::before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    background: black;
    transition: 1s;
  }

  .two-banner a:hover::before {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 1;
    background: rgba(0, 0, 0, 0.5);
    transition: 1s;
  }
}
/* twobanner ここまで */
/*footer-tpl01 ここから*/
@media (max-width: 767px) {
  .footer-tpl01-bg {
    padding: 48px 12px;
    background: #f8f9fa;
  }

  .footer-tpl01-logo {
    text-align: center;
  }

  .footer-tpl01-logo img {
    width: 50%;
  }

  .footer-tpl01-add {
    text-align: center;
  }

  a.footer-tpl01-contact {
    width: 270px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #005bac;
    color: #fff;
    padding: 0 1em;
    margin-right: 18px;
    border-radius: 20px;
    font-weight: 600;
    margin-left: auto;
    margin-right: auto;
  }

  a:hover.footer-tpl01-contact {
    color: #fff;
    opacity: .5;
  }

  .footer-tpl01-contact-icon {
    margin-right: 3px;
  }

  .footer-tpl01-tel {
    font-size: 1.5rem;
    font-weight: 600;
    margin-right: 14px;
    line-height: 1em;
    height: 40px;
    justify-content: center;
  }

  .footer-tpl01-tel-icon {
    font-size: 1.3rem;
    margin-right: 3px;
  }

  .footer-tpl01-nav {
    display: flex;
    flex-wrap: wrap;
  }

  .footer-tpl01-nav li {
    width: 50%;
    text-align: center;
    margin-bottom: 24px;
  }

  .footer-tpl01-nav li:nth-last-child(1),
  .footer-tpl01-nav li:nth-last-child(2) {
    margin-bottom: 0;
  }

  .footer-tpl01-nav li a {
    text-decoration: none;
  }

  .footer-tpl01-copy {
    text-align: center;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .footer-tpl01-bg {
    padding: 60px 15px;
    background: #f8f9fa;
  }

  .footer-tpl01-logo {
    text-align: center;
  }

  .footer-tpl01-logo img {
    width: 30%;
  }

  .footer-tpl01-add {
    text-align: center;
  }

  a.footer-tpl01-contact {
    width: 270px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #005bac;
    color: #fff;
    padding: 0 1em;
    margin-right: 18px;
    border-radius: 20px;
    font-weight: 600;
    margin-left: auto;
    margin-right: auto;
  }

  a:hover.footer-tpl01-contact {
    color: #fff;
    opacity: .5;
  }

  .footer-tpl01-contact-icon {
    margin-right: 3px;
  }

  .footer-tpl01-tel {
    font-size: 1.5rem;
    font-weight: 600;
    margin-right: 14px;
    line-height: 1em;
    height: 40px;
    justify-content: center;
  }

  .footer-tpl01-tel-icon {
    font-size: 1.3rem;
    margin-right: 3px;
  }

  .footer-tpl01-nav {
    display: flex;
    flex-wrap: wrap;
  }

  .footer-tpl01-nav li {
    width: 25%;
    text-align: center;
  }

  .footer-tpl01-nav li a {
    text-decoration: none;
  }

  .footer-tpl01-nav li:nth-child(1),
  .footer-tpl01-nav li:nth-child(2),
  .footer-tpl01-nav li:nth-child(3),
  .footer-tpl01-nav li:nth-child(4) {
    margin-bottom: 24px;
  }

  .footer-tpl01-copy {
    text-align: center;
  }
}
@media (min-width: 992px) {
  .footer-tpl01-bg {
    padding: 72px;
    background: #f8f9fa;
  }

  .footer-tpl01-bg > div > div:first-child {
    margin-right: auto;
  }

  .footer-tpl01-bg > div > div:last-child {
    width: 70%;
  }

  a.footer-tpl01-contact {
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #005bac;
    color: #fff;
    padding: 0 1em;
    margin-right: 18px;
    border-radius: 20px;
    font-weight: 600;
  }

  a:hover.footer-tpl01-contact {
    color: #fff;
    opacity: .5;
  }

  .footer-tpl01-contact-icon {
    margin-right: 3px;
  }

  .footer-tpl01-tel {
    font-size: 1.5rem;
    font-weight: 600;
    margin-right: 14px;
    line-height: 1em;
    height: 40px;
  }

  .footer-tpl01-tel-icon {
    font-size: 1.3rem;
    margin-right: 3px;
  }

  .footer-tpl01-nav {
    display: flex;
    flex-wrap: wrap;
  }

  .footer-tpl01-nav li {
    width: 25%;
  }

  .footer-tpl01-nav li:nth-child(1),
  .footer-tpl01-nav li:nth-child(2),
  .footer-tpl01-nav li:nth-child(3),
  .footer-tpl01-nav li:nth-child(4) {
    margin-bottom: 12px;
  }

  .footer-tpl01-nav li a:hover {
    color: #005bac;
  }

  .footer-tpl01-btn {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }

  .footer-tpl01-copy {
    text-align: right;
  }
}
/*footer-tpl01 ここまで*/
/* CSSタブ切り替え　ここから */
.tab_container {
  background-color: #fff;
  margin: 0 auto;
}

.tab_item {
  width: calc(100%/2);
  padding: 18px 0;
  font-size: 1.2em;
  background-color: #fff;
  text-align: center;
  color: #005bac;
  display: block;
  float: left;
  text-align: center;
  font-weight: bold;
  transition: all 0.2s ease;
  cursor: pointer;
}

.tab_item:hover {
  opacity: 0.75;
}

input[name="tab_item"] {
  display: none;
}

.tab_content {
  display: none;
  clear: both;
  overflow: hidden;
}

#tab1:checked ~ #tab1_content,
#tab2:checked ~ #tab2_content,
#tab3:checked ~ #tab3_content,
#tab4:checked ~ #tab4_content {
  display: block;
}

.tab_container input:checked + .tab_item {
  position: relative;
}

.tab_container input:checked + .tab_item::after {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 3px;
  background: #005bac;
}

.tab_container label {
  margin-bottom: 0 !important;
}

@media (max-width: 767px) {
  .tab_content_description {
    margin-top: 36px;
  }
}
@media (min-width: 992px) {
  .tab_content_description {
    margin-top: 48px;
  }
}
/* CSSタブ切り替え　ここまで */
@media (max-width: 767px) {
  .parts-mv-2nd-03 {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 174px;
    padding-left: 12px;
  }

  .parts-mv-2nd-03::after {
    position: absolute;
    display: block;
    content: "";
    width: 80%;
    height: 174px;
    top: 0;
    right: 0;
    background: url("../img/parts-mv-2nd-img.jpg") no-repeat center center;
    background-size: cover;
  }

  .parts-mv-2nd-03 h1 {
    position: absolute;
    right: 12px;
    bottom: 12px;
    font-size: 10px;
    font-weight: normal;
    z-index: 1;
    color: #fff;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .parts-mv-2nd-03 {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 290px;
    padding-left: 24px;
  }

  .parts-mv-2nd-03::after {
    position: absolute;
    display: block;
    content: "";
    width: 70%;
    height: 290px;
    top: 0;
    right: 0;
    background: url("../img/parts-mv-2nd-img.jpg") no-repeat center center;
    background-size: cover;
  }

  .parts-mv-2nd-03 h1 {
    position: absolute;
    right: 24px;
    bottom: 24px;
    font-size: 12px;
    font-weight: normal;
    z-index: 1;
    color: #fff;
  }
}
@media (min-width: 992px) {
  .parts-mv-2nd-03 {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 540px;
    padding-left: 36px;
  }

  .parts-mv-2nd-03::after {
    position: absolute;
    display: block;
    content: "";
    width: 70%;
    height: 540px;
    top: 0;
    right: 0;
    background: url("../img/parts-mv-2nd-img.jpg") no-repeat center center;
    background-size: cover;
  }

  .parts-mv-2nd-03 h1 {
    position: absolute;
    right: 36px;
    bottom: 36px;
    font-size: 12px;
    font-weight: normal;
    z-index: 1;
    color: #fff;
  }
}
.parts-mv-2nd-03 h2 {
  position: relative;
  z-index: 1;
  line-height: 1.4em;
  color: #005bac;
  text-shadow: #fff 2px 0px, #fff -2px 0px, #fff 0px -2px, #fff 0px 2px, #fff 2px 2px , #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px;
}

@media (max-width: 767px) {
  .parts-mv-2nd-04 {
    position: relative;
    width: 100%;
    height: 232px;
    background: url("../img/sec-mv.jpg") no-repeat center center;
  }

  .parts-mv-2nd-04 h1 {
    position: absolute;
    right: 12px;
    bottom: 12px;
    font-size: 10px;
    color: #fff;
  }

  .parts-mv-2nd-04 h2 {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    padding: 6px;
    background: rgba(0, 0, 0, 0.2);
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .parts-mv-2nd-04 {
    position: relative;
    width: 100%;
    height: 348px;
    background: url("../img/sec-mv.jpg") no-repeat center center;
  }

  .parts-mv-2nd-04 h1 {
    position: absolute;
    right: 24px;
    bottom: 24px;
    font-size: 12px;
    color: #fff;
  }

  .parts-mv-2nd-04 h2 {
    position: absolute;
    left: 24px;
    bottom: 24px;
    color: #fff;
    padding: 24px;
    background: rgba(0, 0, 0, 0.2);
  }
}
@media (min-width: 992px) {
  .parts-mv-2nd-04 {
    position: relative;
    width: 100%;
    height: 540px;
    background: url("../img/sec-mv.jpg") no-repeat center center;
  }

  .parts-mv-2nd-04 h1 {
    position: absolute;
    right: 36px;
    bottom: 36px;
    font-size: 12px;
    color: #fff;
  }

  .parts-mv-2nd-04 h2 {
    position: absolute;
    left: 72px;
    bottom: 72px;
    color: #fff;
    padding: 36px;
    background: rgba(0, 0, 0, 0.2);
  }
}
.checkList {
  width: 100%;
}

.checkList li {
  position: relative;
  padding-bottom: 1em;
  border-bottom: 3px dashed #005bac;
  margin-bottom: 1em;
  padding-left: 1.5em;
}

.checkList li::before {
  position: absolute;
  content: "\f00c";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #005bac;
  margin-left: -1.5em;
}

.checkList li:last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .title-h3 {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .title-h3 {
    font-size: 1.75rem;
  }
}
@media (min-width: 992px) {
  .title-h3 {
    font-size: 2rem;
  }
}
.title-h3 > h3 {
  display: inline-block;
  position: relative;
  background: #005bac;
  background: -webkit-linear-gradient(to right, #47a8ff, #005bac);
  background: linear-gradient(to right, #47a8ff, #005bac);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  line-height: 1.4em;
  padding-bottom: 24px;
}

.title-h3 {
  text-align: center;
}

.title-h3 > h3::after {
  position: absolute;
  display: block;
  content: "";
  width: 90px;
  height: 2px;
  background: #47a8ff;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

a.container-btn01 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff;
  text-decoration: none !important;
  width: 100%;
  height: 80px;
  background: #005bac;
  transition: 1s;
  border-radius: 40px;
}

a.container-btn01::before {
  display: block;
  position: absolute;
  content: url("../img/btn-arrow01.svg");
  top: 45%;
  transform: translateY(-45%);
  right: 24px;
  z-index: 1;
  transition: 1s;
}

a:hover.container-btn01::before {
  display: block;
  position: absolute;
  content: url("../img/btn-arrow01.svg");
  top: 45%;
  transform: translateY(-45%);
  right: 12px;
  z-index: 1;
  transition: 1s;
}

a.container-btn01::after {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  transition: 1s;
  opacity: 0;
  background: #004079;
  border-radius: 40px;
}

a.container-btn01:hover::after {
  opacity: 1;
}

a.container-btn01 > span {
  position: relative;
  z-index: 1;
  color: #fff;
}

a:hover.container-btn01 > span {
  color: #fff;
}

a.container-btn01 > span > span:first-child {
  display: block;
  font-size: 1rem;
}

a.container-btn01 > span > span:last-child {
  display: block;
  font-size: 1.4rem;
  font-weight: bold;
}

@media (max-width: 991px) {
  a.foot-btn01 > span > span:first-child,
  a.foot-btn02 > span > span:first-child {
    display: block;
    font-size: 12px;
  }

  a.foot-btn01 > span > span:last-child,
  a.foot-btn02 > span > span:last-child {
    display: block;
    font-size: 1.2rem;
    font-weight: bold;
  }
}
@media (max-width: 320px) {
  a.foot-btn01 > span > span:first-child,
  a.foot-btn02 > span > span:first-child {
    font-size: 10px;
  }
}
@media (min-width: 992px) {
  .footer-banner a {
    text-decoration: none;
    height: 80px !important;
  }

  a.foot-btn01 > span > span:first-child,
  a.foot-btn02 > span > span:first-child {
    display: block;
    font-size: 1rem;
  }

  a.foot-btn01 > span > span:last-child,
  a.foot-btn02 > span > span:last-child {
    display: block;
    font-size: 1.4rem;
    font-weight: bold;
  }
}
.footer-banner {
  display: flex;
  position: fixed;
  bottom: -80px;
  z-index: 3;
}

.footer-banner a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50vw;
  height: 80px;
  color: #fff;
  text-align: center;
}

.footer-banner a:hover {
  color: #fff;
}

.footer-banner a span {
  position: relative;
  z-index: 2;
}

a.foot-btn01 {
  background-image: linear-gradient(90deg, #F0B14B 0%, #f5d473 100%);
  transition: 1s;
}

a.foot-btn01::after {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 50vw;
  height: 100%;
  content: "";
  transition: 1s;
  opacity: 0;
  background-image: linear-gradient(90deg, #f5d473 0%, #F0B14B 100%);
}

a.foot-btn02 {
  background-image: linear-gradient(90deg, #f4a77a 0%, #f0884b 100%);
  transition: 1s;
}

a.foot-btn02::after {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  width: 50vw;
  height: 100%;
  content: "";
  transition: 1s;
  opacity: 0;
  background-image: linear-gradient(90deg, #f0884b 0%, #f4a77a 100%);
}

a.foot-btn01:hover::after,
a.foot-btn02:hover::after {
  opacity: 1;
}

@media (max-width: 767px) {
  .support-box {
    display: block;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
  }

  .support-box > div:last-child {
    padding: 12px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .support-box {
    display: block;
    margin-left: 9px;
    margin-right: 9px;
    border-radius: 24px;
    overflow: hidden;
  }

  .support-box > div:last-child {
    padding: 24px;
  }
}
@media (min-width: 992px) {
  .support-box {
    display: flex;
    width: 100%;
    border-radius: 18px;
    overflow: hidden;
  }

  .support-box > div:first-child {
    width: 20%;
  }

  .support-box > div:last-child {
    width: 80%;
  }

  .support-box > div:last-child {
    padding: 24px;
  }
}
.support-box > div:last-child > h4 {
  color: #005bac;
  margin-bottom: 12px;
}

@media (max-width: 767px) {
  .option-box-bg {
    display: block;
  }

  .option-box-bg > div {
    position: relative;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    margin-bottom: 24px;
  }

  .option-box-bg > div:last-child {
    margin-bottom: 0;
  }

  .option-box h4 {
    position: absolute;
    display: inline-block;
    top: 0;
    left: 0;
    background: #005bac;
    color: #fff;
    text-align: center;
    padding: 12px;
    border-radius: 0 0 12px 0;
    z-index: 2;
  }

  .option-box p {
    padding: 12px;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .option-box-bg {
    display: block;
    padding: 0 12px;
  }

  .option-box-bg > div {
    position: relative;
    width: 100%;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    margin-bottom: 24px;
  }

  .option-box-bg > div:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  .option-box h4 {
    position: absolute;
    display: inline-block;
    top: 0;
    left: 0;
    background: #005bac;
    color: #fff;
    text-align: center;
    padding: 24px;
    border-radius: 0 0 18px 0;
    z-index: 2;
    overflow: hidden;
  }

  .option-box img {
    width: 100%;
  }

  .option-box p {
    padding: 24px;
  }
}
@media (min-width: 992px) {
  .option-box-bg {
    display: flex;
    flex-wrap: wrap;
  }

  .option-box-bg > div {
    position: relative;
    width: calc( ( 100% - 15% ) / 2 );
    margin-right: 5%;
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
  }

  .option-box-bg > div:first-child,
  .option-box-bg > div:nth-child(3) {
    margin-left: 5%;
  }

  .option-box-bg > div:nth-child(1),
  .option-box-bg > div:nth-child(2) {
    margin-bottom: 5%;
  }
}
/* Scss Document */
.card-Thumbnail li {
  transition: .2s;
}

.card-Thumbnail li a:hover {
  display: block;
  box-shadow: 0 3px 30px rgba(0, 0, 0, 0.1) !important;
  transition: .2s;
}

.card-thumbnail-img {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: url(https://placehold.jp/cfcfcf/ffffff/750x464.jpg);
  background-size: cover;
}
.card-thumbnail-img:before {
  content: '';
  display: block;
  padding-top: 61.80469%;
}
.card-thumbnail-img img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  left: 0;
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
}

.card-thumbnail-text {
  padding: 0 2px 0 10px;
}

.thumbnailImg {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: url(https://placehold.jp/cfcfcf/ffffff/750x464.jpg);
  background-size: cover;
}
.thumbnailImg:before {
  content: '';
  display: block;
  padding-top: 61.80469%;
}
.thumbnailImg img {
  position: absolute;
  top: 50%;
  height: auto !important;
  transform: translateY(-50%);
  right: 0;
  left: 0;
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
}

.topics-news-box > li {
  border-bottom: 1px solid #333;
  padding-bottom: 30px;
  margin-bottom: 30px;
}

.topics-news-box > li:last-child {
  margin-bottom: 0;
}

.topics-news-date {
  font-size: .75rem;
}

.topics-news-cate {
  display: block;
  font-size: .75rem;
  background-image: linear-gradient(120deg, whitesmoke 0%, #eaeaea 100%);
  padding: .4375rem 0;
}

.topics-news-text a:hover {
  text-decoration: underline;
}

.topics-case-box a:hover {
  text-decoration: underline;
}

.topics-case-date {
  font-size: .75rem;
}

.topics-case-box li:nth-child(2) {
  transition-delay: .2s;
}

.topics-case-box li:nth-child(3) {
  transition-delay: .4s;
}

.thumbnail-img-bg02 li:first-child {
  width: 100px;
  background: #cfcfcf;
}

.thumbnail-img-bg02 li:last-child {
  width: calc(100% - 100px);
  padding-left: 10px;
}

.thumbnail-img02 {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: calc(464 / 750 * 100%);
  background: url("https://placehold.jp/cfcfcf/ffffff/750x464.jpg");
  background-size: cover;
  overflow: hidden;
}

.thumbnail-img02 img {
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

@media (min-width: 768px) {
  .topics-box02 li {
    border-bottom: 2px solid #005bac;
    padding: 0 30px 30px 30px;
    margin-bottom: 30px;
  }

  .topics-box02 li:last-child {
    margin-bottom: 0;
  }

  .topics-title02 {
    width: 100%;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
@media (max-width: 767px) {
  .topics-box02 li {
    border-bottom: 2px solid #005bac;
    padding: 0 15px 15px 15px;
    margin-bottom: 15px;
  }

  .topics-box02 li:last-child {
    margin-bottom: 0;
  }

  .topics-date02 {
    display: block;
    margin-bottom: 10px;
  }

  .topics-title02 {
    width: 100%;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
a.topics-more-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: #f2c643;
  color: #fff;
  padding: .5em 1em;
  border-radius: 6px;
}

a:hover.topics-more-btn {
  background: #efb813;
  color: #fff;
}

.topics-more-btn img {
  width: 16px;
  height: 8px;
}

/* Scss Document */
/*==================================================
ふわっ
===================================*/
/* その場で */
.fadeIn {
  animation-name: fadeInAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* 下から */
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 上から */
.fadeDown {
  animation-name: fadeDownAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeDownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* 左から */
.fadeLeft {
  animation-name: fadeLeftAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    transform: translateX(-100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* 右から */
.fadeRight {
  animation-name: fadeRightAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeRightAnime {
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger,
.fadeRightTrigger {
  opacity: 0;
}

/*==================================================
パタッ
===================================*/
/* 下へ */
.flipDown {
  animation-name: flipDownAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes flipDownAnime {
  from {
    transform: perspective(2500px) rotateX(100deg);
    opacity: 0;
  }
  to {
    transform: perspective(2500px) rotateX(0);
    opacity: 1;
  }
}
/* 左へ */
.flipLeft {
  animation-name: flipLeftAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  perspective-origin: left center;
  opacity: 0;
}

@keyframes flipLeftAnime {
  from {
    transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
    opacity: 0;
  }
  to {
    transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
    opacity: 1;
  }
}
/* 左上へ */
.flipLeftTop {
  animation-name: flipLeftTopAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes flipLeftTopAnime {
  from {
    transform: translate(-20px, 80px) rotate(-15deg);
    opacity: 0;
  }
  to {
    transform: translate(0, 0) rotate(0deg);
    opacity: 1;
  }
}
/* 右へ */
.flipRight {
  animation-name: flipRightAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  perspective-origin: right center;
  opacity: 0;
}

@keyframes flipRightAnime {
  from {
    transform: perspective(600px) translate3d(0, 0, 0) rotateY(-30deg);
    opacity: 0;
  }
  to {
    transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
    opacity: 1;
  }
}
/* 右上へ */
.flipRightTop {
  animation-name: flipRightTopAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes flipRightTopAnime {
  from {
    transform: translate(-20px, 80px) rotate(25deg);
    opacity: 0;
  }
  to {
    transform: translate(0, 1) rotate(0deg);
    opacity: 1;
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.flipDownTrigger,
.flipLeftTrigger,
.flipLeftTopTrigger,
.flipRightTrigger,
.flipRightTopTrigger {
  opacity: 0;
}

/*==================================================
くるっ
===================================*/
/* X 軸（縦へ） */
.rotateX {
  animation-name: rotateXAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes rotateXAnime {
  from {
    transform: rotateX(0);
    opacity: 0;
  }
  to {
    transform: rotateX(-360deg);
    opacity: 1;
  }
}
/*　Y軸（横へ） */
.rotateY {
  animation-name: rotateYAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes rotateYAnime {
  from {
    transform: rotateY(0);
    opacity: 0;
  }
  to {
    transform: rotateY(-360deg);
    opacity: 1;
  }
}
/* Z 軸（左へ） */
.rotateLeftZ {
  animation-name: rotateLeftZAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes rotateLeftZAnime {
  from {
    transform: rotateZ(0);
    opacity: 0;
  }
  to {
    transform: rotateZ(-360deg);
    opacity: 1;
  }
}
/*　Z 軸（右へ） */
.rotateRightZ {
  animation-name: rotateRightZAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes rotateRightZAnime {
  from {
    transform: rotateZ(0);
    opacity: 0;
  }
  to {
    transform: rotateZ(360deg);
    opacity: 1;
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.rotateXTrigger,
.rotateYTrigger,
.rotateLeftZTrigger,
.rotateRightZTrigger {
  opacity: 0;
}

/*==================================================
ボンッ、ヒュッ
===================================*/
/* 拡大 */
.zoomIn {
  animation-name: zoomInAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}

@keyframes zoomInAnime {
  from {
    transform: scale(0.6);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
/* 縮小 */
.zoomOut {
  animation-name: zoomOutAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}

@keyframes zoomOutAnime {
  from {
    transform: scale(1.2);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.zoomInTrigger,
.zoomOutTrigger {
  opacity: 0;
}

/*==================================================
じわっ
===================================*/
/* ぼかしから出現 */
.blur {
  animation-name: blurAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes blurAnime {
  from {
    filter: blur(10px);
    transform: scale(1.02);
    opacity: 0;
  }
  to {
    filter: blur(0);
    transform: scale(1);
    opacity: 1;
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.blurTrigger {
  opacity: 0;
}

/*==================================================
にゅーん
===================================*/
/* 滑らかに変形して出現 */
.smooth {
  animation-name: smoothAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  　transform-origin: left;
  opacity: 0;
}

@keyframes smoothAnime {
  from {
    transform: translate3d(0, 100%, 0) skewY(12deg);
    opacity: 0;
  }
  to {
    transform: translate3d(0, 0, 0) skewY(0);
    opacity: 1;
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.smoothTrigger {
  opacity: 0;
}

/*==================================================
スーッ（枠線が伸びて出現）
===================================*/
/*枠線が伸びて出現*/
.lineTrigger {
  position: relative;
  /* 枠線が書かれる基点*/
  opacity: 0;
}

.lineTrigger.lineanime {
  animation-name: lineAnimeBase;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes lineAnimeBase {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*上下線*/
.lineTrigger::before,
.lineTrigger::after {
  position: absolute;
  content: "";
  width: 0;
  height: 1px;
  background: #333;
  /* 枠線の色*/
}

/*左右線*/
.line2::before,
.line2::after {
  position: absolute;
  content: "";
  width: 1px;
  height: 0;
  background: #333;
  /* 枠線の色*/
}

/*上線*/
.lineTrigger::before {
  top: 0;
  left: 0;
}

.lineTrigger.lineanime::before {
  animation: lineAnime .5s linear 0s forwards;
  /*表示されて0秒後に上線が0.5秒かけて表示*/
}

/*右線*/
.line2::before {
  top: 0;
  right: 0;
}

.lineTrigger.lineanime .line2::before {
  animation: lineAnime2 .5s linear .5s forwards;
  /*表示されて0.5秒後に右線が0.5秒かけて表示*/
}

/*下線*/
.lineTrigger::after {
  bottom: 0;
  right: 0;
}

.lineTrigger.lineanime::after {
  animation: lineAnime .5s linear 1s forwards;
  /*表示されて1秒後に下線が0.5秒かけて表示*/
}

/*左線*/
.line2::after {
  bottom: 0;
  left: 0;
}

.lineTrigger.lineanime .line2::after {
  animation: lineAnime2 .5s linear 1.5s forwards;
  /*表示されて1.5秒後に左線が0.5秒かけて表示*/
}

@keyframes lineAnime {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
@keyframes lineAnime2 {
  0% {
    height: 0%;
  }
  100% {
    height: 100%;
  }
}
/*枠線内側の要素*/
.lineTrigger.lineanime .lineinappear {
  animation: lineInnerAnime .5s linear 1.5s forwards;
  /*1.5秒後に中央のエリアが0.5秒かけて表示*/
  opacity: 0;
  /*初期値を透過0にする*/
}

@keyframes lineInnerAnime {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*==================================================
シャッ（背景色が伸びて出現）
===================================*/
/*背景色が伸びて出現（共通）*/
.bgextend {
  animation-name: bgextendAnimeBase;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  position: relative;
  overflow: hidden;
  /*　はみ出た色要素を隠す　*/
  opacity: 0;
}

@keyframes bgextendAnimeBase {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*中の要素*/
.bgappear {
  animation-name: bgextendAnimeSecond;
  animation-duration: 1s;
  animation-delay: 0.6s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes bgextendAnimeSecond {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*左から*/
.bgLRextend::before {
  animation-name: bgLRextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #666;
  /*伸びる背景色の設定*/
}

@keyframes bgLRextendAnime {
  0% {
    transform-origin: left;
    transform: scaleX(0);
  }
  50% {
    transform-origin: left;
    transform: scaleX(1);
  }
  50.001% {
    transform-origin: right;
  }
  100% {
    transform-origin: right;
    transform: scaleX(0);
  }
}
/*右から*/
.bgRLextend::before {
  animation-name: bgRLextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #666;
  /*伸びる背景色の設定*/
}

@keyframes bgRLextendAnime {
  0% {
    transform-origin: right;
    transform: scaleX(0);
  }
  50% {
    transform-origin: right;
    transform: scaleX(1);
  }
  50.001% {
    transform-origin: left;
  }
  100% {
    transform-origin: left;
    transform: scaleX(0);
  }
}
/*下から*/
.bgDUextend::before {
  animation-name: bgDUextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #666;
  /*伸びる背景色の設定*/
}

@keyframes bgDUextendAnime {
  0% {
    transform-origin: bottom;
    transform: scaleY(0);
  }
  50% {
    transform-origin: bottom;
    transform: scaleY(1);
  }
  50.001% {
    transform-origin: top;
  }
  100% {
    transform-origin: top;
    transform: scaleY(0);
  }
}
/*上から*/
.bgUDextend::before {
  animation-name: bgUDextendAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #666;
  /*伸びる背景色の設定*/
}

@keyframes bgUDextendAnime {
  0% {
    transform-origin: top;
    transform: scaleY(0);
  }
  50% {
    transform-origin: top;
    transform: scaleY(1);
  }
  50.001% {
    transform-origin: bottom;
  }
  100% {
    transform-origin: bottom;
    transform: scaleY(0);
  }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgappearTrigger,
.bgUDextendTrigger,
.bgDUextendTrigger,
.bgRLextendTrigger,
.bgLRextendTrigger {
  opacity: 0;
}

/*========= レイアウトのためのCSS ===============*/
.wrapper {
  overflow: hidden;
}

.flex {
  display: flex;
  flex-wrap: wrap;
}

.box {
  width: 220px;
  padding: 20px;
  margin: 0 20px 20px 20px;
  background: #666;
  color: #fff;
  box-sizing: border-box;
}

.bgextend,
.lineTrigger {
  width: 220px;
  padding: 20px;
  margin: 0 20px 20px 20px;
  box-sizing: border-box;
}

/*==================================================
アニメーション設定
===================================*/
/* アニメーションの回数を決めるCSS*/
.count2 {
  animation-iteration-count: 2;
  /*この数字を必要回数分に変更*/
}

.countinfinite {
  animation-iteration-count: infinite;
  /*無限ループ*/
}

/* アニメーションスタートの遅延時間を決めるCSS*/
.delay-time05 {
  animation-delay: 0.5s;
}

.delay-time1 {
  animation-delay: 1s;
}

.delay-time15 {
  animation-delay: 1.5s;
}

.delay-time2 {
  animation-delay: 2s;
}

.delay-time25 {
  animation-delay: 2.5s;
}

/* アニメーション自体が変化する時間を決めるCSS*/
.change-time05 {
  animation-duration: 0.5s;
}

.change-time1 {
  animation-duration: 1s;
}

.change-time15 {
  animation-duration: 1.5s;
}

.change-time2 {
  animation-duration: 2s;
}

.change-time25 {
  animation-duration: 2.5s;
}

.col-white {
  color: #fff;
}

.col-black {
  color: #333;
}

.col-basic {
  color: #005bac;
}

.lh {
  line-height: 1.47059em;
}

.lh0 {
  line-height: 0;
}

.lh1 {
  line-height: 1em;
}

/*
.lh2 {
	line-height: 2em;
}
*/
.lh3 {
  line-height: 3em;
}

.lsn {
  letter-spacing: normal;
}

.bdt {
  border-top: 2px solid #005bac;
  padding-top: 12px;
}

.bdb {
  border-bottom: 2px solid #005bac;
  padding-bottom: 12px;
}

.bdt-dot {
  border-top: 2px dotted #005bac;
  padding-top: 12px;
}

.bdb-dot {
  border-bottom: 2px dotted #005bac;
  padding-bottom: 12px;
}

.bdt-dashed {
  border-top: 2px dashed #005bac;
  padding-top: 12px;
}

.bdb-dashed {
  border-bottom: 2px dashed #005bac;
  padding-bottom: 12px;
}

.idt {
  text-indent: 1em;
  padding-left: 1em;
}

.markerline {
  background: linear-gradient(transparent 70%, #005bac 70%);
}

.boxShadow {
  box-shadow: 0 0 20px #ccc;
}

.text-border-wht {
  text-shadow: #fff 1px 1px 0, #fff -1px -1px 0, #fff -1px 1px 0, #fff 1px -1px 0, #fff 0px 1px 0, #fff -1px 0, #fff -1px 0 0, #fff 1px 0 0;
}

.text-border-wht2 {
  text-shadow: #fff 2px 0px, #fff -2px 0px, #fff 0px -2px, #fff 0px 2px, #fff 2px 2px , #fff -2px 2px, #fff 2px -2px, #fff -2px -2px, #fff 1px 2px, #fff -1px 2px, #fff 1px -2px, #fff -1px -2px, #fff 2px 1px, #fff -2px 1px, #fff 2px -1px, #fff -2px -1px;
}

.arachute {
  position: relative;
}
.arachute:before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #005bac;
  top: -5px;
  left: 50%;
  transform: translateX(-50%);
}

.img-hover {
  display: block;
  width: 100%;
  overflow: hidden;
}
.img-hover img {
  transition: 1s;
}

a:hover .img-hover img {
  transform: scale(1.1);
  transition: 1s;
}

@media (min-width: 768px) {
  .dropdown:hover .dropdown-menu {
    display: block;
  }
}
.number {
  display: inline-block;
  width: 2em;
  height: 2em;
  background: #005bac;
  border-radius: 1em;
  text-align: center;
  line-height: 2em;
  color: #fefefe;
}

.number2 {
  display: inline-block;
  width: 2em;
  height: 2em;
  background: #545454;
  border-radius: 1em;
  text-align: center;
  line-height: 2em;
  color: #fefefe;
}

.txtBox-xl {
  display: inline-block;
  background: #005bac;
  line-height: 1em;
  padding: 1.4056em 1.6em 1.23em;
  color: #fefefe;
}

.txtBox-lg {
  display: inline-block;
  background: #005bac;
  line-height: 1em;
  padding: 0.7028em .8em 0.615em;
  color: #fefefe;
}

.txtBox {
  display: inline-block;
  background: #005bac;
  line-height: 1em;
  padding: 0.3514em .4em 0.3075em;
  color: #fefefe;
}

.txtBox-sm {
  display: inline-block;
  background: #005bac;
  line-height: 1em;
  padding: 0.1757em 0.2em 0.15375em;
  color: #fefefe;
}

.topics_dateBox {
  background: #005bac;
  color: #fefefe;
}

.cateBg01 {
  background: #dae0e5;
  color: #fefefe;
}

@media (min-width: 768px) {
  .fs-s {
    font-size: .875em;
  }

  .fs-xs {
    font-size: 0.75em;
  }

  .fs-xxs {
    font-size: 0.625em;
  }

  .fs-xxxs {
    font-size: 0.5em;
  }

  .dn-pc {
    display: none !important;
  }

  .mx50-pc {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }

  .my50-pc {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }

  iframe.map {
    display: block;
    width: 100%;
    height: 540px;
  }

  .mapBtn a {
    display: block;
    width: 100%;
    height: auto;
    background: #005bac;
    padding: 21px 0;
    color: #fefefe;
    text-align: center;
  }
  .mapBtn a h3 {
    font-family: 'Roboto', sans-serif;
  }
  .mapBtn a span {
    font-weight: bold;
  }
  .mapBtn a:hover {
    background: #121416;
    color: #fefefe;
    text-decoration: none;
  }

  .topicsList-box li {
    margin-bottom: 2em;
  }
  .topicsList-box li:last-child {
    margin-bottom: 0;
  }
  .topicsList-box li a:hover {
    text-decoration: none;
  }
  .topicsList-box li a:hover div p:last-child span {
    text-decoration: underline;
  }

  .topicsList-ttl {
    border-left: 5px solid #005bac;
    padding-left: 1em;
  }
  .topicsList-ttl p:nth-child(1) span {
    display: inline-block;
    line-height: 1em;
    font-size: 0.625em;
    padding: 0.26666em 0.26666em 0.35em 0.26666em;
    margin-bottom: 0.5em;
  }
  .topicsList-ttl p:nth-child(2) {
    display: block;
    width: 100%;
    line-height: 1.47059rem;
    font-size: 1.2em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .topicsDetail-ttl {
    border-left: 5px solid #005bac;
    padding-left: 1em;
  }
  .topicsDetail-ttl p:nth-child(1) span {
    display: inline-block;
    line-height: 1em;
    font-size: 0.625em;
    padding: 0.26666em 0.26666em 0.35em 0.26666em;
    margin-bottom: 0.5em;
  }
  .topicsDetail-ttl p:nth-child(2) {
    display: block;
    width: 100%;
    line-height: 1em;
    font-size: 1.2em;
    word-wrap: break-word;
  }
  .topicsDetail-ttl p:nth-child(2) span {
    font-weight: bold;
  }

  .topicsDetail-body {
    margin-top: 2em;
    line-height: 1.47059rem;
    word-wrap: break-word;
  }

  .pageTop-btn {
    position: fixed;
    display: block;
    right: 30px;
    bottom: 30px !important;
    z-index: 1;
  }

  .pageTop-btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 90px;
    height: 90px;
    background: #005bac;
    color: #fff;
    text-align: center;
    line-height: 1em;
    border-radius: 45px;
  }

  .pageTop-btn a:hover {
    color: #fff;
  }
}
@media screen and (max-width: 767px) {
  .fs-s {
    font-size: 0.85714em;
  }

  .fs-xs {
    font-size: 0.714285em;
  }

  .fs-xxs {
    font-size: 0.571428em;
  }

  .fs-xxxs {
    font-size: 0.571428em;
  }

  .dn-sp {
    display: none !important;
  }

  .mx50-sp {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }

  .my50-sp {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }

  .mx50-xs {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }

  .my50-xs {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }

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

  iframe.map {
    display: block;
    width: 100%;
    height: 50vh;
  }

  .mapBtn a {
    display: block;
    width: 100%;
    height: auto;
    background: #005bac;
    padding: 10px 0;
    color: #fefefe;
    text-align: center;
  }
  .mapBtn a h3 {
    font-family: 'Roboto', sans-serif;
  }
  .mapBtn a span {
    font-weight: bold;
  }
  .mapBtn a:hover {
    background: #920706;
    color: #fefefe;
    text-decoration: none;
  }

  .topicsList-box li {
    margin-bottom: 2em;
  }
  .topicsList-box li:last-child {
    margin-bottom: 0;
  }
  .topicsList-box li a:hover {
    text-decoration: none;
  }
  .topicsList-box li a:hover div p:last-child span {
    text-decoration: underline;
  }

  .topicsList-ttl {
    border-left: 5px solid #005bac;
    padding-left: 1em;
  }
  .topicsList-ttl p:nth-child(1) span {
    display: inline-block;
    line-height: 1em;
    font-size: 0.625em;
    padding: 0.26666em 0.26666em 0.35em 0.26666em;
    margin-bottom: 0.5em;
  }
  .topicsList-ttl p:nth-child(2) {
    display: block;
    width: 100%;
    line-height: 1.47059rem;
    font-size: 1.2em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .topicsDetail-ttl {
    border-left: 5px solid #005bac;
    padding-left: 1em;
  }
  .topicsDetail-ttl p:nth-child(1) span {
    display: inline-block;
    line-height: 1em;
    font-size: 0.625em;
    padding: 0.26666em 0.26666em 0.35em 0.26666em;
    margin-bottom: 0.5em;
  }
  .topicsDetail-ttl p:nth-child(2) {
    display: block;
    width: 100%;
    line-height: 1em;
    font-size: 1.2em;
    word-wrap: break-word;
  }
  .topicsDetail-ttl p:nth-child(2) span {
    font-weight: bold;
  }

  .topicsDetail-body {
    margin-top: 2em;
    line-height: 1.47059rem;
    word-wrap: break-word;
  }

  .pageTop-btn {
    position: fixed;
    display: block;
    right: 12px;
    bottom: 12px !important;
    z-index: 100;
  }

  .pageTop-btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    background: #005bac;
    color: #fff;
    text-align: center;
    line-height: 1em;
    border-radius: 30px;
  }

  .pageTop-btn a:hover {
    color: #fff;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .dn-tab {
    display: none !important;
  }

  .dn-md {
    display: none;
  }

  .mx50-md {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }

  .my50-md {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media (min-width: 992px) {
  .dn-lg {
    display: none;
  }

  .mx50-lg {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }

  .my50-lg {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media (min-width: 1200px) {
  .dn-xl {
    display: none;
  }

  .mx50-xl {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }

  .my50-xl {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }
}
.topicsPager li {
  display: block;
  border-top: 1px solid rgba(0, 0, 0, 0.125);
  border-right: 1px solid rgba(0, 0, 0, 0.125);
  border-bottom: 1px solid rgba(0, 0, 0, 0.125);
  padding: 0.615em 1em 0.7268em;
}

.topicsPager li:first-child {
  border-left: 1px solid rgba(0, 0, 0, 0.125);
  border-radius: .25rem 0 0 .25rem;
}

.topicsPager li:last-child {
  border-radius: 0 .25rem .25rem 0;
}

.topicsPager li a {
  text-decoration: underline;
}

img {
  max-width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  vertical-align: bottom;
}

table {
  width: 100%;
}

a {
  text-decoration: none;
  color: #333;
}

a:hover {
  text-decoration: none;
  color: #333;
}

a,
a:hover {
  transition: 1s;
}

/*
a img:hover {
	filter: alpha(opacity=75);
	-moz-opacity: 0.75;
	opacity: 0.75;
}

a:hover img {
	filter: alpha(opacity=75);
	-moz-opacity: 0.75;
	opacity: 0.75;
	transition: 1s;
}
*/
@media (max-width: 767px) {
  .h1, h1 {
    font-size: 1.6rem;
  }

  .h2, h2 {
    font-size: 1.4rem;
  }

  .h3, h3 {
    font-size: 1.2rem;
  }

  .h4, h4 {
    font-size: 1rem;
  }

  .h5, h5 {
    font-size: 1rem;
  }

  .h6, h6 {
    font-size: 0.875rem;
  }

  .display-1,
  .display-2,
  .display-3,
  .display-4 {
    font-size: 1.5rem;
  }

  .h1, h1, .h2, h2, .h3, h3, .h4, h4, .h5, h5, .h6, h6 {
    font-weight: bold;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .h1, h1 {
    font-size: 2.1875rem;
  }

  .h2, h2 {
    font-size: 1.75rem;
  }

  .h3, h3 {
    font-size: 1.5rem;
  }

  .h4, h4 {
    font-size: 1.3125rem;
  }

  .h5, h5 {
    font-size: 1.09375rem;
  }

  .h6, h6 {
    font-size: 1rem;
  }

  .display-1,
  .display-2,
  .display-3,
  .display-4 {
    font-size: 2rem;
  }

  .h1, h1, .h2, h2, .h3, h3, .h4, h4, .h5, h5, .h6, h6 {
    font-weight: bold;
  }
}
@media (min-width: 992px) {
  .h1, h1, .h2, h2, .h3, h3, .h4, h4, .h5, h5, .h6, h6 {
    font-weight: bold;
  }

  .delay-col-2 li:nth-child(2), .delay-col-2 li:nth-child(4), .delay-col-2 li:nth-child(6) {
    transition-delay: .2s;
  }

  .delay-col-2 li:nth-child(3), .delay-col-2 li:nth-child(5) {
    transition-delay: 0s;
  }

  .delay-col-3 li:nth-child(2), .delay-col-3 li:nth-child(5), .delay-col-3 li:nth-child(8) {
    transition-delay: .2s;
  }

  .delay-col-3 li:nth-child(3), .delay-col-3 li:nth-child(6), .delay-col-3 li:nth-child(9) {
    transition-delay: .4s;
  }

  .delay-col-3 li:nth-child(4), .delay-col-3 li:nth-child(7) {
    transition-delay: 0s;
  }
}
strong {
  background: linear-gradient(transparent 40%, #69DCDF 40%);
}

a.link {
  text-decoration: underline;
}

a:hover.link {
  text-decoration: none;
}

a.linkBorder {
  position: relative;
  display: inline-block;
  text-decoration: none;
}

a.linkBorder::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #333;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}

a.linkBorder:hover::after {
  transform: scale(1, 1);
}

.googlemaps iframe,
.googlemaps object,
.googlemaps embed {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
  -webkit-transition: all 0.7s ease;
  -moz-transition: all 0.7s ease;
  -o-transition: all 0.7s ease;
  transition: all  0.7s ease;
}

.googlemaps iframe:hover,
.googlemaps object:hover,
.googlemaps embed:hover {
  -webkit-filter: grayscale(0%);
  -moz-filter: grayscale(0%);
  -ms-filter: grayscale(0%);
  -o-filter: grayscale(0%);
  filter: grayscale(0%);
}

/* Scss Document */
.bg-beige {
  background: #faf8ed;
}

.bg-yellow {
  background: #f2c643;
}

.text-blue {
  color: #5eadd9;
}

main > section:nth-child(2n) {
  background: #f8f9fa;
}

.grad {
  background: #005bac;
  background: -webkit-linear-gradient(to right, #47a8ff, #005bac);
  background: linear-gradient(to right, #47a8ff, #005bac);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/*IEで未対応の場合は以下で背景を非表示に*/
@media all and (-ms-high-contrast: none) {
  .grad {
    background: none;
  }
}
@media (min-width: 768px) {
  body {
    color: #333;
    background: #fff;
    font-family: SourceHanSans, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    line-height: 1.47059em;
    letter-spacing: normal;
    text-align: justify;
    font-size: 1.125rem;
  }
}
@media (max-width: 767px) {
  body {
    color: #333;
    background: #fff;
    font-family: SourceHanSans, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    line-height: 1.47059em;
    letter-spacing: normal;
    text-align: justify;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  body {
    color: #333;
    background: #fff;
    font-family: SourceHanSans, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    line-height: 1.47059em;
    letter-spacing: normal;
    text-align: justify;
    font-size: 1rem;
  }
}
@media (max-width: 991px) {
  .sp-header-icon-01 {
    position: fixed;
    width: 60px;
    height: 60px;
    top: 0;
    right: 120px;
    z-index: 3;
  }

  .sp-header-icon-02 {
    position: fixed;
    width: 60px;
    height: 60px;
    top: 0;
    right: 60px;
    z-index: 3;
  }

  .sp-header-icon-03 {
    position: fixed;
    width: 60px;
    height: 60px;
    top: 60px;
    right: 0;
    z-index: 3;
    border-radius: 0 0 0 6px;
    overflow: hidden;
  }

  .top-mv {
    position: relative;
    margin-top: 60px;
    width: 100%;
    height: calc( 99.999vh - 60px);
    background: url("../img/top-mv.jpg") no-repeat top center;
    background-size: cover;
  }

  .top-mv h1 {
    display: block;
    font-size: 10px;
    background: #f8f9fa;
    padding: 10px;
    font-weight: normal;
    line-height: 1.2em;
  }

  .top-mv-inner {
    position: relative;
    width: 100%;
    padding: 24px 24px 48px;
  }

  .top-mv-inner:after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: inline-block;
    width: 100%;
    border-left: 100vw solid rgba(255, 255, 255, 0.7);
    border-bottom: 50px solid transparent;
  }

  .top-mv-inner > div {
    position: relative;
    z-index: 1;
  }

  .top-mv-inner h2 {
    background: #005bac;
    background: -webkit-linear-gradient(to right, #47a8ff, #005bac);
    background: linear-gradient(to right, #47a8ff, #005bac);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1.4em;
    margin-bottom: 12px;
  }

  .top-mv-inner p {
    line-height: 1.4em;
  }

  .top-mv-btn {
    display: flex;
    justify-content: center;
    margin-top: -36px;
    margin-bottom: 24px;
  }
}
@media (max-width: 320px) {
  .top-mv {
    height: calc( 100vh - 60px);
  }
}
@media (min-width: 992px) {
  .header-tel-title {
    font-size: 12px;
  }

  .top-mv {
    position: relative;
    margin-top: 80px;
    width: 100%;
    height: 640px;
    background: url("../img/top-mv.jpg") no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
  }

  .top-mv h1 {
    display: block;
    font-size: 1rem;
    background: #f8f9fa;
    padding: 10px;
    font-weight: normal;
  }

  .top-mv-inner {
    position: relative;
    width: 50vw;
    height: 640px;
    padding: 60px;
    display: flex;
    align-items: center;
  }

  .top-mv-inner:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: inline-block;
    width: 55vw;
    border-top: 640px solid rgba(255, 255, 255, 0.7);
    border-right: 120px solid transparent;
  }

  .top-mv-inner > div {
    position: relative;
    z-index: 1;
  }

  .top-mv-inner h2 {
    background: #005bac;
    background: -webkit-linear-gradient(to right, #47a8ff, #005bac);
    background: linear-gradient(to right, #47a8ff, #005bac);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 36px;
  }

  .top-mv-inner p {
    line-height: 2em;
  }

  .top-mv-btn {
    position: absolute;
    right: calc( 25vw - 130px );
    bottom: calc( 320px - 31px );
  }
}
.bg-grad {
  background: -webkit-linear-gradient(to right, #47a8ff, #005bac);
  background: linear-gradient(to right, #47a8ff, #005bac);
}

.icon-title {
  display: flex;
  justify-content: center;
  width: 100%;
  padding: .5em 1em;
  background: -webkit-linear-gradient(to right, #47a8ff, #005bac);
  background: linear-gradient(to right, #47a8ff, #005bac);
  color: #fff;
}

@media (min-width: 768px) {
  .icon-title img {
    display: block;
    width: 40px;
    margin-right: 3px;
  }

  .top-support-box {
    text-align: center;
  }

  .top-support-box img {
    width: 180px;
  }

  .top-support-box-img {
    filter: drop-shadow(0 0 20px #ccc);
    margin-bottom: 24px;
  }

  .top-support-box p {
    text-align: left;
  }

  .top-support-box-inner {
    background: #f8f9fa;
    padding: 24px;
  }

  .top-support-box-inner h4 {
    margin-bottom: 12px;
  }
}
@media (max-width: 767px) {
  .icon-title img {
    display: block;
    width: 30px;
    margin-right: 3px;
  }

  .top-support-box {
    text-align: center;
  }

  .top-support-box img {
    width: 120px;
  }

  .top-support-box-img {
    filter: drop-shadow(0 0 20px #ccc);
    margin-bottom: 12px;
  }

  .top-support-box p {
    text-align: left;
  }

  .top-support-box-inner {
    background: #f8f9fa;
    padding: 12px;
  }

  .top-support-box-inner h4 {
    margin-bottom: 6px;
  }
}
@media (min-width: 768px) {
  .lh2 {
    line-height: 2em;
  }

  .service-box-bg > li {
    margin-bottom: 36px;
  }

  .service-box-bg > li:nth-last-child(1),
  .service-box-bg > li:nth-last-child(2) {
    margin-bottom: 0;
  }

  .service-box {
    position: relative;
    display: flex;
    align-items: center;
    padding: 24px;
    box-shadow: 0 0 20px #ccc;
    z-index: -2;
  }

  .service-box::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    width: 128px;
    background: #f8f9fa;
    z-index: -1;
  }

  .servive-icon {
    width: 80px;
  }

  .service-inner {
    width: calc( 100% - 148px );
    margin-left: 48px;
    line-height: 2em;
  }

  .service-inner h4 {
    color: #5eadd9;
  }
}
@media (max-width: 767px) {
  .lh2 {
    line-height: 1.6em;
  }

  .service-box-bg > li {
    margin-bottom: 12px;
  }

  .service-box-bg > li:nth-last-child(1) {
    margin-bottom: 0;
  }

  .service-box {
    position: relative;
    display: flex;
    align-items: center;
    padding: 12px;
    box-shadow: 0 0 20px #ccc;
  }

  .service-box::before {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 0;
    bottom: 0;
    width: 84px;
    background: #f8f9fa;
    z-index: -1;
  }

  .servive-icon {
    width: 60px;
  }

  .service-inner {
    width: calc( 100% - 104px );
    margin-left: 24px;
  }

  .service-inner h4 {
    color: #5eadd9;
  }

  #link1,
  #link2,
  #link3,
  #link4,
  #link5 {
    margin-top: -108px;
    padding-top: 108px;
  }

  a.pdf-btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 80px;
    border-radius: 40px;
    background: #005bac;
    color: #fff;
    margin-right: auto;
    margin-left: auto;
    box-shadow: 0 0 20px #ccc;
  }

  a:hover.pdf-btn {
    background: #0083f9;
  }

  a.pdf-btn:after {
    position: absolute;
    content: "";
    width: 34px;
    height: 6px;
    background: url("../img/btn-arrow01.svg") no-repeat;
    background-size: cover;
    top: 50%;
    transform: translateY(-50%);
    right: 24px;
    transition: 1s;
  }

  a:hover.pdf-btn:after {
    position: absolute;
    content: "";
    width: 34px;
    height: 6px;
    background: url("../img/btn-arrow01.svg") no-repeat;
    background-size: cover;
    top: 50%;
    transform: translateY(-50%);
    right: 12px;
    transition: 1s;
  }

  a.pdf-btn dl {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem;
    font-weight: bold;
  }

  a.pdf-btn dl dt {
    margin-right: 6px;
  }

  a.pdf-btn dl dt img {
    width: 20px;
  }

  a.pdf-btn dl dd {
    line-height: 1em;
    margin-top: 7px;
  }

  a.mail-btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 80px;
    border-radius: 40px;
    background: #09d9af;
    color: #fff;
    margin-right: auto;
    margin-left: auto;
    box-shadow: 0 0 20px #ccc;
  }

  a:hover.mail-btn {
    background: #1ff6ca;
  }

  a.mail-btn:after {
    position: absolute;
    content: "";
    width: 34px;
    height: 6px;
    background: url("../img/btn-arrow01.svg") no-repeat;
    background-size: cover;
    top: 50%;
    transform: translateY(-50%);
    right: 24px;
    transition: 1s;
  }

  a:hover.mail-btn:after {
    position: absolute;
    content: "";
    width: 34px;
    height: 6px;
    background: url("../img/btn-arrow01.svg") no-repeat;
    background-size: cover;
    top: 50%;
    transform: translateY(-50%);
    right: 12px;
    transition: 1s;
  }

  a.mail-btn dl {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem;
    font-weight: bold;
  }

  a.mail-btn dl dt {
    margin-right: 6px;
  }

  a.mail-btn dl dt img {
    width: 25px;
  }

  a.mail-btn dl dd {
    line-height: 1em;
    margin-top: 7px;
  }

  .contact-tel-sp {
    width: 100%;
    background: #005bac;
    background: -webkit-linear-gradient(to right, #47a8ff, #005bac);
    background: linear-gradient(to right, #47a8ff, #005bac);
    color: #fff;
    padding: 24px 0;
    margin-top: 36px;
    text-align: center;
    border-radius: 6px;
  }

  .contact-tel-sp > p:nth-child(1) {
    margin-bottom: 8px;
    font-weight: bold;
  }

  .contact-tel-sp > p:nth-child(2) {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 8px;
  }

  .contact-tel-sp > p:nth-child(3) {
    font-weight: bold;
  }

  .contact-tel-sp a,
  .contact-tel-sp a:link,
  .contact-tel-sp a:hover {
    color: #fff;
  }
}
@media (max-width: 320px) {
  .dn-xs {
    display: none;
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  #link1,
  #link2,
  #link3,
  #link4,
  #link5 {
    margin-top: -120px;
    padding-top: 120px;
  }
}
@media (min-width: 992px) {
  #link1,
  #link2,
  #link3,
  #link4,
  #link5 {
    margin-top: -152px;
    padding-top: 152px;
  }

  /*
  .cta-bg{
    width: 100%;
    height: auto;
    background: url("../img/cta-bg.jpg")!important;
    background-repeat: no-repeat;
    background-position: center;  
    background-attachment: fixed;
    background-size: cover;
    color: $white;
  }
  */
  a.pdf-btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    height: 120px;
    border-radius: 60px;
    background: #005bac;
    color: #fff;
    margin-right: auto;
    margin-left: auto;
    box-shadow: 0 0 20px #ccc;
  }

  a:hover.pdf-btn {
    background: #0083f9;
  }

  a.pdf-btn:after {
    position: absolute;
    content: "";
    width: 51px;
    height: 9px;
    background: url("../img/btn-arrow01.svg") no-repeat;
    background-size: cover;
    top: 50%;
    transform: translateY(-50%);
    right: 36px;
    transition: 1s;
  }

  a:hover.pdf-btn:after {
    position: absolute;
    content: "";
    width: 51px;
    height: 9px;
    background: url("../img/btn-arrow01.svg") no-repeat;
    background-size: cover;
    top: 50%;
    transform: translateY(-50%);
    right: 24px;
    transition: 1s;
  }

  a.pdf-btn dl {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    font-weight: bold;
  }

  a.pdf-btn dl dt {
    margin-right: 6px;
  }

  a.pdf-btn dl dt img {
    height: 40px;
  }

  a.pdf-btn dl dd {
    line-height: 1em;
    margin-top: 7px;
  }

  a.mail-btn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    height: 120px;
    border-radius: 60px;
    background: #09d9af;
    color: #fff;
    margin-right: auto;
    margin-left: auto;
    box-shadow: 0 0 20px #ccc;
  }

  a:hover.mail-btn {
    background: #1ff6ca;
  }

  a.mail-btn:after {
    position: absolute;
    content: "";
    width: 51px;
    height: 9px;
    background: url("../img/btn-arrow01.svg") no-repeat;
    background-size: cover;
    top: 50%;
    transform: translateY(-50%);
    right: 36px;
    transition: 1s;
  }

  a:hover.mail-btn:after {
    position: absolute;
    content: "";
    width: 51px;
    height: 9px;
    background: url("../img/btn-arrow01.svg") no-repeat;
    background-size: cover;
    top: 50%;
    transform: translateY(-50%);
    right: 24px;
    transition: 1s;
  }

  a.mail-btn dl {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    font-weight: bold;
  }

  a.mail-btn dl dt {
    margin-right: 6px;
  }

  a.mail-btn dl dt img {
    height: 40px;
  }

  a.mail-btn dl dd {
    line-height: 1em;
    margin-top: 7px;
  }
}
.footer-bg {
  width: 100%;
  background: #005bac;
  background: -webkit-linear-gradient(to right, #47a8ff, #005bac);
  background: linear-gradient(to right, #47a8ff, #005bac);
  color: #fff;
}

.footer-bg a {
  color: #fff;
  text-decoration: underline;
}

.footer-bg a:hover {
  text-decoration: none;
}

@media (max-width: 767px) {
  .fadein-top, .fadein-bottom, .fadein-right, .fadein-left, .fadein {
    opacity: 1;
    transform: translate(0, 0);
  }

  .imgWrap-left, .imgWrap-right {
    opacity: 1;
    overflow: hidden;
    position: relative;
  }
}
.inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

@media (min-width: 769px) {
  .pc-none {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .sp-none {
    display: none !important;
  }

  .spbr {
    display: block;
  }
}
/******************************************
[globalFooter]
******************************************/
.globalFooter {
  padding: 60px 0 0;
}

.pagetop {
  position: fixed;
  bottom: 40px;
  right: 40px;
  width: 60px;
  height: 60px;
  background: #C8CFD5;
  z-index: 1;
}

.pagetop .arrow {
  transform: rotate(-90deg);
}

@media (max-width: 768px) {
  .globalFooter {
    padding: 30px 0 0;
  }
}
/*
[globalFooterNav]
******************************************/
.globalFooterNav {
  display: flex;
  justify-content: center;
  margin: 0 0 40px;
}

.globalFooterNav-inner {
  display: flex;
  width: 100%;
}

.globalFooterNav-unit {
  width: 50%;
  line-height: 1;
}

.globalFooterNav-item {
  margin: 0 0 30px;
}

.globalFooterNav-item:last-child {
  margin-bottom: 0;
}

.globalFooterNav-link {
  font-weight: bold;
  color: #4F5963;
}

.globalFooterNav-headline {
  margin: 0 0 15px;
  font-weight: bold;
}

.globalFooterNav-sub-item {
  margin: 0 0 25px;
}

.globalFooterNav-sub-item:last-child {
  margin-bottom: 0;
}

.globalFooterNav-sub-link {
  font-size: 16px;
  color: #89939B;
}

@media (min-width: 769px) {
  .globalFooterNav a:hover {
    text-decoration: underline;
  }
}
@media (max-width: 768px) {
  .globalFooterNav {
    display: block;
    margin: 0 0 15px;
  }

  .globalFooterNav-inner {
    width: 100%;
    display: block;
    padding: 0 0 0 5px;
  }

  .globalFooterNav-unit {
    width: 100%;
    margin: 0 0 20px;
  }

  .globalFooterNav-item {
    margin: 0 0 20px;
  }

  .globalFooterNav-item:last-child {
    margin-bottom: 0;
  }

  .globalFooterNav-link, .globalFooterNav-headline {
    font-size: 16px;
  }

  .globalFooterNav-sub-item {
    margin: 0 0 20px;
  }

  .globalFooterNav-sub-link {
    font-size: 14px;
  }
}
/*
[globalFooter-bnr]
******************************************/
.globalFooter-bnr {
  width: 468px;
  margin: 0 auto 50px;
}

@media (max-width: 768px) {
  .globalFooter-bnr {
    width: 100%;
    margin: 0 0 30px;
    padding: 0 30px;
  }
}
/*
[globalFooter-bottom]
******************************************/
.globalFooter-bottom {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.globalFooter-logo {
  width: 210px;
}

.copyright {
  font-size: 0.625rem;
}

@media (max-width: 768px) {
  .globalFooter-bottom {
    display: block;
  }

  .globalFooter-logo {
    margin: 0 auto 15px;
  }

  .copyright {
    text-align: center;
  }
}
@media (min-width: 992px) {
  .globalFooterNav-link, .globalFooterNav-headline {
    font-size: 18px;
  }
}

/* 20230612追記 */
img#csi_siteseal_image{
  width: 100px;
  height: 50px;
}

.siteseal-wrapper {
    display: flex;
    justify-content: center;
    padding: 30px 0;
    gap: 20px;
}

/* 20240913追記 */
@media (max-width: 991px) {
  .sp-navi-btn{
    display: flex;
    align-items: center;
    line-height: 1em;
  }
  
  .sp-navi-btn img{
    width: 24px;
    height: auto;
    padding-right: 6px;
  }
}

/* セキュリティバッジ　ここから */
.security-footer__banner img {
  vertical-align: top;
}
@media (min-width: 992px) {
  .security-badge{
    position: absolute;
    top: 60px;
    right: 30px;
    z-index: 1;
  }

  .security-badge img{
    width: 134px;
    height: 150px;
  }
}

@media (max-width: 991px) {
	.security-badge{
    position: relative;
    display: flex;
    justify-content: center;
    z-index: 1;
	}

	.security-badge img{
      width: 130px;
	}
}

/*security-footer*/
.bg-gray{
  background: #f8f9fa;
}

.security-footer {
  display: flex;
  flex-direction: column;
  max-width: 1040px;
  margin: 20px auto 0 auto;
  padding-top: 20px;
}

.security-footer__container {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 20px;
  margin: 0 0 20px 10px;
}

@media (max-width: 768px) {
  .security-footer__container {
    grid-template-columns: 1fr;
    justify-items: center;
    row-gap: 20px;
    margin: 0 0 20px 0;
  }
}

.security-footer__logo img {
  width: auto;
  height: 20px;
}

.security-footer__social {
  display: grid;
  grid-auto-flow: column;
  justify-content: start;
  gap: 10px;
}

.security-footer__social img {
  width: auto;
  height: 20px;
}

.security-footer__banner {
  margin: 40px 0;
}

.security-footer__banner ul {
  display: grid;
  grid-auto-flow: column;
  justify-content: center;
  gap: 10px;
  list-style: none;
}




