@charset "UTF-8";
/* Scss Document */
html {
  width: 100%;
  height: 100%;
  min-width: 120rem;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 62.5%;
}
@media only screen and (max-width: 1400px) {
  html {
    font-size: 0.7vw;
  }
}
@media only screen and (max-width: 640px) {
  html {
    min-width: 100%;
    font-size: 2vw;
  }
}

body {
  font-size: 1.6rem;
  font-weight: 600;
  width: 100%;
  height: 100%;
  min-width: 120rem;
  letter-spacing: 0.1em;
  text-rendering: optimizeSpeed;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media only screen and (max-width: 640px) {
  body {
    min-width: 100%;
    letter-spacing: 0.05em;
    -webkit-overflow-scrolling: auto;
  }
}

a,
.hover {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

a:hover,
.hover:hover {
  opacity: 0.6;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

.left {
  text-align: left;
}

.bold {
  font-weight: bold;
}

.sp {
  display: none;
}
@media only screen and (max-width: 640px) {
  .sp {
    display: inherit;
  }
}

@media only screen and (max-width: 640px) {
  .pc {
    display: none;
  }
}

.anchor {
  position: absolute;
  top: -7vw;
  left: 0;
}
@media only screen and (max-width: 640px) {
  .anchor {
    top: -12.5vw;
  }
}

.inner {
  margin: 0 auto;
  padding: 0 4rem;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .inner {
    padding: 0 4vw;
    width: 100%;
  }
}

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

.header {
  padding-left: 6rem;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 640px) {
  .header {
    display: block;
    background: #fff;
    height: 12.5vw;
    padding: 0;
  }
}
.header-logo {
  width: 30rem;
  color: #fff;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .header-logo {
    padding: 0.25em 0;
    width: auto;
    color: #c6007f;
  }
}
.header-logo .logo-p {
  display: none;
}
@media only screen and (max-width: 640px) {
  .header-logo .logo-p {
    margin: 0 auto;
    width: 35%;
    display: block;
  }
}
@media only screen and (max-width: 640px) {
  .header-logo .logo-w {
    display: none;
  }
}
.header-logo p {
  margin-top: 0.5em;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif !important;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 640px) {
  .header-logo p {
    margin-top: 0.25em;
    font-size: 2.5vw;
  }
}
.header-logo span {
  margin-top: 1em;
  margin-left: 1em;
  font-size: 1.6rem;
}
.header a {
  color: #fff;
  text-decoration: none;
}
.header-group {
  padding: 1em 0;
  background: #fff;
  width: 7.2916666667vw;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .header-group {
    position: absolute;
    top: 0;
    right: 0;
    padding: 0.5em;
    width: 20%;
    background: none;
  }
}
.header-group img {
  width: 55%;
}
@media only screen and (max-width: 640px) {
  .header-group img {
    width: 100%;
  }
}
.header-group p {
  margin-top: 1em;
  font-size: 0.625vw;
  letter-spacing: -0.01em;
}
@media only screen and (max-width: 640px) {
  .header-group p {
    margin-top: 0.5em;
    font-size: 1.875vw;
  }
}
.header.fixed {
  background: rgba(255, 255, 255, 0.95);
}
.header.fixed .header-logo {
  color: #c6007f;
}
.header.fixed .header-logo .logo-w {
  display: none;
}
.header.fixed .header-logo .logo-p {
  display: inherit;
}

@media only screen and (max-width: 640px) {
  .open .global-nav {
    display: block;
  }
  .open .global-nav-menu-item {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 5vw;
    height: 2px;
    margin: -1px 0 0 -2.5vw;
    background: #c6007f;
    background-color: transparent;
  }
  .open .global-nav-menu-item:before, .open .global-nav-menu-item:after {
    top: 0;
  }
  .open .global-nav-menu-item:before {
    -webkit-transform: rotate(225deg);
            transform: rotate(225deg);
  }
  .open .global-nav-menu-item:after {
    -webkit-transform: rotate(-225deg);
            transform: rotate(-225deg);
  }
}
.global-nav {
  margin: 0;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media only screen and (max-width: 640px) {
  .global-nav {
    padding: 8vw;
  }
}
.global-nav-wrapper {
  width: 66%;
}
@media only screen and (max-width: 640px) {
  .global-nav-wrapper {
    display: none;
    width: 100%;
  }
}
@media only screen and (max-width: 640px) {
  .global-nav {
    padding-bottom: 32vw;
    background: #c6007f;
    overflow: auto;
    -webkit-overflow-scrolling: auto;
    position: absolute;
    top: 12.5vw;
    left: 0;
    width: 100%;
    height: 100vh;
  }
}
.global-nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .global-nav-list {
    margin: 0 0 3em;
  }
}
.global-nav-list li {
  margin-left: 2em;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.2em;
}
@media only screen and (max-width: 640px) {
  .global-nav-list li {
    margin: 0.5em 0;
    font-weight: 600;
  }
}
@media only screen and (max-width: 640px) {
  .global-nav-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.global-nav-menu {
  padding: 0;
  border: none;
  background: none;
  display: none;
}
@media only screen and (max-width: 640px) {
  .global-nav-menu {
    position: absolute;
    top: 1vw;
    left: 4vw;
    margin: 1em 0;
    display: block;
  }
}
@media only screen and (max-width: 640px) {
  .global-nav-menu-outer {
    position: relative;
    width: 5vw;
    height: 4vw;
  }
}
.global-nav-menu-item {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5vw;
  height: 2px;
  margin: -1px 0 0 -2.5vw;
  background: #c6007f;
}
.global-nav-menu-item:before, .global-nav-menu-item:after {
  display: block;
  position: absolute;
  left: 0;
  width: 5vw;
  height: 2px;
  background: #c6007f;
  content: "";
  -webkit-transition: top 200ms, -webkit-transform 200ms;
  transition: top 200ms, -webkit-transform 200ms;
  transition: transform 200ms, top 200ms;
  transition: transform 200ms, top 200ms, -webkit-transform 200ms;
}
.global-nav-menu-item:before {
  top: -400%;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
.global-nav-menu-item:after {
  top: 400%;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
.global-nav .header-contact {
  margin-bottom: 1.5em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 640px) {
  .global-nav .header-contact {
    display: block;
  }
}
.global-nav .header-contact .tel {
  color: #fff;
  font-size: 1.4rem;
  text-align: right;
  font-weight: 400;
}
@media only screen and (max-width: 640px) {
  .global-nav .header-contact .tel {
    margin-bottom: 2em;
    text-align: center;
  }
}
.global-nav .header-contact .tel a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 3.6rem;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 1;
}
@media only screen and (max-width: 640px) {
  .global-nav .header-contact .tel a {
    font-size: 9.375vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.global-nav .header-contact .tel img {
  margin-right: 0.25em;
  width: 2rem;
}
.global-nav .header-contact .tel img.icon-p {
  display: none;
}
@media only screen and (max-width: 640px) {
  .global-nav .header-contact .tel img {
    width: 4.6875vw;
  }
}
.global-nav .header-contact .mail {
  margin: 0 0 0 2em;
  width: 15.3645833333vw;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .global-nav .header-contact .mail {
    margin: 0;
    width: auto;
  }
}
.global-nav .header-contact .mail a {
  padding: 0.5em 1em;
  display: block;
  background: #e8ff17;
  color: #c6007f;
  font-size: 2.4rem;
}

.fixed a {
  color: rgba(0, 0, 0, 0.85);
}
@media only screen and (max-width: 640px) {
  .fixed a {
    color: #fff;
  }
}
.fixed .global-nav .header-contact .tel {
  color: #c6007f;
}
@media only screen and (max-width: 640px) {
  .fixed .global-nav .header-contact .tel {
    color: #fff;
  }
}
.fixed .global-nav .header-contact .tel a {
  color: #c6007f;
}
@media only screen and (max-width: 640px) {
  .fixed .global-nav .header-contact .tel a {
    color: #fff;
  }
}
.fixed .global-nav .header-contact .tel img {
  margin-right: 0.25em;
  width: 2rem;
}
.fixed .global-nav .header-contact .tel img.icon-w {
  display: none;
}
.fixed .global-nav .header-contact .tel img.icon-p {
  display: inherit;
}

.main {
  min-width: 100%;
}
@media only screen and (max-width: 640px) {
  .main {
    padding-top: 12.5vw;
  }
}

.content {
  position: relative;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .content {
    margin-bottom: 6rem;
  }
  .content:first-child {
    padding-top: 0;
  }
}

.inner {
  margin: 0 auto;
  padding: 0 3rem;
  width: 120rem;
}
@media only screen and (max-width: 640px) {
  .inner {
    width: 100%;
  }
}
.inner.md {
  width: 95rem;
}
.inner.lg {
  width: 133rem;
}
.inner.xl {
  width: 158rem;
}
.inner.full {
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .inner.md, .inner.lg, .inner.xl, .inner.full {
    width: 100%;
  }
}

.content-title {
  margin-bottom: 4em;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .content-title {
    margin-bottom: 3em;
  }
}
.content-title .jp {
  font-size: 2.4rem;
  color: #c6007f;
}
@media only screen and (max-width: 640px) {
  .content-title .jp {
    font-size: 2rem;
  }
}
.content-title .en {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 6.4rem;
}
@media only screen and (max-width: 640px) {
  .content-title .en {
    font-size: 4.2rem;
  }
}

.page-head {
  margin-bottom: 8rem;
  padding: 19rem 0 2rem;
  background: url(../img/bg_pagehead.jpg) no-repeat center center;
  background-size: cover;
}
@media only screen and (max-width: 640px) {
  .page-head {
    margin-bottom: 4rem;
  }
}
.page-head .content-title .jp,
.page-head .content-title .en {
  color: #fff;
}

.title-ll {
  margin: 1.5em auto 1.5em;
  font-size: 4.8rem;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 640px) {
  .title-ll {
    font-size: 6.25vw;
  }
}
.title-l {
  margin: 1.5em auto 1.5em;
  font-size: 4.2rem;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 640px) {
  .title-l {
    font-size: 5vw;
  }
}
.title-m {
  margin: 1.5em auto 1.5em;
  font-size: 3.6rem;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 640px) {
  .title-m {
    font-size: 4.375vw;
  }
}
.title-m-s {
  margin: 1.5em auto 1.5em;
  font-size: 2rem;
  letter-spacing: 0.2em;
}
.title-ll, .title-l, .title-m, .title-s {
  text-align: center;
}
.title-ll em, .title-l em, .title-m em, .title-s em {
  color: #c6007f;
}

.hero {
  padding: 13.0208333333vw 0;
  background: url(../img/bg_hero.jpg) no-repeat center top;
  background-size: 100% auto;
  height: 89.0625vw;
}
@media only screen and (max-width: 640px) {
  .hero {
    padding: 9.375vw 0 25vw;
  }
}
.hero-lead {
  width: 64.3229166667vw;
}
@media only screen and (max-width: 640px) {
  .hero-lead {
    width: 100%;
  }
}

.about {
  margin-top: -38.0208333333vw;
  padding-bottom: 6.25vw;
  padding-top: 9.8958333333vw;
  background: url(../img/bg_head.png) no-repeat center top;
  background-size: 100% auto;
}
@media only screen and (max-width: 640px) {
  .about {
    margin-top: -25vw;
  }
}
.about-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (max-width: 640px) {
  .about-wrapper {
    display: block;
  }
}
.about-img {
  width: 40%;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .about-img {
    margin-bottom: 3rem;
    padding-right: 20%;
    width: 100%;
  }
}
.about-img .baloon {
  position: absolute;
  top: -35%;
  right: -65%;
  width: 46rem;
}
@media only screen and (max-width: 640px) {
  .about-img .baloon {
    top: 5%;
    right: -5%;
    width: 50%;
  }
}
.about-body {
  margin-top: 18rem;
  width: 54%;
}
@media only screen and (max-width: 640px) {
  .about-body {
    margin-top: 3em;
    width: 100%;
  }
}
.about-body .job {
  font-size: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .about-body .job {
    font-size: 2rem;
  }
}
.about-body .name {
  font-size: 5.6rem;
}
@media only screen and (max-width: 640px) {
  .about-body .name {
    font-size: 4.2rem;
  }
}
.about .message,
.about .profile {
  margin-top: 1.5em;
  line-height: 2;
}
.about .message dt,
.about .profile dt {
  margin-bottom: 1em;
  font-size: 2.4rem;
  color: #c6007f;
}
.about .message dd,
.about .profile dd {
  font-weight: 400;
  font-size: 1.8rem;
}
.about .message-wrapper {
  margin-top: 3em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .about .message-wrapper {
    margin-top: 2em;
    display: block;
  }
}
.about .message-img {
  width: 30%;
}
@media only screen and (max-width: 640px) {
  .about .message-img {
    margin: 2em 0 0 auto;
    width: 75%;
  }
}
.about .message-body {
  width: 65%;
}
@media only screen and (max-width: 640px) {
  .about .message-body {
    width: 100%;
  }
}
.about .message-body p {
  margin-top: 1.5em;
}
.about .message {
  width: 100%;
}

.price-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #fff;
  background: #c6007f;
}
@media only screen and (max-width: 640px) {
  .price-wrapper {
    display: block;
  }
}
.price-item {
  padding: 4.1666666667vw;
  width: 33.3333333333%;
  font-size: 1.25vw;
}
@media only screen and (max-width: 640px) {
  .price-item {
    padding: 9.375vw;
    width: 100%;
    font-size: 4.375vw;
  }
}
.price-item:first-child {
  background: rgba(255, 255, 255, 0.2);
}
.price-item:last-child {
  background: rgba(0, 0, 0, 0.2);
}
.price-item .price {
  text-align: center;
  font-size: 3.75vw;
}
@media only screen and (max-width: 640px) {
  .price-item .price {
    font-size: 11.25vw;
    line-height: 1.5;
  }
}
.price-item .price em {
  font-size: 7.2916666667vw;
  color: #e8ff17;
}
@media only screen and (max-width: 640px) {
  .price-item .price em {
    font-size: 21.875vw;
  }
}
.price-item .list {
  margin: 1em auto;
}
.price-copy {
  font-size: 1.875vw;
  min-height: 5em;
}
@media only screen and (max-width: 640px) {
  .price-copy {
    font-size: 5.625vw;
    min-height: auto;
  }
}
.price-copy em {
  font-size: 2.6041666667vw;
  color: #e8ff17;
}
@media only screen and (max-width: 640px) {
  .price-copy em {
    font-size: 7.8125vw;
  }
}
.price-img {
  margin: 2em auto 1em;
}
.price .tag-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.price .tag-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.price .tag-list li {
  margin-right: 0.5em;
  padding: 0.25em 0.5em;
  background: #fff;
  color: rgba(0, 0, 0, 0.85);
  font-size: 0.9375vw;
}
@media only screen and (max-width: 640px) {
  .price .tag-list li {
    font-size: 3.125vw;
  }
}
.price .tag-price {
  font-size: 1.25vw;
}
@media only screen and (max-width: 640px) {
  .price .tag-price {
    font-size: 4.375vw;
  }
}

.sns {
  color: #fff;
  background: url(../img/bg_sns.jpg) no-repeat center top;
  background-size: cover;
}
.sns-wrapper {
  padding: 6.25vw 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 640px) {
  .sns-wrapper {
    display: block;
  }
}
@media only screen and (max-width: 640px) {
  .sns-body, .sns-influencer {
    width: 100%;
  }
}
.sns-body-list {
  margin-top: 3em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sns-body-list figure {
  width: 24%;
}
.sns-body-list ul {
  margin-left: 2em;
  font-size: 1.6666666667vw;
}
@media only screen and (max-width: 640px) {
  .sns-body-list ul {
    font-size: 5vw;
  }
}
.sns-influencer {
  margin-top: 3em;
  text-align: center;
}
.sns-influencer-text {
  font-size: 1.6666666667vw;
  margin-top: 1em;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .sns-influencer-text {
    font-size: 5vw;
  }
}
.sns-title {
  font-size: 3.125vw;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .sns-title {
    font-size: 7.5vw;
  }
}

.method {
  padding: 6.25vw 0;
  background: url(../img/bg_method.png) no-repeat center top;
  background-size: cover;
}
.method .flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (max-width: 640px) {
  .method .flow {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.method .flow li {
  width: 17%;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .method .flow li {
    padding: 2%;
    width: 33%;
  }
}
.method-title span {
  margin: 0.15em;
  padding: 0 0.25em;
  display: inline-block;
  border: solid 2px #c6007f;
}

.service-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (max-width: 640px) {
  .service-wrapper {
    display: block;
  }
}
.service-list-l {
  width: 66.6666666667%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (max-width: 640px) {
  .service-list-l {
    width: 100%;
  }
}
.service-list-l .service-item {
  width: 50%;
}
.service-list-r {
  width: 33.3333333333%;
}
@media only screen and (max-width: 640px) {
  .service-list-r {
    width: 100%;
  }
}
.service-item {
  position: relative;
}
.service-item .caption {
  position: absolute;
  right: 0;
  bottom: 2em;
  z-index: 1;
  text-align: right;
  line-height: 2.2;
  font-size: 1.875vw;
}
@media only screen and (max-width: 640px) {
  .service-item .caption {
    bottom: 1em;
    font-size: 3.75vw;
  }
}
.service-item .caption span {
  padding: 0.25em 0.5em;
  background: #fff;
}
.service-item .sns-icon {
  position: absolute;
  margin: auto;
  right: 0;
  left: 0;
  top: 60%;
  width: 50%;
}
@media only screen and (max-width: 640px) {
  .service-item .sns-icon {
    top: 20%;
    right: auto;
    left: 2em;
    width: 25%;
  }
}
.service-bg {
  position: relative;
  z-index: 0;
}

.works {
  padding: 6.25vw 0;
}
.works-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.works-item {
  margin-bottom: 2.5em;
  width: 30%;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .works-item {
    width: 46%;
  }
}
.works-title {
  margin-top: 0.5em;
}

.merit {
  padding: 6.25vw 0;
  background: #e9e9e9;
}
@media only screen and (max-width: 640px) {
  .merit {
    padding: 9.375vw 0;
  }
}
.merit-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (max-width: 640px) {
  .merit-list {
    display: block;
  }
}
.merit-list .num {
  position: absolute;
  top: -3.125vw;
  left: 2.6041666667vw;
  font-size: 3.6458333333vw;
  color: #c6007f;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-style: normal;
}
@media only screen and (max-width: 640px) {
  .merit-list .num {
    top: -6.25vw;
    left: 3.125vw;
    font-size: 7.5vw;
  }
}
.merit-item {
  margin-bottom: 4%;
  padding: 3.125vw;
  position: relative;
  width: 48%;
  background: #fff;
  -webkit-box-shadow: 6px 6px rgba(198, 0, 127, 0.2);
          box-shadow: 6px 6px rgba(198, 0, 127, 0.2);
}
@media only screen and (max-width: 640px) {
  .merit-item {
    margin-bottom: 9.375vw;
    padding: 6.25vw;
    width: 100%;
  }
}
.merit-item p {
  font-size: 0.9375vw;
}
@media only screen and (max-width: 640px) {
  .merit-item p {
    font-size: 2.8125vw;
  }
}
.merit-title {
  margin-bottom: 0.5em;
  font-size: 1.875vw;
  color: #c6007f;
}
@media only screen and (max-width: 640px) {
  .merit-title {
    font-size: 3.75vw;
  }
}
.merit-contact {
  margin-bottom: 0.5em;
  font-size: 3.125vw;
}
@media only screen and (max-width: 640px) {
  .merit-contact {
    font-size: 5vw;
  }
}
.merit-contact em {
  color: #c6007f;
}
.merit-area {
  display: inline-block;
  background: #fff;
  font-size: 2.1875vw;
}
@media only screen and (max-width: 640px) {
  .merit-area {
    font-size: 3.75vw;
  }
}
.merit-area em {
  color: #c6007f;
}

.company {
  margin: 6.25vw auto;
}
@media only screen and (max-width: 640px) {
  .company {
    margin: 6.25vw auto;
  }
}
.company-wrapper {
  background: url(../img/bg_company.jpg) no-repeat center bottom;
  background-size: 100% auto;
}
@media only screen and (max-width: 640px) {
  .company-wrapper {
    background: url(../img/bg_company.jpg) no-repeat right bottom;
    background-size: 250% auto;
  }
}
.company-wrapper .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media only screen and (max-width: 640px) {
  .company-wrapper .inner {
    display: block;
  }
}
.company-body {
  padding-bottom: 3.125vw;
}
@media only screen and (max-width: 640px) {
  .company-body {
    padding-bottom: 0vw;
    width: 100%;
  }
  .company-body p br {
    display: none;
  }
}
.company-body .content-title {
  text-align: left;
}
.company-body .title-l {
  text-align: left;
  color: #c6007f;
}
.company-body p {
  line-height: 2;
}
.company-img {
  margin-left: 10%;
  width: 34%;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .company-img {
    margin: -10vw 0 0 auto;
    width: 60%;
  }
}
.company-img .photographer {
  position: absolute;
  left: -8.3333333333vw;
  bottom: 2em;
}
@media only screen and (max-width: 640px) {
  .company-img .photographer {
    left: -25vw;
  }
}
.company .map-wrapper {
  margin: 5.2083333333vw auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 640px) {
  .company .map-wrapper {
    display: block;
  }
}
.company .map-item {
  border: solid 2px #fff;
  width: 50%;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .company .map-item {
    width: 100%;
  }
}
.company .map-item .gmap {
  margin-top: 3.125vw;
  width: 100%;
  height: 23.9583333333vw;
}
@media only screen and (max-width: 640px) {
  .company .map-item .gmap {
    margin-bottom: 6.25vw;
    height: 56.25vw;
  }
}
.company .map-item .gmap iframe {
  width: 100%;
  height: 100%;
  border: none;
  background: #e9e9e9;
}
.company .map-title {
  margin-bottom: 0.5em;
  font-size: 1.875vw;
  color: #c6007f;
}
@media only screen and (max-width: 640px) {
  .company .map-title {
    font-size: 3.75vw;
  }
}

.float-contact {
  margin-top: 7.8125vw;
  padding: 2em 0;
  background: #c6007f;
  color: #fff;
}
.float-contact a {
  color: #fff;
  text-decoration: none;
}
.float-contact .contact-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (max-width: 640px) {
  .float-contact .contact-items {
    display: block;
  }
}
.float-contact .contact-items .tel {
  width: 31.5789473684%;
  font-size: 4.4rem;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-style: normal;
}
@media only screen and (max-width: 640px) {
  .float-contact .contact-items .tel {
    margin: 0 auto;
    width: 90%;
  }
}
.float-contact .contact-items .tel a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.float-contact .contact-items .tel img {
  margin-right: 0.25em;
  width: 1.4583333333vw;
}
@media only screen and (max-width: 640px) {
  .float-contact .contact-items .tel img {
    width: 5vw;
  }
}
.float-contact .contact-items .answer {
  padding: 0.5em;
  border: solid 1px #fff;
  width: 28.0701754386%;
  text-align: center;
  line-height: 2;
}
@media only screen and (max-width: 640px) {
  .float-contact .contact-items .answer {
    margin: 1em auto 2em;
    width: 80%;
  }
}
.float-contact .contact-items .answer h3 {
  border-bottom: solid 1px #fff;
}
@media only screen and (max-width: 640px) {
  .float-contact .contact-items .answer h3 {
    font-size: 3.75vw;
  }
}
.float-contact .contact-items .answer p {
  font-size: 0.8333333333vw;
}
@media only screen and (max-width: 640px) {
  .float-contact .contact-items .answer p {
    font-size: 3.125vw;
  }
}
.float-contact .contact-items .contact {
  width: 33.3333333333%;
}
@media only screen and (max-width: 640px) {
  .float-contact .contact-items .contact {
    width: 100%;
  }
}
.float-contact .contact-items .contact a {
  display: block;
  padding: 1em;
  color: #c6007f;
  background: #e8ff17;
  font-size: 2.2rem;
  text-align: center;
}
.float-contact .notes {
  margin-top: 1em;
  font-size: 0.78125vw;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  .float-contact .notes {
    font-size: 3.125vw;
  }
}

.footer {
  padding: 3.6458333333vw 0;
  background: #e9e9e9;
}
@media only screen and (max-width: 640px) {
  .footer {
    padding: 9.375vw 0;
  }
}
.footer .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 640px) {
  .footer .inner {
    display: block;
  }
}
.footer-logo {
  width: 26.8421052632%;
}
@media only screen and (max-width: 640px) {
  .footer-logo {
    margin: 0 auto 2em;
    display: block;
    width: 50vw;
  }
}
.footer-nav {
  margin-bottom: 2em;
}
.footer-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (max-width: 640px) {
  .footer-nav ul {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.footer-nav ul li {
  margin-left: 2em;
}
@media only screen and (max-width: 640px) {
  .footer-nav ul li {
    margin-bottom: 1em;
    margin-left: 0;
    width: 40%;
  }
}
.footer-nav ul li a {
  color: rgba(0, 0, 0, 0.85);
  text-decoration: none;
}
.footer-nav-wrapper {
  width: 57.8947368421%;
}
@media only screen and (max-width: 640px) {
  .footer-nav-wrapper {
    width: 100%;
  }
}
.footer .copyright {
  text-align: right;
}
@media only screen and (max-width: 640px) {
  .footer .copyright {
    text-align: center;
  }
}

.btn-more {
  text-align: center;
}
.btn-more a {
  padding: 0.5em 2em;
  border: solid 1px #c6007f;
  display: inline-block;
  color: #c6007f;
  text-decoration: none;
  font-size: 2.4rem;
}
@media only screen and (max-width: 640px) {
  .btn-more a {
    text-align: center;
    font-size: 2rem;
  }
}

.mt-l {
  margin-top: 4em;
}

.mt-ml {
  margin-top: 3em;
}

.mt-m {
  margin-top: 2em;
}

.mt-s {
  margin-top: 1em;
}

.mt-ss {
  margin-top: 0.5em;
}

.mt-0 {
  margin-top: 0;
}

.mb-l {
  margin-bottom: 4em;
}

.mb-ml {
  margin-bottom: 3em;
}

.mb-m {
  margin-bottom: 2em;
}

.mb-s {
  margin-bottom: 1em;
}

.mb-ss {
  margin-bottom: 0.5em;
}

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