@charset "UTF-8";
/* ==============================
   COMMON */
/* ============================== */
.shadow-z1 {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.3);
  transition: all .2s; }

.shadow-z2 {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.06), 0 3px 5px rgba(0, 0, 0, 0.13);
  transition: all .2s; }

body {
  background: url("../images/loading.gif") no-repeat calc((100vw - 50px )/ 2) calc((100vh - 50px )/ 2);
  font-size: 14px;
  line-height: 140%;
  width: 100%;
  color: #333;
  animation: fadeIn 2s forwards; }

.fixhidden {
  position: fixed;
  top: -9999px;
  left: -9999px; }

.pc {
  display: none; }

.hidden-text {
  visibility: hidden;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none; }

#loader {
  transition: opacity 1.5s;
  opacity: 1;
  height: 100vh;
  width: 100vw;
  background: #fff;
  z-index: 9999;
  position: fixed;
  left: 0;
  top: 0; }
  #loader.hide {
    opacity: 0;
    pointer-events: none; }

.yellow-bg {
  padding: 20px 0;
  background: #fff repeat left top/120px; }

button, input, textarea {
  outline: none; }

/* ==============================
   テキスト編集モード */
/* ============================== */
.textEditMode .textEdit {
  background: rgba(255, 255, 255, 0.01);
  border: 3px dashed #f00;
  border-radius: 3px; }

.close-textEdit {
  display: block;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  background: #ff6060;
  color: #fff;
  font-weight: bold;
  cursor: pointer;
  padding: 5px 10px;
  font-size: 12px; }

.textEdit[title] {
  cursor: pointer; }

.editArea {
  position: fixed;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  z-index: 1000;
  display: none; }
  .editArea .overlay {
    position: fixed;
    left: 0;
    top: 0;
    background: rgba(0, 0, 0, 0.8);
    width: 100%;
    height: 100%;
    z-index: 0; }
  .editArea .wrap {
    background: #fff;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
    margin: 0 auto;
    border-radius: 6px;
    width: calc(100vw - 80px);
    height: calc(100vh - 80px);
    position: absolute;
    z-index: 1;
    padding: 20px;
    text-align: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%); }
    .editArea .wrap .item {
      border-radius: 3px;
      width: 100%;
      height: calc(100% - 30px);
      text-align: left;
      padding: 10px;
      font-size: 14px;
      margin-bottom: 6px; }
    .editArea .wrap .preserve, .editArea .wrap .cancel {
      margin: 0 10px;
      width: 100px;
      height: 32px;
      line-height: 20px;
      font-size: 16px;
      padding: 6px 10px;
      border: 0;
      text-align: center;
      display: inline-block;
      border-radius: 6px;
      background: #00E676;
      cursor: pointer;
      color: #000;
      font-weight: bold; }
    .editArea .wrap .cancel {
      text-decoration: none;
      background: #ff6557;
      color: #fff; }

/* ==============================
   JSライブラリ関連 */
/* ============================== */
.lity {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  white-space: nowrap;
  background: #fff;
  background: rgba(255, 255, 255, 0.9);
  outline: none !important;
  opacity: 0;
  -webkit-transition: opacity .3s ease;
  -o-transition: opacity .3s ease;
  transition: opacity .3s ease; }

.lity.lity-opened {
  opacity: 1; }

.lity.lity-closed {
  opacity: 0; }

.lity * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.lity-wrap {
  z-index: 9990;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  text-align: center;
  outline: none !important; }

.lity-wrap:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -0.25em; }

.lity-loader {
  z-index: 9991;
  color: #fff;
  position: absolute;
  top: 50%;
  margin-top: -0.8em;
  width: 100%;
  text-align: center;
  font-size: 14px;
  font-family: Arial,Helvetica,sans-serif;
  opacity: 0;
  -webkit-transition: opacity .3s ease;
  -o-transition: opacity .3s ease;
  transition: opacity .3s ease; }

.lity-loading .lity-loader {
  opacity: 1; }

.lity-container {
  z-index: 9992;
  position: relative;
  text-align: left;
  vertical-align: middle;
  display: inline-block;
  white-space: normal;
  max-width: 100%;
  max-height: 100%;
  outline: none !important; }

.lity-content {
  z-index: 9993;
  width: 100%;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-transition: -webkit-transform .3s ease;
  transition: -webkit-transform .3s ease;
  -o-transition: -o-transform .3s ease;
  transition: transform .3s ease;
  transition: transform .3s ease, -webkit-transform .3s ease, -o-transform .3s ease; }

.lity-loading .lity-content, .lity-closed .lity-content {
  -webkit-transform: scale(0.8);
  -ms-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8); }

.lity-content:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); }

.lity-close {
  z-index: 9994;
  width: 35px;
  height: 35px;
  position: fixed;
  right: 0;
  top: 0;
  -webkit-appearance: none;
  cursor: pointer;
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial,Baskerville,monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none; }

.lity-close::-moz-focus-inner {
  border: 0;
  padding: 0; }

.lity-close:hover, .lity-close:focus, .lity-close:active, .lity-close:visited {
  text-decoration: none;
  text-align: center;
  padding: 0;
  color: #fff;
  font-style: normal;
  font-size: 35px;
  font-family: Arial,Baskerville,monospace;
  line-height: 35px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  border: 0;
  background: none;
  outline: none;
  -webkit-box-shadow: none;
  box-shadow: none; }

.lity-close:active {
  top: 1px; }

.lity-image img {
  max-width: 100%;
  display: block;
  line-height: 0;
  border: 0; }

.lity-iframe .lity-container, .lity-youtube .lity-container, .lity-vimeo .lity-container, .lity-facebookvideo .lity-container, .lity-googlemaps .lity-container {
  width: 100%;
  max-width: 964px; }

.lity-iframe-container {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: auto;
  pointer-events: auto;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-overflow-scrolling: touch; }

.lity-iframe-container iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000; }

.lity-hide {
  display: none; }

/* 前／次の矢印の設定 */
.slick-slider {
  position: relative; }

.slick-slider .prev {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translate(calc(-50% - 150px), 0);
  margin: auto;
  width: 24px;
  height: 50px;
  background-image: url("../images/arrow-left.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100%;
  z-index: 1;
  text-indent: -32px;
  overflow: hidden; }

.slick-slider .next {
  position: absolute;
  top: 0;
  right: 50%;
  transform: translate(calc(-50% + 173px), 0);
  bottom: 0;
  margin: auto;
  width: 24px;
  height: 50px;
  background-image: url("../images/arrow-right.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100%;
  z-index: 1;
  text-indent: -32px;
  overflow: hidden; }

/* Dots */
.slick-dots {
  position: absolute;
  bottom: -30px;
  left: 0;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      font-size: 0;
      line-height: 0;
      display: block;
      width: 20px;
      height: 20px;
      padding: 5px;
      cursor: pointer;
      color: transparent;
      border: 0;
      outline: none;
      background: transparent; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
      .slick-dots li button:hover:before, .slick-dots li button:focus:before {
        opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: #fff;
        content: '　';
        opacity: 1; }
    .slick-dots li.slick-active button:before {
      opacity: .25;
      color: #fff; }

/* ==============================
   Extend */
/* ============================== */
.bg-img, .selection .inner .selection-title .bg img {
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  max-width: inherit; }

/* checkbox */
/* Radio ON, Off */
/* radio custom */
@keyframes rcheck {
  0% {
    transform: scale(1); }
  33% {
    transform: scale(0.5); }
  80% {
    transform: scale(1.2); }
  100% {
    transform: scale(1); } }
/* ==============================
   ANIMATIONS */
/* ============================== */
.anim-In {
  opacity: 0;
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  -ms-animation-duration: 1s;
  animation-duration: 1s;
  visibility: visible !important; }

.textFadeIn {
  position: relative;
  animation: fadeIn 1.4s forwards;
  opacity: 0; }
  .textFadeIn::after {
    position: absolute;
    top: 0px;
    left: 0;
    content: attr(data-text);
    font-weight: 900;
    color: #f00;
    opacity: 0;
    transform: scale(1.5);
    animation: fadeInZoom 3s forwards;
    animation-delay: 1s; }
  .textFadeIn:nth-child(1) {
    animation-delay: 0s; }
  .textFadeIn:nth-child(2) {
    animation-delay: 0.1s; }
  .textFadeIn:nth-child(3) {
    animation-delay: 0.2s; }
  .textFadeIn:nth-child(4) {
    animation-delay: 0.3s; }
  .textFadeIn:nth-child(5) {
    animation-delay: 0.4s; }
  .textFadeIn:nth-child(6) {
    animation-delay: 0.5s; }
  .textFadeIn:nth-child(7) {
    animation-delay: 0.6s; }
  .textFadeIn:nth-child(8) {
    animation-delay: 0.7s; }
  .textFadeIn:nth-child(9) {
    animation-delay: 0.8s; }
  .textFadeIn:nth-child(10) {
    animation-delay: 0.9s; }
  .textFadeIn:nth-child(11) {
    animation-delay: 1s; }
  .textFadeIn:nth-child(12) {
    animation-delay: 1.1s; }
  .textFadeIn:nth-child(13) {
    animation-delay: 1.2s; }
  .textFadeIn:nth-child(14) {
    animation-delay: 1.3s; }
  .textFadeIn:nth-child(15) {
    animation-delay: 1.4s; }
  .textFadeIn:nth-child(16) {
    animation-delay: 1.5s; }
  .textFadeIn:nth-child(17) {
    animation-delay: 1.6s; }
  .textFadeIn:nth-child(18) {
    animation-delay: 1.7s; }
  .textFadeIn:nth-child(19) {
    animation-delay: 1.8s; }
  .textFadeIn:nth-child(20) {
    animation-delay: 1.9s; }
  .textFadeIn:nth-child(21) {
    animation-delay: 2s; }
  .textFadeIn:nth-child(22) {
    animation-delay: 2.1s; }
  .textFadeIn:nth-child(23) {
    animation-delay: 2.2s; }
  .textFadeIn:nth-child(24) {
    animation-delay: 2.3s; }
  .textFadeIn:nth-child(25) {
    animation-delay: 2.4s; }
  .textFadeIn:nth-child(26) {
    animation-delay: 2.5s; }
  .textFadeIn:nth-child(27) {
    animation-delay: 2.6s; }
  .textFadeIn:nth-child(28) {
    animation-delay: 2.7s; }
  .textFadeIn:nth-child(29) {
    animation-delay: 2.8s; }
  .textFadeIn:nth-child(30) {
    animation-delay: 2.9s; }
  .textFadeIn:nth-child(31) {
    animation-delay: 3s; }
  .textFadeIn:nth-child(32) {
    animation-delay: 3.1s; }
  .textFadeIn:nth-child(33) {
    animation-delay: 3.2s; }
  .textFadeIn:nth-child(34) {
    animation-delay: 3.3s; }
  .textFadeIn:nth-child(35) {
    animation-delay: 3.4s; }
  .textFadeIn:nth-child(36) {
    animation-delay: 3.5s; }
  .textFadeIn:nth-child(37) {
    animation-delay: 3.6s; }
  .textFadeIn:nth-child(38) {
    animation-delay: 3.7s; }
  .textFadeIn:nth-child(39) {
    animation-delay: 3.8s; }
  .textFadeIn:nth-child(40) {
    animation-delay: 3.9s; }
  .textFadeIn:nth-child(41) {
    animation-delay: 4s; }
  .textFadeIn:nth-child(42) {
    animation-delay: 4.1s; }
  .textFadeIn:nth-child(43) {
    animation-delay: 4.2s; }
  .textFadeIn:nth-child(44) {
    animation-delay: 4.3s; }
  .textFadeIn:nth-child(45) {
    animation-delay: 4.4s; }
  .textFadeIn:nth-child(46) {
    animation-delay: 4.5s; }
  .textFadeIn:nth-child(47) {
    animation-delay: 4.6s; }
  .textFadeIn:nth-child(48) {
    animation-delay: 4.7s; }
  .textFadeIn:nth-child(49) {
    animation-delay: 4.8s; }
  .textFadeIn:nth-child(50) {
    animation-delay: 4.9s; }
  .textFadeIn:nth-child(51) {
    animation-delay: 5s; }

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    -ms-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
.fadeInUp {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }
@keyframes fadeIn {
  0% {
    opacity: 0; }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1; } }
@keyframes fadeInZoom {
  0% {
    opacity: 0;
    transform: scale(1.5); }
  100% {
    transform: scale(1);
    opacity: 1; } }
@keyframes stroke {
  0% {
    stroke-dashoffset: 1800; }
  100% {
    stroke-dashoffset: 0; } }
@keyframes stroke-bg {
  0% {
    stroke-dashoffset: 1800;
    stroke: rgba(0, 0, 0, 0.2); }
  80% {
    stroke-dashoffset: 0;
    stroke: rgba(0, 0, 0, 0.2);
    fill: rgba(248, 248, 239, 0); }
  100% {
    stroke-dashoffset: 0;
    stroke: rgba(0, 0, 0, 0);
    fill: #f8f8ef; } }
@keyframes fadeInZoomOut {
  0% {
    opacity: 0;
    transform: scale(1.5); }
  100% {
    transform: scale(1);
    opacity: 1; } }
/* ==============================
   プリント用 */
/* ============================== */
/* ==============================
   コンテンツ */
/* ============================== */
body {
  max-width: 640px; }

.follow-contact {
  display: none; }

section.mainvisual {
  position: relative;
  height: 667px;
  width: 100%;
  background: #D9E8FC url("../images/top_mv_sp.jpg") no-repeat center center/641px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
    section.mainvisual {
      background-image: url("../images/top_mv_sp@2x.jpg"); } }
  section.mainvisual .img-callcenter-text {
    display: none; }
  section.mainvisual .inner {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative; }
  section.mainvisual .site-title {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100px;
    background: #0050AA url("../images/contact-sitetitle.svg") no-repeat center center/220.6px 46.5px; }
  section.mainvisual .img-search {
    display: none; }
  section.mainvisual .img-search-text {
    position: absolute;
    top: 117px;
    left: 50%;
    transform: translate(calc(-50% + 120px), 0);
    height: 168px;
    width: 121px;
    background: url("../images/mv-img-search-text_sp.png") no-repeat left top/100% 100%; }
    @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
      section.mainvisual .img-search-text {
        background-image: url("../images/mv-img-search-text_sp@2x.png"); } }
    @media screen and (max-width: 380px) {
      section.mainvisual .img-search-text {
        transform: scale(0.8) translate(calc(-50% + 105px), 0); } }
  section.mainvisual .img-catchcopy {
    position: absolute;
    top: 294px;
    left: 50%;
    transform: translate(-50%, 0);
    height: 86.5px;
    width: 276px;
    background: url("../images/mv-img-catchcopy.svg") no-repeat left top/100% 100%; }
  section.mainvisual .img-subcatchcopy {
    position: absolute;
    top: 398px;
    left: 50%;
    transform: translate(-50%, 0);
    height: 38.8px;
    width: 271px;
    font-weight: 700; }
    section.mainvisual .img-subcatchcopy .text {
      line-height: 24px;
      font-size: 16px;
      letter-spacing: -0.5px;
      color: #0050AA;
      font-weight: 700; }
  section.mainvisual .scroll {
    display: none; }

.wrap-callcenterlab {
  height: auto;
  width: 100%;
  position: relative;
  background: #00448F url("../images/problem_bg.jpg") no-repeat top right -250px/1140px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
    .wrap-callcenterlab {
      background-image: url("../images/problem_bg@2x.jpg"); } }
  .wrap-callcenterlab .deco-gradient {
    display: none; }
  .wrap-callcenterlab .deco-diagonal {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 2960px;
    bottom: 0;
    background: #fff; }
    .wrap-callcenterlab .deco-diagonal::after {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      transform: skewY(25deg);
      transform-origin: top right;
      z-index: -1;
      width: 100%;
      height: 100%;
      background: #fff; }
  .wrap-callcenterlab section.onayami .inner {
    width: 100%;
    height: auto;
    margin: 0 auto;
    position: relative;
    padding-top: 70px; }
  .wrap-callcenterlab section.onayami .phrase-target {
    margin: 0 auto;
    width: 280px;
    height: 44px;
    line-height: 44px;
    border-radius: 44px;
    text-align: center;
    font-size: 14px;
    color: #fff;
    background-color: #0050AA;
    margin-bottom: 35px; }
  .wrap-callcenterlab section.onayami .phrase-question {
    width: 100%;
    height: 20px;
    color: #fff;
    font-size: 20px;
    text-align: center;
    line-height: 20px;
    font-weight: 700;
    letter-spacing: 0px; }
  .wrap-callcenterlab section.onayami .phrase-onayami {
    margin: 44px auto 0;
    width: 100%; }
    .wrap-callcenterlab section.onayami .phrase-onayami li {
      margin: 0 auto 20px;
      width: 299px;
      height: 170px;
      position: relative;
      list-style: none;
      box-shadow: 0px 5px 20px -5px rgba(0, 0, 0, 0.4);
      background-color: #fff; }
      .wrap-callcenterlab section.onayami .phrase-onayami li:last-of-type {
        margin-bottom: 0; }
      .wrap-callcenterlab section.onayami .phrase-onayami li .wrap {
        position: absolute;
        top: 57px;
        left: 0;
        width: 300px;
        height: 110px;
        font-size: 16px;
        line-height: 26px;
        font-weight: bold;
        letter-spacing: 1px;
        padding: 30px; }
        .wrap-callcenterlab section.onayami .phrase-onayami li .wrap .text {
          position: relative; }
          .wrap-callcenterlab section.onayami .phrase-onayami li .wrap .text .hilight {
            color: #0050AA;
            position: relative;
            z-index: 1; }
            .wrap-callcenterlab section.onayami .phrase-onayami li .wrap .text .hilight span {
              display: inline;
              background-image: linear-gradient(to bottom, transparent 70%, #B2DDFB 70%);
              -webkit-box-decoration-break: clone;
              -o-box-decoration-break: clone;
              box-decoration-break: clone; }
  .wrap-callcenterlab section.onayami .solution {
    margin-top: 50px;
    margin-bottom: 50px;
    width: 100%;
    z-index: 1; }
    .wrap-callcenterlab section.onayami .solution .wrap {
      width: 100%;
      height: 315px; }
      .wrap-callcenterlab section.onayami .solution .wrap .img {
        width: 100%;
        height: 100%;
        transition: all 1s ease-in-out;
        background: url("../images/solution_sp.png") no-repeat top center/375px; }
        @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
          .wrap-callcenterlab section.onayami .solution .wrap .img {
            background-image: url("../images/solution_sp@2x.png"); } }
        .wrap-callcenterlab section.onayami .solution .wrap .img.show {
          top: 0; }
  .wrap-callcenterlab .about-callcenterlab {
    position: relative;
    z-index: 2; }
    .wrap-callcenterlab .about-callcenterlab .inner {
      width: 100%;
      margin: 0 auto;
      position: relative;
      overflow: hidden; }
    .wrap-callcenterlab .about-callcenterlab .deco-01 {
      margin: 0 auto;
      width: 320px;
      height: 180px;
      background: url("../images/deco-01.png") no-repeat top center/318px; }
      @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
        .wrap-callcenterlab .about-callcenterlab .deco-01 {
          background-image: url("../images/deco-01@2x.png"); } }
    .wrap-callcenterlab .about-callcenterlab .deco-02 {
      position: absolute;
      top: 1050px;
      left: 50%;
      z-index: 1;
      transform: translate(calc(-50% - 170px), 0);
      width: 330px;
      height: 301px;
      background: url("../images/deco-02.png") no-repeat top center/100%; }
      @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
        .wrap-callcenterlab .about-callcenterlab .deco-02 {
          background-image: url("../images/deco-02@2x.png"); } }
    .wrap-callcenterlab .about-callcenterlab .deco-03 {
      height: 320px;
      width: 100%;
      overflow: hidden;
      position: absolute;
      top: 1410px;
      z-index: 1; }
      .wrap-callcenterlab .about-callcenterlab .deco-03::after {
        position: absolute;
        content: "";
        top: 0;
        left: 50%;
        transform: translate(calc(-50% + 110px), 0);
        width: 330px;
        height: 320px;
        background: url("../images/deco-03.png") no-repeat top center/100%; }
        @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
          .wrap-callcenterlab .about-callcenterlab .deco-03::after {
            background-image: url("../images/deco-03@2x.png"); } }
    .wrap-callcenterlab .about-callcenterlab .title {
      margin: -30px auto 0;
      width: 100%;
      max-width: 450px;
      height: 126px;
      background: url("../images/about-callcenterlab_sp.png") no-repeat top center/450px;
      box-shadow: 0px 5px 20px -5px rgba(0, 0, 0, 0.4); }
      @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
        .wrap-callcenterlab .about-callcenterlab .title {
          background-image: url("../images/about-callcenterlab_sp@2x.png"); } }
    .wrap-callcenterlab .about-callcenterlab .about-card {
      margin-top: 64px;
      width: 100%;
      position: relative;
      z-index: 2; }
      .wrap-callcenterlab .about-callcenterlab .about-card .closs {
        position: absolute;
        left: 50%;
        transform: translate(-50%, 0);
        top: 289px;
        width: 80px;
        height: 80px;
        z-index: 1; }
        .wrap-callcenterlab .about-callcenterlab .about-card .closs .line1 {
          position: absolute;
          left: 0;
          top: 0;
          width: 80px;
          height: 80px;
          background: url("../images/line1.svg") top left/80px 80px no-repeat;
          transition: all 0.5s ease; }
        .wrap-callcenterlab .about-callcenterlab .about-card .closs .line2 {
          position: absolute;
          left: 0;
          top: 0;
          width: 80px;
          height: 80px;
          background: url("../images/line2.svg") top left/80px 80px no-repeat;
          transition: all 0.5s ease; }
      .wrap-callcenterlab .about-callcenterlab .about-card .card {
        margin: 0 auto;
        width: calc(100% - 40px);
        box-shadow: 0px 5px 20px -5px rgba(0, 0, 0, 0.4);
        position: relative; }
        .wrap-callcenterlab .about-callcenterlab .about-card .card.card-2 {
          margin-top: 60px; }
        .wrap-callcenterlab .about-callcenterlab .about-card .card .light {
          position: absolute;
          left: 11px;
          top: -48px;
          width: 47.7px;
          height: 65px;
          background: url("../images/icon-light.svg") center center/100% 100% no-repeat;
          z-index: 2; }
        .wrap-callcenterlab .about-callcenterlab .about-card .card .main-text {
          width: 100%;
          height: 150px;
          overflow: hidden;
          background: #004FAB;
          position: relative; }
          .wrap-callcenterlab .about-callcenterlab .about-card .card .main-text .text {
            display: inline-block;
            width: 100%;
            font-size: 20px;
            line-height: 28px;
            text-align: center;
            color: #fff;
            letter-spacing: 0px;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            position: absolute;
            font-weight: 700; }
        .wrap-callcenterlab .about-callcenterlab .about-card .card .detail-text {
          width: 100%;
          height: 150px;
          overflow: hidden;
          background: #fff;
          position: relative; }
          .wrap-callcenterlab .about-callcenterlab .about-card .card .detail-text .text {
            display: inline-block;
            width: 80%;
            font-size: 15px;
            font-weight: 400;
            line-height: 24px;
            text-align: center;
            color: #333;
            letter-spacing: 1px;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            position: absolute; }
    .wrap-callcenterlab .about-callcenterlab .motto {
      width: 100%;
      text-align: center;
      font-size: 25px;
      line-height: 40px;
      margin: 330px 0 280px;
      font-weight: 700; }
      .wrap-callcenterlab .about-callcenterlab .motto .text {
        position: relative;
        z-index: 3; }
      .wrap-callcenterlab .about-callcenterlab .motto .mark {
        display: inline;
        background-image: linear-gradient(to bottom, transparent 70%, #FFFF00 70%);
        -webkit-box-decoration-break: clone;
        -o-box-decoration-break: clone;
        box-decoration-break: clone; }
      .wrap-callcenterlab .about-callcenterlab .motto .text-line1 {
        background-color: #FFF000;
        display: block;
        position: absolute;
        top: 27px;
        left: 14px;
        width: 0;
        height: 16px;
        transition: all 1s ease;
        z-index: 2; }
        .wrap-callcenterlab .about-callcenterlab .motto .text-line1.show {
          width: 404px; }
      .wrap-callcenterlab .about-callcenterlab .motto .text-line2 {
        background-color: #FFF000;
        display: block;
        position: absolute;
        top: 27px;
        left: 457px;
        width: 0;
        height: 16px;
        transition: all 1s ease;
        z-index: 2; }
        .wrap-callcenterlab .about-callcenterlab .motto .text-line2.show {
          width: 340px; }
    .wrap-callcenterlab .about-callcenterlab .point {
      position: relative;
      width: 100%;
      max-width: 340px;
      height: 150px;
      left: 50%;
      transform: translate(-50%, 0);
      box-shadow: 0px 5px 20px -5px rgba(0, 0, 0, 0.4);
      background: url("../images/point-text_sp.png") no-repeat top center/340px; }
      @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
        .wrap-callcenterlab .about-callcenterlab .point {
          background-image: url("../images/point-text_sp@2x.png"); } }
      .wrap-callcenterlab .about-callcenterlab .point .fukidashi {
        position: absolute;
        width: 88px;
        height: 51px;
        left: 27px;
        top: -18px;
        background: url("../images/point-fukidashi.svg") center center/100% 100% no-repeat; }
    .wrap-callcenterlab .about-callcenterlab .point-katsuyaku {
      font-size: 22px;
      line-height: 32px;
      text-align: center;
      width: 100%;
      margin: 50px auto 28px;
      font-weight: 700; }
    .wrap-callcenterlab .about-callcenterlab .point-text {
      width: 280px;
      margin: 0 auto 50px;
      font-size: 16px;
      line-height: 30px;
      letter-spacing: 0;
      font-weight: 400; }
    .wrap-callcenterlab .about-callcenterlab .performance-data {
      width: 280px;
      height: 264px;
      box-shadow: 0px 5px 20px -5px rgba(0, 0, 0, 0.4);
      margin: 0 auto 30px; }
      .wrap-callcenterlab .about-callcenterlab .performance-data.data1 {
        background: url("../images/point-data01_sp.png") no-repeat top center/100%; }
        @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
          .wrap-callcenterlab .about-callcenterlab .performance-data.data1 {
            background-image: url("../images/point-data01_sp@2x.png"); } }
      .wrap-callcenterlab .about-callcenterlab .performance-data.data2 {
        background: url("../images/point-data02_sp.png") no-repeat top center/100%; }
        @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
          .wrap-callcenterlab .about-callcenterlab .performance-data.data2 {
            background-image: url("../images/point-data02_sp@2x.png"); } }
      .wrap-callcenterlab .about-callcenterlab .performance-data.data3 {
        background: url("../images/point-data03_sp.png") no-repeat top center/100%; }
        @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
          .wrap-callcenterlab .about-callcenterlab .performance-data.data3 {
            background-image: url("../images/point-data03_sp@2x.png"); } }
    .wrap-callcenterlab .about-callcenterlab .research {
      text-align: center;
      width: 100%;
      font-size: 12px;
      line-height: 22px;
      margin-bottom: 40px; }

.casestudy {
  position: relative;
  background: #0050AA;
  padding-bottom: 65px; }
  .casestudy .inner {
    width: 100%;
    height: auto;
    margin: 0 auto;
    position: relative;
    overflow: hidden; }
    .casestudy .inner .title {
      text-align: center;
      position: relative;
      padding: 70px 0 50px; }
      .casestudy .inner .title .line {
        display: block;
        margin: 20px auto 0;
        background: #3FA9F5;
        width: 80px;
        height: 3px; }
      .casestudy .inner .title .eng {
        display: block;
        font-family: 'Questrial', sans-serif;
        width: 100%;
        height: 20px;
        line-height: 20px;
        margin-bottom: 25px;
        font-size: 20px;
        letter-spacing: 2px;
        color: #3FA9F5;
        font-weight: normal; }
      .casestudy .inner .title .jpn {
        display: block;
        width: 100%;
        letter-spacing: 1px;
        font-size: 24px;
        line-height: 34px;
        color: #fff;
        text-align: center; }
    .casestudy .inner .slick {
      width: calc(100% - 1px);
      height: 487px;
      margin: 0 auto 30px;
      position: relative; }
      .casestudy .inner .slick .slick-list {
        margin: 0; }
      .casestudy .inner .slick .list > div {
        margin: 0 auto;
        width: 255px;
        height: 440px;
        background-color: #fff; }
        .casestudy .inner .slick .list > div span {
          display: block; }
        .casestudy .inner .slick .list > div .image {
          width: 100%;
          height: 150px; }
          .casestudy .inner .slick .list > div .image img {
            height: 100%;
            width: 100%; }
        .casestudy .inner .slick .list > div .case {
          padding: 22px 25px 0;
          line-height: 18px;
          font-size: 15px;
          font-weight: 400;
          letter-spacing: 2px; }
        .casestudy .inner .slick .list > div .case-title {
          line-height: 24px;
          font-size: 16px;
          text-align: justify;
          padding: 20px 25px 0;
          font-weight: 700;
          letter-spacing: 0; }
          .casestudy .inner .slick .list > div .case-title span {
            display: inline;
            background-image: linear-gradient(to bottom, transparent 70%, #FFFF00 70%);
            -webkit-box-decoration-break: clone;
            -o-box-decoration-break: clone;
            box-decoration-break: clone; }
        .casestudy .inner .slick .list > div .case-detail {
          padding: 12px 25px 0;
          line-height: 22px;
          font-size: 14px;
          text-align: justify;
          font-weight: 400;
          letter-spacing: 1px; }

.selection {
  background: #96B2D7 url("../images/standard_bg_sp.jpg") no-repeat center center/640px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
    .selection {
      background-image: url("../images/standard_bg_sp@2x.jpg"); } }
  .selection .inner {
    width: 100%;
    margin: 0 auto;
    position: relative;
    padding: 50px 0 70px;
    overflow: hidden; }
    .selection .inner .selection-title {
      height: 140px;
      width: 320px;
      margin: 0 auto 50px;
      position: relative; }
      .selection .inner .selection-title .bg {
        position: absolute;
        display: block;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0; }
        .selection .inner .selection-title .bg img {
          filter: drop-shadow(5px 5px 6px rgba(0, 0, 0, 0.2)); }
      .selection .inner .selection-title .icon-glass {
        display: block;
        position: absolute;
        width: 100px;
        height: 111px;
        right: -17px;
        top: -35px;
        background: url("../images/icon-glass.png") top center/100% 100% no-repeat; }
        @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
          .selection .inner .selection-title .icon-glass {
            background-image: url("../images/icon-glass@2x.png"); } }
      .selection .inner .selection-title .deco-person01 {
        display: none; }
      .selection .inner .selection-title .title-text {
        display: block;
        position: absolute;
        width: 100%;
        height: 40px;
        left: 50%;
        transform: translate(-50%, 0);
        top: 31px;
        font-size: 20px;
        line-height: 30px;
        color: #fff;
        text-align: center; }
    .selection .inner .selection-card {
      width: 100%;
      height: auto;
      position: relative; }
      .selection .inner .selection-card .card {
        position: relative;
        margin: 0 auto 30px;
        width: 280px;
        height: 384px;
        background: #fff;
        box-shadow: 0px 5px 20px -5px rgba(0, 0, 0, 0.4); }
        .selection .inner .selection-card .card .img {
          display: block;
          width: 280px;
          height: 160px; }
          .selection .inner .selection-card .card .img img {
            width: 100%; }
        .selection .inner .selection-card .card .text-title {
          position: relative;
          height: 104px;
          width: 100%;
          color: #fff;
          background: #FF501E; }
          .selection .inner .selection-card .card .text-title .num {
            position: absolute;
            top: 50%;
            left: 20px;
            transform: translate(0, -50%);
            height: 72px;
            width: 50px; }
            .selection .inner .selection-card .card .text-title .num.num1 {
              background: url("../images/num1.svg") left center/auto 100% no-repeat; }
            .selection .inner .selection-card .card .text-title .num.num2 {
              background: url("../images/num2.svg") left center/auto 100% no-repeat; }
            .selection .inner .selection-card .card .text-title .num.num3 {
              background: url("../images/num3.svg") left center/auto 100% no-repeat; }
          .selection .inner .selection-card .card .text-title .text {
            display: block;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 100%;
            text-align: center;
            font-size: 18px;
            line-height: 26px; }
        .selection .inner .selection-card .card .text-detail {
          font-size: 13px;
          font-weight: 500;
          line-height: 23px;
          padding: 23px 25px 0;
          text-align: justify;
          letter-spacing: 0px; }
          .selection .inner .selection-card .card .text-detail .hilight {
            color: #FF501E; }
        .selection .inner .selection-card .card .badge {
          width: 64px;
          height: 64px;
          position: absolute;
          top: 118px;
          left: 50%;
          box-shadow: 0px 5px 20px -5px rgba(0, 0, 0, 0.4);
          border-radius: 50%;
          transform: translate(-50%, 0);
          transition: all 1s ease-in-out;
          background: url("../images/icon-badge-gold.png") top center/100% 100% no-repeat; }
          @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
            .selection .inner .selection-card .card .badge {
              background-image: url("../images/icon-badge-gold@2x.png"); } }
          .selection .inner .selection-card .card .badge img {
            filter: drop-shadow(5px 5px 6px rgba(0, 0, 0, 0.2)); }

.callcenterpoint5 {
  background: #368AC8 url("../images/feature_bg.jpg") no-repeat center center/cover; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
    .callcenterpoint5 {
      background-image: url("../images/feature_bg@2x.jpg"); } }
  .callcenterpoint5 .inner {
    width: 100%;
    height: auto;
    margin: 0 auto;
    position: relative;
    padding: 100px 0 80px; }
    .callcenterpoint5 .inner .comment {
      width: 165px;
      height: 165px;
      margin: 0 auto;
      position: relative; }
      .callcenterpoint5 .inner .comment .fukidashi {
        position: absolute;
        left: 50%;
        top: -36px;
        transform: translate(-50%, 0);
        width: 198px;
        height: 57.5px;
        background: url("../images/fukidashi-ok_sp.svg") no-repeat center center/cover; }
      .callcenterpoint5 .inner .comment .photo {
        width: 165px;
        height: 165px;
        background: url("../images/feature_img_1.png") no-repeat center center/cover; }
        @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
          .callcenterpoint5 .inner .comment .photo {
            background-image: url("../images/feature_img_1@2x.png"); } }
    .callcenterpoint5 .inner .title {
      margin-top: 40px; }
      .callcenterpoint5 .inner .title .img {
        display: block;
        margin: 0 auto;
        width: 270px;
        height: 137px;
        background: url("../images/callcenterpoint5_sp.svg") no-repeat center center/100% 100%; }
      .callcenterpoint5 .inner .title .line {
        display: none; }

.callcenterpoint5content {
  position: relative;
  width: 100%;
  overflow: hidden; }
  .callcenterpoint5content.number1 {
    background: url("../images/speed_bg_sp.jpg") no-repeat top center/640px 220px; }
    @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
      .callcenterpoint5content.number1 {
        background-image: url("../images/speed_bg_sp@2x.jpg"); } }
  .callcenterpoint5content.number2 {
    background: url("../images/flexible_bg_sp.jpg") no-repeat top center/640px 220px; }
    @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
      .callcenterpoint5content.number2 {
        background-image: url("../images/flexible_bg_sp@2x.jpg"); } }
  .callcenterpoint5content.number3 {
    background: url("../images/cost_bg_sp.jpg") no-repeat top center/640px 220px; }
    @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
      .callcenterpoint5content.number3 {
        background-image: url("../images/cost_bg_sp@2x.jpg"); } }
    .callcenterpoint5content.number3 .inner .headline .text img {
      height: 117px; }
  .callcenterpoint5content.number4 {
    background: url("../images/proposal_bg_sp.jpg") no-repeat top center/640px 220px; }
    @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
      .callcenterpoint5content.number4 {
        background-image: url("../images/proposal_bg_sp@2x.jpg"); } }
  .callcenterpoint5content.number5 {
    background: url("../images/area_bg_sp.jpg") no-repeat top center/640px 220px; }
    @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
      .callcenterpoint5content.number5 {
        background-image: url("../images/area_bg_sp@2x.jpg"); } }
  .callcenterpoint5content .half-bg {
    display: none; }
  .callcenterpoint5content .line {
    display: none; }
  .callcenterpoint5content .inner {
    width: 100%;
    margin: 0 auto;
    position: relative; }
    .callcenterpoint5content .inner .headline {
      height: 100%;
      position: relative;
      height: 220px; }
      .callcenterpoint5content .inner .headline .text {
        position: absolute;
        left: 25px;
        top: 50%;
        transform: translate(0, -50%); }
        .callcenterpoint5content .inner .headline .text img {
          height: 53px; }
    .callcenterpoint5content .inner .check {
      width: 100%;
      background: #fff;
      position: relative;
      padding: 50px 0; }
      .callcenterpoint5content .inner .check .icon-check {
        position: absolute;
        left: 20px;
        top: -52px;
        width: 78px;
        height: 83px; }
        .callcenterpoint5content .inner .check .icon-check img {
          width: 100%; }
      .callcenterpoint5content .inner .check .title {
        width: calc(100% - 50px);
        margin: 0 auto 20px;
        font-size: 20px;
        line-height: 30px;
        letter-spacing: 0px;
        font-weight: 700; }
      .callcenterpoint5content .inner .check .text {
        width: calc(100% - 50px);
        margin: 0 auto;
        font-size: 14px;
        font-weight: 400;
        line-height: 24px;
        letter-spacing: 1px; }
        .callcenterpoint5content .inner .check .text i {
          color: #fa5a14;
          font-weight: 700;
          font-style: normal; }

.recommend-before {
  background: #FA5A14;
  width: 100%; }
  .recommend-before .inner {
    width: 100%;
    height: 250px;
    margin: 0 auto;
    position: relative; }
    .recommend-before .inner .triangle {
      position: absolute;
      background: url(../images/icon-triangle-orange.svg) no-repeat center center/100% 100%;
      left: 50%;
      transform: translate(-50%, 0);
      bottom: -20px;
      height: 20px;
      width: 24px;
      z-index: 1; }
    .recommend-before .inner .headline {
      width: 100%;
      height: 165px;
      position: absolute;
      left: 50%;
      transform: translate(-50%, 0);
      top: 54px; }
      .recommend-before .inner .headline .bulb {
        width: 67px;
        height: 90px;
        position: absolute;
        left: 50%;
        top: 37%;
        transform: translate(calc(-50% + -160px), -50%); }
        .recommend-before .inner .headline .bulb img {
          width: 100%; }
      .recommend-before .inner .headline .sub {
        position: absolute;
        left: 50%;
        transform: translate(calc(-50% + 20px), 0);
        top: 5px;
        width: 241px;
        height: 49px;
        background: url(../images/recommend-before-text-sub_sp.svg) no-repeat center top/100%; }
      .recommend-before .inner .headline .main {
        position: absolute;
        left: 50%;
        transform: translate(calc(-50% + 20px), 0);
        bottom: 30px;
        width: 245px;
        height: 60px;
        background: url(../images/recommend-before-text-main_sp.svg) no-repeat center top/100%; }

.about-bonz {
  background: url(../images/bonz_bg_sp.jpg) no-repeat center bottom/640px;
  width: 100%;
  height: 740px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
    .about-bonz {
      background-image: url("../images/bonz_bg_sp@2x.jpg"); } }
  .about-bonz .wrap-bg {
    width: 100%;
    height: 740px; }
  .about-bonz .inner {
    width: 100%;
    height: 740px;
    margin: 0 auto;
    position: relative; }
    .about-bonz .inner .monitor {
      position: absolute;
      top: 470px;
      left: 50%;
      transform: translate(-50%, 0);
      width: 300px;
      height: 245px;
      z-index: 5;
      background: url(../images/bonz_img_2.png) no-repeat center top/100%; }
      @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
        .about-bonz .inner .monitor {
          background-image: url("../images/bonz_img_2@2x.png"); } }
    .about-bonz .inner .badge {
      position: absolute;
      top: 43px;
      left: 50%;
      transform: translate(-50%, 0);
      width: 100px;
      height: 100px;
      z-index: 6;
      background: url(../images/bonz_img_1.png) no-repeat center top/100%; }
      @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
        .about-bonz .inner .badge {
          background-image: url("../images/bonz_img_1@2x.png"); } }
    .about-bonz .inner .bg-white {
      width: 100%;
      position: absolute;
      top: 0; }
      .about-bonz .inner .bg-white .message {
        position: absolute;
        left: 50%;
        transform: translate(-50%, 0);
        top: 162px;
        width: 232px;
        height: 51px;
        overflow: hidden; }
        .about-bonz .inner .bg-white .message .text {
          width: 232px;
          height: 51px;
          background: url(../images/about-bonz-text1.svg) no-repeat center top/100%; }
      .about-bonz .inner .bg-white .copy {
        font-size: 24px;
        line-height: 35px;
        position: absolute;
        left: 50%;
        transform: translate(-50%, 0);
        top: 238px;
        width: 300px;
        font-weight: 700; }
      .about-bonz .inner .bg-white .bonz {
        font-family: 'Questrial', sans-serif;
        position: absolute;
        left: 50%;
        transform: translate(-50%, 0);
        top: 326px;
        width: 300px;
        font-size: 28px;
        line-height: 28px;
        color: #FA5A14;
        letter-spacing: 0px;
        white-space: pre;
        font-weight: normal; }
      .about-bonz .inner .bg-white .bonz-jp {
        position: absolute;
        left: 50%;
        transform: translate(-50%, 0);
        top: 365px;
        font-size: 16px;
        line-height: 16px;
        color: #FA5A14;
        width: 300px;
        letter-spacing: 1px;
        font-weight: 400; }
      .about-bonz .inner .bg-white .url {
        position: absolute;
        top: 405px;
        left: 50%;
        transform: translate(-50%, 0);
        font-size: 18px;
        line-height: 18px;
        width: 300px; }
        .about-bonz .inner .bg-white .url a {
          font-family: 'Questrial', sans-serif;
          color: #000;
          font-weight: normal; }

.reason-bonz {
  background: #fff url(../images/bonz_reasons_bg_sp.jpg) repeat-x center top/640px;
  width: 100%; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
    .reason-bonz {
      background-image: url("../images/bonz_reasons_bg_sp@2x.jpg"); } }
  .reason-bonz .inner {
    width: 100%;
    height: auto;
    margin: 0 auto;
    position: relative;
    padding-bottom: 55px;
    padding-top: 240px; }
    .reason-bonz .inner .megaphone {
      display: none; }
    .reason-bonz .inner .megaphone-text {
      position: absolute;
      left: 50%;
      transform: translate(calc(-50% + 60px), 0);
      top: -20px;
      width: 173.9px;
      height: 89.2px;
      overflow: hidden; }
      .reason-bonz .inner .megaphone-text .text {
        width: 173.9px;
        height: 89.2px;
        background: url(../images/megaphone-text_sp.svg) no-repeat center top/100%; }
    .reason-bonz .inner .headline {
      position: absolute;
      left: 50%;
      transform: translate(-50%, 0);
      top: 47px;
      width: 260px; }
      .reason-bonz .inner .headline .reason-eng-title {
        font-family: 'Questrial', sans-serif;
        font-size: 22px;
        line-height: 22px;
        margin-bottom: 15px;
        font-weight: normal;
        color: #FA5A14;
        letter-spacing: 0px; }
      .reason-bonz .inner .headline .reason-jp-title {
        font-size: 30px;
        line-height: 40px;
        color: #000; }
    .reason-bonz .inner .point-wrap {
      position: relative;
      width: 100%;
      height: auto; }
      .reason-bonz .inner .point-wrap::after {
        content: "";
        display: block;
        clear: both; }
      .reason-bonz .inner .point-wrap .point {
        background: #fff;
        position: relative;
        width: 280px;
        height: 272px;
        margin: 0 auto 68px;
        box-shadow: 0px 5px 20px -5px rgba(0, 0, 0, 0.4); }
        .reason-bonz .inner .point-wrap .point .badge {
          position: absolute;
          top: -53px;
          left: 50%;
          transform: translate(-50%, 0);
          width: 120px;
          height: 86.6px;
          z-index: 5; }
          .reason-bonz .inner .point-wrap .point .badge img {
            width: 100%;
            height: 100%; }
        .reason-bonz .inner .point-wrap .point .point-title {
          position: relative;
          width: 100%;
          height: 128px;
          background-color: #FA5A14; }
          .reason-bonz .inner .point-wrap .point .point-title span {
            position: absolute;
            left: 50%;
            top: 55%;
            transform: translate(-50%, -50%);
            font-size: 20px;
            color: #fff;
            font-weight: bold;
            width: calc(100% - 10px);
            display: block;
            text-align: center;
            line-height: 30px;
            letter-spacing: 0px; }
            .reason-bonz .inner .point-wrap .point .point-title span.small {
              font-size: 17px;
              line-height: 25px; }
          .reason-bonz .inner .point-wrap .point .point-title::after {
            content: "";
            background: url(../images/gold-bg.svg) repeat center center/100% 100%;
            width: 100%;
            height: 4px;
            bottom: -1px;
            left: 0;
            position: absolute;
            z-index: 3; }
        .reason-bonz .inner .point-wrap .point .point-detail {
          width: 230px;
          margin: 0 auto;
          padding-top: 25px;
          font-size: 14px;
          line-height: 24px;
          color: #000;
          font-weight: normal;
          letter-spacing: 1px;
          font-weight: 400; }
          .reason-bonz .inner .point-wrap .point .point-detail em {
            color: #FA5A14;
            font-style: normal; }
    .reason-bonz .inner .official-bonz-headline {
      text-align: center;
      position: relative;
      font-size: 18px;
      display: block;
      width: 250px;
      margin: 0 auto 28px;
      left: -20px;
      letter-spacing: 0px; }
      .reason-bonz .inner .official-bonz-headline::after {
        position: absolute;
        right: -20px;
        top: 2px;
        content: "";
        display: block;
        width: 17px;
        height: 11px;
        background: url(../images/triangle-01.svg) center center/100% 100%; }
    .reason-bonz .inner .official-bonz-wrap {
      width: 100%;
      border-radius: 10px;
      position: relative; }
      .reason-bonz .inner .official-bonz-wrap .image {
        margin: 0 auto 30px;
        height: 150px;
        width: 280px;
        background: url(../images/official-bonz-image_sp.png) center center/100% 100%; }
        @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
          .reason-bonz .inner .official-bonz-wrap .image {
            background-image: url("../images/official-bonz-image_sp@2x.png"); } }
      .reason-bonz .inner .official-bonz-wrap .text-wrap {
        width: 280px;
        margin: 0 auto; }
        .reason-bonz .inner .official-bonz-wrap .text-wrap .copy {
          font-size: 16px;
          line-height: 28px;
          border-bottom: 1px solid #000;
          width: 100%;
          padding-bottom: 20px;
          letter-spacing: 0px;
          font-weight: 400; }
        .reason-bonz .inner .official-bonz-wrap .text-wrap .officialsite {
          width: 100%;
          padding-top: 20px;
          padding-bottom: 20px;
          position: relative; }
          .reason-bonz .inner .official-bonz-wrap .text-wrap .officialsite .name {
            font-size: 16px;
            line-height: 16px;
            font-weight: bold;
            display: block;
            margin-bottom: 12px;
            font-weight: 900;
            letter-spacing: 0px; }
          .reason-bonz .inner .official-bonz-wrap .text-wrap .officialsite .small {
            font-size: 12px;
            line-height: 12px;
            font-weight: bold;
            display: block;
            letter-spacing: 0px; }
          .reason-bonz .inner .official-bonz-wrap .text-wrap .officialsite .url {
            display: block;
            margin-top: 18px;
            color: #FA5A14;
            font-weight: bold; }
          .reason-bonz .inner .official-bonz-wrap .text-wrap .officialsite .link {
            margin-top: 30px;
            background: #FA5A14;
            position: relative;
            display: block;
            width: 280px;
            height: 60px;
            font-weight: 400;
            color: #fff;
            text-decoration: none;
            transition: all .2s ease;
            border-radius: 10px; }
            .reason-bonz .inner .official-bonz-wrap .text-wrap .officialsite .link .icon-svg {
              transition: all .2s ease; }
            .reason-bonz .inner .official-bonz-wrap .text-wrap .officialsite .link .text {
              position: absolute;
              font-size: 18px;
              left: 20px;
              top: 50%;
              transform: translate(0, -50%); }
            .reason-bonz .inner .official-bonz-wrap .text-wrap .officialsite .link .arrow {
              position: absolute;
              right: 24px;
              top: 50%;
              transform: translate(0, -50%); }
            .reason-bonz .inner .official-bonz-wrap .text-wrap .officialsite .link:hover {
              background: #fff;
              color: #FA5A14; }
              .reason-bonz .inner .official-bonz-wrap .text-wrap .officialsite .link:hover .icon-svg {
                stroke: #FA5A14; }
          .reason-bonz .inner .official-bonz-wrap .text-wrap .officialsite .qr {
            display: none; }

.mainpage-originalguid {
  background: #fff url(../images/footer_contact_bg_sp.png) repeat-x center top/640px;
  width: 100%; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
    .mainpage-originalguid {
      background-image: url("../images/footer_contact_bg_sp@2x.png"); } }
  .mainpage-originalguid .inner {
    width: 100%;
    height: 500px;
    margin: 0 auto;
    position: relative;
    padding-bottom: 100px; }
    .mainpage-originalguid .inner .to-top {
      position: absolute;
      right: 20px;
      bottom: 0px;
      width: 120px;
      height: 42px; }
    .mainpage-originalguid .inner .site-name {
      width: 248px;
      position: absolute;
      left: 50%;
      transform: translate(-50%, 0);
      top: 70px; }
      .mainpage-originalguid .inner .site-name img {
        width: 100%; }
    .mainpage-originalguid .inner .message {
      width: 250px;
      text-align: center;
      position: absolute;
      font-size: 19px;
      letter-spacing: 2px;
      font-weight: 700;
      color: #fff;
      top: 108px;
      left: 50%;
      transform: translate(-50%, 0); }
    .mainpage-originalguid .inner .link {
      background: url(../images/download_sp.svg) center center/100% 100%;
      width: 300px;
      height: 59.5px;
      display: block;
      position: relative;
      top: 397px;
      left: 50%;
      transform: translate(-50%, 0);
      cursor: pointer;
      box-shadow: 0px 5px 20px -5px rgba(0, 0, 0, 0.4); }
      .mainpage-originalguid .inner .link .wrap {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: #fff;
        opacity: 0;
        pointer-events: none;
        transition: .2s opacity ease;
        border-radius: 10px; }
      .mainpage-originalguid .inner .link:hover .wrap {
        opacity: .4; }

.footer {
  width: 100%;
  position: relative;
  padding: 40px  27px 20px; }
  .footer .inner {
    width: 100%;
    height: auto;
    margin: 0 auto;
    position: relative; }
    .footer .inner .copyright {
      font-size: 10px;
      margin-top: 20px;
      letter-spacing: 1px;
      line-height: 16px; }
    .footer .inner .links {
      margin: 30px 0; }
      .footer .inner .links a {
        font-size: 13px;
        display: list-item;
        margin-bottom: 10px;
        margin-left: 18px;
        color: #000; }
  .footer .to-top {
    position: absolute;
    bottom: 0;
    border-radius: 10px;
    cursor: pointer;
    background: #000;
    opacity: 1;
    transition: all 1s ease;
    z-index: 50;
    right: 20px;
    width: 120px;
    height: 42px; }

.page-header {
  height: 300px;
  width: 100%;
  position: relative;
  background: #fff url(../images/terms_header_sp.jpg) repeat-x center top/640px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
    .page-header {
      background-image: url("../images/terms_header_sp@2x.jpg"); } }
  .page-header.privacypolicy {
    background: #fff url(../images/pp_header_sp.jpg) repeat-x center top/640px; }
    @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
      .page-header.privacypolicy {
        background-image: url("../images/pp_header_sp@2x.jpg"); } }
  .page-header.docrequest {
    height: 80px; }
  .page-header .header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background: #0050AA; }
    .page-header .header > .inner {
      width: 100%;
      height: 100%;
      position: absolute;
      bottom: 0; }
      .page-header .header > .inner .logo {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 168px;
        height: 35.4px;
        background: url(../images/header-logo_sp.svg) no-repeat center center/100% 100%; }
  .page-header > .inner {
    width: 100%;
    height: 220px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0); }
    .page-header > .inner .page-title {
      position: absolute;
      text-align: center;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
      .page-header > .inner .page-title .jp-text {
        display: block;
        color: #fff;
        font-size: 24px;
        line-height: 28px;
        margin-bottom: 18px;
        min-width: 320px; }
      .page-header > .inner .page-title .eng-text {
        font-family: 'Questrial', sans-serif;
        display: block;
        color: #0050AA;
        font-size: 15px;
        font-weight: normal; }

.page-content {
  width: 100%;
  margin: 0 auto;
  position: relative;
  padding: 60px 28px 100px;
  border-bottom: 1px solid #E6E6E6;
  letter-spacing: 0.7px; }
  .page-content .satori-wrap {
    width: 100%;
    background: #F8F8F8;
    padding: 10px;
    margin: 0 auto; }
    .page-content .satori-wrap .satori__custom_form_507efbb9c496acf0_css {
      background: transparent !important; }
    .page-content .satori-wrap .satori__custom_form_507efbb9c496acf0_css .satori__notes {
      background: transparent !important;
      border: 0 !important;
      padding: 6px 0; }
    .page-content .satori-wrap .agreement-link-wrap {
      margin-bottom: 20px;
      margin-top: 10px; }
      .page-content .satori-wrap .agreement-link-wrap .link {
        list-style-type: disc;
        position: relative;
        text-decoration: underline;
        font-size: 14px;
        margin-bottom: 0;
        padding-left: 0px;
        color: #000;
        display: list-item;
        margin-left: 30px; }
        .page-content .satori-wrap .agreement-link-wrap .link:hover {
          color: #666; }
        .page-content .satori-wrap .agreement-link-wrap .link + br {
          display: none; }
    .page-content .satori-wrap #timerex {
      opacity: 0;
      max-height: 0px;
      overflow: hidden;
      transition: 1s all ease; }
      .page-content .satori-wrap #timerex.show {
        max-height: 2000px;
        opacity: 1; }
  .page-content.privacypolicy h1 {
    color: #0050AA;
    border-left: 0;
    padding-left: 0; }
  .page-content.privacypolicy ol > li {
    list-style-type: none;
    counter-increment: cnt2;
    padding-left: 20px;
    position: relative; }
    .page-content.privacypolicy ol > li::before {
      content: "(" counter(cnt2) ") ";
      position: absolute;
      left: -28px; }
  .page-content.privacypolicy ol.katakana {
    list-style-type: none;
    margin-bottom: 50px;
    padding-left: 26px; }
    .page-content.privacypolicy ol.katakana li {
      counter-increment: cnt3;
      position: relative;
      margin-bottom: 5px;
      padding-left: 15px;
      line-height: 26px;
      font-size: 14px; }
      .page-content.privacypolicy ol.katakana li::marker {
        font-weight: bold; }
      .page-content.privacypolicy ol.katakana li::before {
        content: "）";
        font-weight: bold;
        position: absolute;
        left: -28px;
        top: 1px;
        padding-left: 4px; }
      .page-content.privacypolicy ol.katakana li:nth-of-type(1)::before {
        content: "(ア) "; }
      .page-content.privacypolicy ol.katakana li:nth-of-type(2)::before {
        content: "(イ) "; }
      .page-content.privacypolicy ol.katakana li:nth-of-type(3)::before {
        content: "(ウ) "; }
      .page-content.privacypolicy ol.katakana li:nth-of-type(4)::before {
        content: "(エ) "; }
      .page-content.privacypolicy ol.katakana li:nth-of-type(5)::before {
        content: "(オ) "; }
      .page-content.privacypolicy ol.katakana li:nth-of-type(6)::before {
        content: "(カ) "; }
      .page-content.privacypolicy ol.katakana li:nth-of-type(7)::before {
        content: "(キ) "; }
      .page-content.privacypolicy ol.katakana li:nth-of-type(8)::before {
        content: "(ク) "; }
      .page-content.privacypolicy ol.katakana li:nth-of-type(9)::before {
        content: "(ケ) "; }
      .page-content.privacypolicy ol.katakana li:nth-of-type(10)::before {
        content: "(コ) "; }
      .page-content.privacypolicy ol.katakana li:nth-of-type(11)::before {
        content: "(サ) "; }
      .page-content.privacypolicy ol.katakana li:nth-of-type(12)::before {
        content: "(シ) "; }
      .page-content.privacypolicy ol.katakana li:nth-of-type(13)::before {
        content: "(ス) "; }
      .page-content.privacypolicy ol.katakana li:nth-of-type(14)::before {
        content: "(セ) "; }
  .page-content .to-top {
    position: absolute;
    right: 20px;
    bottom: 0px;
    width: 120px;
    height: 42px; }
  .page-content a {
    word-break: break-all;
    color: #000; }
  .page-content .mb-5 {
    margin-bottom: 20px !important; }
  .page-content h1 {
    border-left: 5px #0050AA solid;
    line-height: 38px;
    height: 38px;
    font-size: 18px;
    padding-left: 20px;
    margin-bottom: 30px;
    letter-spacing: 0px; }
  .page-content h2 {
    padding: 20px 0;
    font-weight: bold;
    font-size: 16px;
    border-bottom: 1px solid #000;
    margin-bottom: 50px;
    letter-spacing: 0px; }
  .page-content h3 {
    line-height: 26px;
    font-size: 14px;
    margin-bottom: 8px;
    letter-spacing: 0px; }
  .page-content p {
    line-height: 26px;
    font-size: 14px;
    margin-bottom: 30px; }
    .page-content p.text-align-right {
      text-align: right; }
  .page-content ol {
    margin-bottom: 30px;
    padding-left: 26px; }
    .page-content ol ol li {
      list-style-type: none;
      counter-increment: cnt;
      position: relative;
      padding-left: 15px;
      line-height: 26px;
      font-size: 14px; }
      .page-content ol ol li::before {
        content: "(" counter(cnt) ") ";
        font-weight: bold;
        position: absolute;
        left: -28px;
        top: 0;
        padding-left: 4px; }
    .page-content ol li {
      line-height: 26px;
      font-size: 14px; }
      .page-content ol li::marker {
        font-weight: bold; }
  .page-content ol.eng {
    list-style-type: none;
    margin-bottom: 30px;
    padding-left: 26px; }
    .page-content ol.eng li {
      position: relative;
      margin-bottom: 5px;
      padding-left: 10px;
      line-height: 26px;
      font-size: 14px; }
      .page-content ol.eng li::marker {
        font-weight: bold; }
      .page-content ol.eng li::before {
        content: "）";
        font-weight: bold;
        position: absolute;
        left: -28px;
        top: 1px;
        padding-left: 4px; }
      .page-content ol.eng li:nth-of-type(1)::before {
        content: "a）"; }
      .page-content ol.eng li:nth-of-type(2)::before {
        content: "b）"; }
      .page-content ol.eng li:nth-of-type(3)::before {
        content: "c）"; }
      .page-content ol.eng li:nth-of-type(4)::before {
        content: "d）"; }
      .page-content ol.eng li:nth-of-type(5)::before {
        content: "e）"; }
      .page-content ol.eng li:nth-of-type(6)::before {
        content: "f）"; }
      .page-content ol.eng li:nth-of-type(7)::before {
        content: "g）"; }
      .page-content ol.eng li:nth-of-type(8)::before {
        content: "h）"; }
      .page-content ol.eng li:nth-of-type(9)::before {
        content: "i）"; }
      .page-content ol.eng li:nth-of-type(10)::before {
        content: "j）"; }
      .page-content ol.eng li:nth-of-type(11)::before {
        content: "k）"; }
  .page-content table {
    table-layout: fixed;
    width: 100%;
    position: relative;
    border-collapse: collapse;
    margin-bottom: 1.2rem;
    background-color: #EFF9FB;
    border: 1px solid #9FB2B9; }
    .page-content table thead th:first-child {
      width: 50%;
      background-color: #BEE6F2; }
    .page-content table th {
      background-color: #DCF1F6;
      font-weight: 400;
      text-align: left; }
    .page-content table th, .page-content table td {
      padding: 15px 10px;
      vertical-align: top;
      border: 1px solid #9FB2B9;
      font-size: 14px;
      line-height: 26px; }

.docrequest-visual {
  background: #fff url(../images/docrequest-visual_sp.png) repeat-x center top/640px;
  width: 100%;
  height: 500px; }
  @media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
    .docrequest-visual {
      background-image: url("../images/docrequest-visual_sp@2x.png"); } }
