@charset "UTF-8";
/* common */
/* Welcome to Compass.
 * In this file you should write your main styles. (or centralize your imports)
 * Import this file using the following HTML or equivalent:
 * <link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet" type="text/css" /> */
/* line 5, ../../../../Ruby30/lib/ruby/gems/3.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

/* line 22, ../../../../Ruby30/lib/ruby/gems/3.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
html {
  line-height: 1;
}

/* line 24, ../../../../Ruby30/lib/ruby/gems/3.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
ol, ul {
  list-style: none;
}

/* line 26, ../../../../Ruby30/lib/ruby/gems/3.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* line 28, ../../../../Ruby30/lib/ruby/gems/3.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

/* line 30, ../../../../Ruby30/lib/ruby/gems/3.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
q, blockquote {
  quotes: none;
}
/* line 103, ../../../../Ruby30/lib/ruby/gems/3.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

/* line 32, ../../../../Ruby30/lib/ruby/gems/3.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
a img {
  border: none;
}

/* line 116, ../../../../Ruby30/lib/ruby/gems/3.0.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

/*========================================================
        COLORS
=========================================================*/
/*========================================================
        font
=========================================================*/
/* ----------------
  h
------------------ */
/* ----------------
  arrow
------------------ */
/*----------------------
  point-eyechatch
----------------------- */
/*----------------------
  point-check
----------------------- */
/* btn series*/
/*  bg-line-effect   */
/* animation */
@keyframes pageSkiperAnimation {
  0% {
    top: 10px;
  }
  100% {
    top: 5px;
  }
}
@keyframes BtnRigthArrrowAnimation {
  0% {
    right: 25px;
  }
  100% {
    right: 15px;
  }
}
/*-------------- animation convert btn ----------------*/
@keyframes BtnConvertionArrrowAnimation {
  0% {
    right: 25px;
  }
  100% {
    right: 20px;
  }
}
@keyframes BtnConvertionAnimation {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0.7;
  }
}
/*-------------- animation top 3colomun btn ----------------*/
@keyframes Top3colomunBtnHeightAnimation {
  0% {
    height: 0%;
  }
  100% {
    height: 100%;
  }
}
@keyframes Top3colomunBtnWidthAnimation {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
@keyframes TopServiceImgAnimation {
  0% {
    margin: -30px 0 0 -30px;
    width: 60px;
  }
  50% {
    margin: -33px 0 0 -33px;
    width: 66px;
  }
  100% {
    margin: -30px 0 0 -30px;
    width: 60px;
  }
}
@font-face {
  /*font-family: 'Noto Sans CJK JP Japanese';*/
  font-family: 'WebSubsetFont';
  font-style: normal;
  font-weight: 400;
  src: url(../font/NotoSansCJKjp-Regular.otf) format("opentype");
}
@font-face {
  /*font-family: 'Noto Sans CJK JP Japanese';*/
  font-family: 'WebSubsetFont';
  font-style: normal;
  font-weight: 600;
  src: url(../font/NotoSansCJKjp-Bold.otf) format("opentype");
                                                            /*,
url(../font/NotoSerifCJKjp-Bold.woff2) format('woff2'),
url(../font/NotoSerifCJKjp-Bold.otf) format('opentype')*/
}
@font-face {
  /*font-family: 'Noto Sans CJK JP Japanese';*/
  font-family: 'WebSubsetFont';
  font-style: normal;
  font-weight: 600;
  src: url(../font/NotoSansCJKjp-Bold.otf) format("opentype");
                                                            /*,
url(../font/NotoSerifCJKjp-Bold.woff2) format('woff2'),
url(../font/NotoSerifCJKjp-Bold.otf) format('opentype')*/
}
/* line 28, ../scss/layout/_base.scss */
html {
  width: 100%;
  height: 100%;
  line-height: 1.6;
  font-size: 10px;
  zoom: 1;
  /* IEのみ */
}

/* line 35, ../scss/layout/_base.scss */
body {
  position: relative;
  width: 100%;
  height: 100%;
  min-width: 980px;
  height: 100%;
  margin: 0;
  overflow: auto;
  background: #fff;
  line-height: 1.6;
  font-family: 'WebSubsetFont', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3',"游ゴシック Medium", YuGothic　Medium,  Meiryo, "メイリオ", sans-serif;
  font-size: 1.0rem;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-all;
  zoom: 1;
  /* IEのみ */
}

/* line 52, ../scss/layout/_base.scss */
main {
  position: relative;
  display: block;
  padding-top: 90px;
  opacity: 0;
}

/* line 59, ../scss/layout/_base.scss */
article, aside, figure, figcaption, footer, h1, h2, h3, h4, h5, h6, header, hgroup, menu, nav, section {
  display: block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/* line 68, ../scss/layout/_base.scss */
img {
  border: 0;
  vertical-align: middle;
  -ms-interpolation-mode: bicubic;
  line-height: 0;
}

/* line 75, ../scss/layout/_base.scss */
div {
  box-sizing: border-box;
}

/* line 78, ../scss/layout/_base.scss */
dt, dd {
  box-sizing: border-box;
}

/* line 81, ../scss/layout/_base.scss */
section {
  background-color: #fff;
}

/* line 85, ../scss/layout/_base.scss */
hr {
  height: 2px;
  margin-top: 30px;
  margin-bottom: 15px;
  background-color: #b5b5b6;
  border: none;
}

/* line 93, ../scss/layout/_base.scss */
a {
  color: #00a5d4;
  outline: none;
  text-decoration: none;
}
/* line 97, ../scss/layout/_base.scss */
a:hover {
  opacity: 0.6;
  text-decoration: none;
}

/*---------------input-------------*/
/* line 104, ../scss/layout/_base.scss */
input::-ms-clear {
  display: none;
}

@media screen and (max-width: 768px) {
  /* line 111, ../scss/layout/_base.scss */
  body {
    min-width: 0;
  }

  /* line 114, ../scss/layout/_base.scss */
  main {
    padding-top: 90px;
  }
}
/* line 1, ../scss/layout/_misc.scss */
#loader-bg {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 1000;
}
/* line 8, ../scss/layout/_misc.scss */
#loader-bg #loading {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -109px;
  margin-top: -75px;
  z-index: 1000;
}

/* line 17, ../scss/layout/_misc.scss */
.font-en {
  font-family: brandon-grotesque, sans-serif;
  font-style: normal;
  font-weight: normal;
}

/* line 22, ../scss/layout/_misc.scss */
strong.font-en {
  font-weight: 600;
}

/* list */
/* line 31, ../scss/layout/_misc.scss */
.list-ball li {
  position: relative;
  padding: 0 0 10px 25px;
}
/* line 34, ../scss/layout/_misc.scss */
.list-ball li:before {
  position: absolute;
  top: 4px;
  left: 0;
  width: 14px;
  height: 14px;
  background: #000;
  border-radius: 50%;
  content: "";
}

/* btn-conversion-container */
/* line 51, ../scss/layout/_misc.scss */
.btn-conversion-container {
  margin: 0 0 60px;
}
/* line 53, ../scss/layout/_misc.scss */
.btn-conversion-container.has-margin-top {
  margin-top: 60px;
}
/* line 56, ../scss/layout/_misc.scss */
.btn-conversion-container p {
  padding-bottom: 35px;
  text-align: center;
  font-size: 1.6rem;
}
/* line 61, ../scss/layout/_misc.scss */
.btn-conversion-container a {
  position: relative;
  display: block;
  width: 520px;
  height: 60px;
  margin: 0 auto;
  background: #d3005b;
  border-radius: 6px;
  color: #fff;
  line-height: 60px;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 600;
}
/* line 74, ../scss/layout/_misc.scss */
.btn-conversion-container a:hover {
  animation-name: BtnConvertionAnimation;
  animation-duration: 0.5s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
/* line 76, ../scss/layout/_misc.scss */
.btn-conversion-container a:hover:before, .btn-conversion-container a:hover:after {
  animation-name: BtnConvertionArrrowAnimation;
  animation-duration: 0.5s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
/* line 81, ../scss/layout/_misc.scss */
.btn-conversion-container a:before {
  position: absolute;
  display: block;
  top: 50%;
  right: 25px;
  width: 2px;
  height: 20px;
  margin-top: -4px;
  background: #fff;
  transform: rotate(45deg);
  content: "";
}
/* line 93, ../scss/layout/_misc.scss */
.btn-conversion-container a:after {
  position: absolute;
  display: block;
  top: 50%;
  right: 25px;
  width: 2px;
  height: 20px;
  margin-top: -17px;
  background: #fff;
  transform: rotate(-45deg);
  content: "";
}

@media screen and (max-width: 768px) {
  /* line 110, ../scss/layout/_misc.scss */
  .btn-conversion-container {
    margin: 0 0 80px;
  }
  /* line 112, ../scss/layout/_misc.scss */
  .btn-conversion-container.has-margin-top {
    margin-top: 50px;
  }
  /* line 115, ../scss/layout/_misc.scss */
  .btn-conversion-container a {
    position: relative;
    display: block;
    max-width: 520px;
    width: 100%;
    height: auto;
    min-height: 40px;
    margin: 0 auto;
    padding: 10px 30px;
    line-height: 1.8;
    box-sizing: border-box;
  }
  /* line 126, ../scss/layout/_misc.scss */
  .btn-conversion-container a:before {
    position: absolute;
    display: block;
    top: 50%;
    right: 25px;
    width: 2px;
    height: 15px;
    margin-top: -4px;
    background: #fff;
    transform: rotate(45deg);
    content: "";
  }
  /* line 138, ../scss/layout/_misc.scss */
  .btn-conversion-container a:after {
    position: absolute;
    display: block;
    top: 50%;
    right: 25px;
    width: 2px;
    height: 15px;
    margin-top: -13px;
    background: #fff;
    transform: rotate(-45deg);
    content: "";
  }
}
/* p txt-read  */
/* line 163, ../scss/layout/_misc.scss */
.txt-read {
  margin: 0 0 30px;
  font-size: 1.6rem;
}

/* txt-em */
/* line 169, ../scss/layout/_misc.scss */
.txt-em {
  color: #d3005b;
}

/* txt-center */
/* line 173, ../scss/layout/_misc.scss */
.txt-center {
  text-align: center;
}

/* txt-small */
/* line 177, ../scss/layout/_misc.scss */
.txt-small {
  font-size: 0.7em;
}

/* txt-bold */
/* line 181, ../scss/layout/_misc.scss */
.txt-bold {
  font-weight: bold;
}

/* txt-right */
/* line 185, ../scss/layout/_misc.scss */
.txt-right {
  text-align: right;
}

/* txt-with-space */
/* line 189, ../scss/layout/_misc.scss */
.txt-with-space {
  display: inline-block;
  padding-right: 15px;
}

/*txt-nessesary */
/* line 194, ../scss/layout/_misc.scss */
.txt-nessesary {
  color: #d3005b;
  vertical-align: top;
}

/* txt-has-underline */
/* line 199, ../scss/layout/_misc.scss */
.txt-has-underline {
  display: inline-block;
  margin: 0 4px;
  padding: 0 3px;
  background: url(../img2/bg-txt-underline.png) repeat-x 0 7px scroll;
  background-size: 6px auto;
}

/* line 206, ../scss/layout/_misc.scss */
a.txt-link {
  display: inline !important;
  color: #d3005b !important;
  text-decoration: underline !important;
}
/* line 210, ../scss/layout/_misc.scss */
a.txt-link:hover {
  opacity: 0.7 !important;
  color: #04b7b9 !important;
}

@media screen and (max-width: 768px) {
  /* line 217, ../scss/layout/_misc.scss */
  .txt-sp-left {
    text-align: left !important;
  }
}
/* a.popup */
/* line 229, ../scss/layout/_misc.scss */
a.popup:after {
  display: inline-block;
  width: 14px;
  height: 12px;
  margin: 0 0 0 12px;
  background: url("../img2/icon-popup.svg") no-repeat 0 0 scroll;
  background-size: cover;
  vertical-align: middle;
  content: "";
}

/* customscroll */
/* line 241, ../scss/layout/_misc.scss */
.customscroll {
  overflow: hidden;
}

/* table */
/* line 246, ../scss/layout/_misc.scss */
table {
  width: 100%;
  margin: 40px 0 0;
  border-spacing: 2px;
  border-top: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
}
/* line 252, ../scss/layout/_misc.scss */
table tr {
  border-bottom: dashed 1px #ccc;
}
/* line 254, ../scss/layout/_misc.scss */
table tr:last-child {
  border-bottom: none;
}
/* line 257, ../scss/layout/_misc.scss */
table tr th {
  padding: 4px 2px 4px 0;
  font-size: 1.6rem;
  font-weight: 600;
}
/* line 261, ../scss/layout/_misc.scss */
table tr th span.txt-ttl {
  display: block;
  height: 100%;
  padding: 5px 15px;
  background-color: #f5f5f5;
}
/* line 268, ../scss/layout/_misc.scss */
table tr td {
  display: table-cell;
  padding: 5px 0 5px 15px;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  /* table */
  /* line 281, ../scss/layout/_misc.scss */
  table tr:last-child {
    border-bottom: none;
  }
  /* line 284, ../scss/layout/_misc.scss */
  table tr th {
    font-size: 1.4rem;
  }
  /* line 286, ../scss/layout/_misc.scss */
  table tr th span.txt-ttl {
    display: block;
    height: 100%;
    padding: 5px 15px;
    background-color: #f5f5f5;
  }
  /* line 293, ../scss/layout/_misc.scss */
  table tr td {
    display: table-cell;
    padding: 5px 0 5px 15px;
    font-size: 1.4rem;
  }
}
/* figure */
/* line 311, ../scss/layout/_misc.scss */
.img-chart-center {
  padding: 0 0 50px;
  text-align: center;
}

/* hr hr-separelte-dotted */
/* line 317, ../scss/layout/_misc.scss */
.hr-separelte-dotted {
  height: 1px;
  margin: 40px 0;
  background-color: transparent;
  border: none;
  border-top: dashed 1px #ccc;
  box-sizing: border-box;
}

/* hr .content-id */
/* line 327, ../scss/layout/_misc.scss */
hr.contents-id {
  margin: -120px 0 0;
  padding-top: 120px;
  background: transparent;
  border: none;
}

/* line 336, ../scss/layout/_misc.scss */
.for-sp {
  display: none !important;
}

@media screen and (max-width: 768px) {
  /* line 342, ../scss/layout/_misc.scss */
  .for-pc {
    display: none !important;
  }

  /* line 345, ../scss/layout/_misc.scss */
  .for-sp {
    display: block !important;
  }

  /* line 348, ../scss/layout/_misc.scss */
  br.for-sp {
    display: inline-block !important;
  }
}
/*  404  */
/* line 361, ../scss/layout/_misc.scss */
#Error-page figure {
  padding: 50px 0;
}
/* line 364, ../scss/layout/_misc.scss */
#Error-page .btn-container {
  padding: 20px 0 70px;
  text-align: center;
}
/* line 367, ../scss/layout/_misc.scss */
#Error-page .btn-container a {
  position: relative;
  display: block;
  width: 200px;
  height: 40px;
  margin: 0 0 0;
  border: solid 1px #000;
  box-sizing: border-box;
  background-color: #fff;
  color: #000;
  line-height: 38px;
  text-align: center;
  display: inline-block;
  font-size: 1.4rem;
}
/* line 176, ../scss/layout/_mixin.scss */
#Error-page .btn-container a:before {
  position: absolute;
  display: block;
  top: 50%;
  right: 15px;
  width: 1px;
  height: 10px;
  margin-top: -2px;
  background: #000;
  transform: rotate(45deg);
  content: "";
}
/* line 179, ../scss/layout/_mixin.scss */
#Error-page .btn-container a:after {
  position: absolute;
  display: block;
  top: 50%;
  right: 15px;
  width: 1px;
  height: 10px;
  margin-top: -8px;
  background: #000;
  transform: rotate(-45deg);
  content: "";
}

@media screen and (max-width: 768px) {
  /* line 377, ../scss/layout/_misc.scss */
  #Error-page figure {
    padding: 30px 0;
  }
  /* line 379, ../scss/layout/_misc.scss */
  #Error-page figure img {
    width: 100%;
    max-width: 500px;
  }
}
/* line 7, ../scss/layout/_header.scss */
#top-page header {
  background: transparent;
  box-shadow: none;
}
/* line 10, ../scss/layout/_header.scss */
#top-page header.fixed {
  animation-name: ShowHeaderBg;
  animation-duration: 1s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}

@keyframes ShowHeaderBg {
  0% {
    background: rgba(255, 255, 255, 0);
    box-shadow: 0 0 4px 0 transparent;
  }
  100% {
    background: white;
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3);
  }
}
/*----- header  ------*/
/* line 27, ../scss/layout/_header.scss */
header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 500;
  width: 100%;
  height: 90px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3);
}
/* line 36, ../scss/layout/_header.scss */
header > div {
  position: relative;
  max-width: 1750px;
  min-width: 1090px;
  height: 100%;
  margin: 0 auto;
  padding: 10px 0 0;
}
/* line 43, ../scss/layout/_header.scss */
header > div h1 {
  display: block;
  padding: 0 0 0 25px;
}
/* line 46, ../scss/layout/_header.scss */
header > div h1 > span {
  display: block;
  margin: 0 0 7px;
  line-height: 1;
  font-size: 1.0rem;
}
/* line 52, ../scss/layout/_header.scss */
header > div h1 a {
  display: block;
  width: 270px;
  height: 52px;
  background: url("../img2/logo-main.svg") no-repeat 0 0 scroll;
  background-size: auto 100%;
  text-indent: -7777px;
}
/* line 61, ../scss/layout/_header.scss */
header > div button {
  display: none;
}
/* line 64, ../scss/layout/_header.scss */
header > div nav#global_nav {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  height: 100%;
  box-sizing: content-box;
}
/* line 71, ../scss/layout/_header.scss */
header > div nav#global_nav > ul {
  height: 100%;
  font-size: 0;
}
/* line 74, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li {
  position: relative;
  display: inline-block;
  width: 120px;
  min-height: 90px;
  vertical-align: middle;
}
/* line 80, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li div.bg {
  position: fixed;
  display: none;
  z-index: 500;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* line 88, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li div.bg.show {
  display: block;
}
/* line 92, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li div.btn-container {
  width: 100%;
  height: 100%;
}
/* line 95, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li div.btn-container.has-child {
  position: absolute;
  z-index: 501;
}
/* line 99, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li div.btn-container a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 120px;
  height: 90px;
  color: #000;
}
/* line 107, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li div.btn-container a > span {
  display: block;
  text-align: center;
}
/* line 111, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li div.btn-container a .txt-ttl {
  display: block;
  letter-spacing: 0.08rem;
  font-size: 2.2rem;
  font-weight: 500;
}
/* line 117, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li div.btn-container a .txt-sub {
  display: inline-block;
  font-size: 1.2rem;
}
/* line 120, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li div.btn-container a .txt-sub:before, header > div nav#global_nav > ul > li div.btn-container a .txt-sub:after {
  content: "-";
}
/* line 128, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li.selected:before {
  position: absolute;
  display: inline-block;
  bottom: 0;
  left: 50%;
  width: 90px;
  height: 2px;
  margin-left: -45px;
  background-color: #d3005b;
  content: "";
}
/* line 140, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li.selected div a:hover {
  opacity: 1;
  cursor: default;
}
/* line 147, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li.selected.has-child-menu div a :hover {
  opacity: 0.7;
  cursor: pointer;
}
/* line 155, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li:last-child {
  background: #04b7b9;
}
/* line 157, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li:last-child div a {
  color: #fff;
}
/* line 161, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li ul {
  position: absolute;
  z-index: 501;
  display: none;
  overflow: hidden;
  top: 90px;
  left: 0;
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3);
}
/* line 168, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li ul.open {
  display: block;
  height: 0;
  animation-name: showSubMenu;
  animation-duration: 0.5s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
/* line 177, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li ul li {
  width: 300px;
  display: block;
  border-bottom: solid 1px #eee;
}
/* line 181, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li ul li:last-child {
  border-bottom: none;
}
/* line 184, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li ul li a {
  display: block;
  width: auto;
  padding: 5px;
  background: #fff;
  box-sizing: border-box;
  color: #000;
  text-align: left;
  font-size: 1.4rem;
}
/* line 193, ../scss/layout/_header.scss */
header > div nav#global_nav > ul > li ul li a .txt-subttl {
  display: block;
  font-weight: 600;
}

/*------------------ animation start --------------------*/
@keyframes showSubMenu {
  0% {
    height: 0;
  }
  100% {
    height: 165px;
  }
}
@keyframes lineUpperAnimation {
  0% {
    transform: rotate(0);
    top: 35px;
  }
  100% {
    transform: rotate(-45deg);
    top: 40px;
  }
}
@keyframes lineDownerAnimation {
  0% {
    transform: rotate(0);
    top: 45px;
  }
  100% {
    transform: rotate(45deg);
    top: 40px;
  }
}
@keyframes gNavShow {
  0% {
    background: transparent;
  }
  100% {
    background: rgba(0, 0, 0, 0.6);
  }
}
@keyframes gNavMenuShow {
  0% {
    margin: 0 0 0 -300px;
  }
  100% {
    margin: 0;
  }
}
/*------------------ animation end --------------------*/
@media screen and (max-width: 1024px) {
  /* line 235, ../scss/layout/_header.scss */
  header > div {
    min-width: 0;
  }
  /* line 237, ../scss/layout/_header.scss */
  header > div h1 {
    display: block;
    padding: 0;
  }
  /* line 240, ../scss/layout/_header.scss */
  header > div h1 > span {
    display: block;
    text-align: center;
  }
  /* line 243, ../scss/layout/_header.scss */
  header > div h1 > span span {
    display: inline-block !important;
  }
  /* line 247, ../scss/layout/_header.scss */
  header > div h1 a {
    display: block;
    margin: 0 auto;
  }
  /* line 252, ../scss/layout/_header.scss */
  header > div button {
    position: fixed;
    display: block;
    top: 20px;
    left: 20px;
    width: 40px;
    height: 40px;
    background: none;
    border: none;
  }
  /* line 261, ../scss/layout/_header.scss */
  header > div button:hover {
    cursor: pointer;
  }
  /* line 266, ../scss/layout/_header.scss */
  header > div button.open span:before, header > div button.open span:after {
    animation-duration: 0.5s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
  }
  /* line 272, ../scss/layout/_header.scss */
  header > div button.open span:before {
    animation-name: lineUpperAnimation;
  }
  /* line 275, ../scss/layout/_header.scss */
  header > div button.open span:after {
    animation-name: lineDownerAnimation;
  }
  /* line 280, ../scss/layout/_header.scss */
  header > div button span {
    position: relative;
    display: block;
    height: 100%;
    text-indent: -77777px;
  }
  /* line 285, ../scss/layout/_header.scss */
  header > div button span:before, header > div button span:after {
    position: absolute;
    top: 35px;
    left: 50%;
    height: 3px;
    width: 30px;
    margin: -15px;
    background-color: #000;
    content: "";
  }
  /* line 297, ../scss/layout/_header.scss */
  header > div button span:after {
    top: 45px;
  }
  /* line 302, ../scss/layout/_header.scss */
  header > div nav#global_nav {
    position: absolute;
    top: 92px;
    right: auto;
    left: 0;
    display: none;
    width: 100%;
    height: 100000px;
  }
  /* line 310, ../scss/layout/_header.scss */
  header > div nav#global_nav.show {
    display: block;
    animation-name: gNavShow;
    animation-duration: 0.5s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
  }
  /* line 316, ../scss/layout/_header.scss */
  header > div nav#global_nav.show ul {
    margin: 0 0 0 -300px;
    animation-name: gNavMenuShow;
    animation-duration: 0.5s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
  }
  /* line 324, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul {
    display: block;
    height: auto;
    width: 300px;
    height: 100%;
    background-color: #fff;
  }
  /* line 330, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li {
    display: block;
    width: 100%;
    min-height: 0;
    height: auto;
    border-bottom: solid 1px #eee;
  }
  /* line 339, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li.selected:before {
    display: none;
  }
  /* line 343, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li.selected div a :hover {
    opacity: 0.7;
    cursor: pointer;
  }
  /* line 351, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li:last-child a:before {
    position: absolute;
    display: block;
    top: 50%;
    right: 15px;
    width: 1px;
    height: 10px;
    margin-top: -2px;
    background: #fff;
    transform: rotate(45deg);
    content: "";
  }
  /* line 354, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li:last-child a:after {
    position: absolute;
    display: block;
    top: 50%;
    right: 15px;
    width: 1px;
    height: 10px;
    margin-top: -8px;
    background: #fff;
    transform: rotate(-45deg);
    content: "";
  }
  /* line 361, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li div.btn-container.has-child {
    position: static;
  }
  /* line 365, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li div.btn-container > a {
    position: relative;
    display: block;
    width: 100%;
    height: 50px;
    padding: 0 40px 0 25px;
    line-height: 50px;
    box-sizing: border-box;
  }
  /* line 373, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li div.btn-container > a:before {
    position: absolute;
    display: block;
    top: 50%;
    right: 15px;
    width: 1px;
    height: 10px;
    margin-top: -2px;
    background: #000;
    transform: rotate(45deg);
    content: "";
  }
  /* line 376, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li div.btn-container > a:after {
    position: absolute;
    display: block;
    top: 50%;
    right: 15px;
    width: 1px;
    height: 10px;
    margin-top: -8px;
    background: #000;
    transform: rotate(-45deg);
    content: "";
  }
  /* line 380, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li div.btn-container > a:hover:before {
    right: 25px;
    animation-name: BtnRigthArrrowAnimation;
    animation-duration: 0.3s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
  }
  /* line 383, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li div.btn-container > a:hover:after {
    right: 25px;
    animation-name: BtnRigthArrrowAnimation;
    animation-duration: 0.3s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
  }
  /* line 387, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li div.btn-container > a > span {
    display: inline;
    text-align: left;
  }
  /* line 391, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li div.btn-container > a .txt-ttl {
    display: inline-block;
    margin-right: 10px;
    font-size: 1.6rem;
    vertical-align: middle;
  }
  /* line 397, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li div.btn-container > a .txt-sub {
    vertical-align: middle;
  }
  /* line 402, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li ul {
    position: static;
    display: block;
    top: auto;
    left: auto;
    box-shadow: none;
  }
  /* line 408, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li ul li {
    width: auto;
    display: table;
    width: calc(100% - 25px);
    margin: 0 0 0 25px;
    border: none;
    border-top: solid 1px #eee;
  }
  /* line 415, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li ul li a {
    position: relative;
    display: table-cell;
    width: 100%;
    height: 50px;
    padding: 0 40px 0 0;
    background: #fff;
    box-sizing: border-box;
    vertical-align: middle;
    text-align: left;
    font-size: 1.2rem;
  }
  /* line 426, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li ul li a:before {
    position: absolute;
    display: block;
    top: 50%;
    right: 15px;
    width: 1px;
    height: 10px;
    margin-top: -2px;
    background: #000;
    transform: rotate(45deg);
    content: "";
  }
  /* line 429, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li ul li a:after {
    position: absolute;
    display: block;
    top: 50%;
    right: 15px;
    width: 1px;
    height: 10px;
    margin-top: -8px;
    background: #000;
    transform: rotate(-45deg);
    content: "";
  }
  /* line 433, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li ul li a:hover:before {
    right: 25px;
    animation-name: BtnRigthArrrowAnimation;
    animation-duration: 0.3s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
  }
  /* line 436, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li ul li a:hover:after {
    right: 25px;
    animation-name: BtnRigthArrrowAnimation;
    animation-duration: 0.3s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
  }
  /* line 440, ../scss/layout/_header.scss */
  header > div nav#global_nav > ul > li ul li a .txt-subttl {
    display: block;
    width: 100%;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 768px) {
  /* line 459, ../scss/layout/_header.scss */
  header > div {
    min-width: 0;
  }
  /* line 461, ../scss/layout/_header.scss */
  header > div h1 {
    display: block;
    padding: 0 15px;
  }
  /* line 464, ../scss/layout/_header.scss */
  header > div h1 > span {
    display: none;
  }
  /* line 467, ../scss/layout/_header.scss */
  header > div h1 a {
    display: block;
    width: 180px;
    height: 52px;
    margin: 20px auto 0;
    background: url("../img2/logo-main.svg") no-repeat 0 0 scroll;
    background-size: 100% auto;
    text-indent: -7777px;
  }
}
/* line 6, ../scss/layout/_footer.scss */
footer {
  display: block;
  overflow: visible;
  background: #353535;
  /* div.upper start */
  /* div.upper end */
}
/* line 11, ../scss/layout/_footer.scss */
footer div.upper {
  max-width: 1750px;
  min-width: 1090px;
  margin: 0 auto;
  padding: 0 20px;
}
/* line 16, ../scss/layout/_footer.scss */
footer div.upper div {
  width: auto;
  padding-top: 35px;
  color: #fff;
}
/* line 20, ../scss/layout/_footer.scss */
footer div.upper div dl {
  position: relative;
  display: table;
  padding: 0 15px 25px;
}
/* line 24, ../scss/layout/_footer.scss */
footer div.upper div dl dt {
  display: table-cell;
  padding: 0 60px 0 0;
}
/* line 27, ../scss/layout/_footer.scss */
footer div.upper div dl dt a {
  display: block;
  width: 250px;
  height: 50px;
  background: url("../img2/logo-sub.svg") no-repeat 0 0 scroll;
  background-size: auto 100%;
  text-indent: -7777px;
}
/* line 36, ../scss/layout/_footer.scss */
footer div.upper div dl dd {
  position: relative;
  display: table-cell;
  vertical-align: middle;
}
/* line 40, ../scss/layout/_footer.scss */
footer div.upper div dl dd:nth-child(2) {
  padding-right: 40px;
  font-size: 1.4rem;
}
/* line 44, ../scss/layout/_footer.scss 
footer div.upper div dl dd:nth-child(3) {
  padding: 0 40px 0 45px;
  font-size: 3.4rem;
  font-weight: 600;
}
/* line 48, ../scss/layout/_footer.scss 
footer div.upper div dl dd:nth-child(3):before {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 30px;
  height: 30px;
  margin: -15px 0 0;
  background: url("../img2/icon-phone.svg") no-repeat 0 0 scroll;
  background-size: auto 100%;
  content: "";
}*/
/* line 61, ../scss/layout/_footer.scss */
footer div.upper div dl dd:nth-child(3) {
  padding: 0 0 0 80px;
  font-size: 1.4rem;
}
/* line 64, ../scss/layout/_footer.scss */
footer div.upper div dl dd:nth-child(3) > span {
  position: absolute;
  display: block;
  top: 50%;
  left: 0;
  height: 20px;
  margin: -10px 0 0;
  line-height: 20px;
}
/* line 75, ../scss/layout/_footer.scss */
footer div.upper div dl br {
  display: none;
}
/* line 79, ../scss/layout/_footer.scss */
footer div.upper div hr {
  margin: 0 auto;
  border-top: solid 1px #000;
  border-bottom: solid 1px #5e5e5e;
  box-sizing: border-box;
}
/* line 85, ../scss/layout/_footer.scss */
footer div.upper div > ul {
  display: table;
  padding: 35px 15px;
}
/* line 88, ../scss/layout/_footer.scss */
footer div.upper div > ul > li {
  display: table-cell;
  padding: 0 80px 0 0;
  border-right: none;
  border-left: none;
}
/* line 93, ../scss/layout/_footer.scss */
footer div.upper div > ul > li:last-child {
  padding-right: 0;
}
/* line 96, ../scss/layout/_footer.scss */
footer div.upper div > ul > li li {
  padding-bottom: 25px;
}
/* line 98, ../scss/layout/_footer.scss */
footer div.upper div > ul > li li:last-child {
  padding-bottom: 0;
}
/* line 103, ../scss/layout/_footer.scss */
footer div.upper div > ul a {
  position: relative;
  display: block;
  padding: 0 0 0 20px;
  color: #fff;
  line-height: 1.4;
  font-size: 1.3rem;
}
/* line 110, ../scss/layout/_footer.scss */
footer div.upper div > ul a .txt-ttl {
  font-size: 1.6rem;
  font-weight: 600;
}
/* line 114, ../scss/layout/_footer.scss */
footer div.upper div > ul a:before {
  position: absolute;
  display: block;
  top: 50%;
  left: 0;
  width: 2px;
  height: 10px;
  margin-top: -2px;
  background: #fff;
  transform: rotate(45deg);
  content: "";
}
/* line 117, ../scss/layout/_footer.scss */
footer div.upper div > ul a:after {
  position: absolute;
  display: block;
  top: 50%;
  left: 0;
  width: 2px;
  height: 10px;
  margin-top: -8px;
  background: #fff;
  transform: rotate(-45deg);
  content: "";
}
/* line 120, ../scss/layout/_footer.scss */
footer div.upper div > ul a:hover {
  text-decoration: none;
  background: #333;
}
/* line 130, ../scss/layout/_footer.scss */
footer p.copyright {
  position: relative;
  overflow: visible;
  width: auto;
  height: 50px;
  background: #000;
  color: #fff;
  text-align: center;
  line-height: 50px;
  font-size: 1.2rem;
  font-weight: 500;
}

/* line 145, ../scss/layout/_footer.scss */
#pageskiper {
  position: fixed;
  z-index: 1001;
  right: 0;
  bottom: 50px;
  width: 60px;
  height: 60px;
  background: #fff;
  box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.4);
  font-size: 12px;
  text-align: center;
}
/* line 157, ../scss/layout/_footer.scss */
#pageskiper a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding-top: 35px;
  color: #000;
  text-decoration: none;
}
/* line 166, ../scss/layout/_footer.scss */
#pageskiper a:before {
  position: absolute;
  top: 10px;
  left: 50%;
  width: 2px;
  height: 20px;
  margin-left: -7px;
  background: #000;
  transform: rotate(45deg);
  content: "";
}
/* line 177, ../scss/layout/_footer.scss */
#pageskiper a:after {
  position: absolute;
  top: 10px;
  left: 50%;
  width: 2px;
  height: 20px;
  margin-left: 7px;
  background: #000;
  transform: rotate(-45deg);
  content: "";
}
/* line 188, ../scss/layout/_footer.scss */
#pageskiper a:hover {
  opacity: 0.7;
}
/* line 190, ../scss/layout/_footer.scss */
#pageskiper a:hover:before, #pageskiper a:hover:after {
  animation-name: pageSkiperAnimation;
  animation-duration: 0.3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}

@media screen and (max-width: 1515px) {
  /* line 203, ../scss/layout/_footer.scss */
  footer {
    /* div.upper start */
  }
  /* line 208, ../scss/layout/_footer.scss */
  footer div.upper div dl dt {
    padding: 0 30xp 0 0;
  }
  /* line 211, ../scss/layout/_footer.scss */
  footer div.upper div dl dd {
    position: relative;
    display: table-cell;
    vertical-align: middle;
  }
  /* line 215, ../scss/layout/_footer.scss */
  footer div.upper div dl dd:nth-child(2) {
    padding-right: 30px;
    font-size: 1.4rem;
  }
  /* line 219, ../scss/layout/_footer.scss 
  footer div.upper div dl dd:nth-child(3) {
    padding: 0 40px 0 45px;
    font-size: 3.2rem;
  }
  /* line 223, ../scss/layout/_footer.scss */
  footer div.upper div dl dd:nth-child(3) {
    padding: 0 0 0 60px;
  }
}
@media screen and (max-width: 1475px) {
  /* line 234, ../scss/layout/_footer.scss */
  footer {
    /* div.upper start */
  }
  /* line 240, ../scss/layout/_footer.scss */
  footer div.upper div dl dd br {
    display: inline;
  }
  /* line 243, ../scss/layout/_footer.scss */
  footer div.upper div dl dd:nth-child(3) {
    padding: 0 0 0 40px;
  }
  /* line 248, ../scss/layout/_footer.scss */
  footer div.upper div > ul {
    width: 100%;
  }
  /* line 250, ../scss/layout/_footer.scss */
  footer div.upper div > ul > li {
    padding: 0;
  }
}
@media screen and (max-width: 1285px) {
  /* line 260, ../scss/layout/_footer.scss */
  footer {
    /* div.upper start */
  }
  /* line 265, ../scss/layout/_footer.scss */
  footer div.upper div dl dt {
    padding: 0 30px 0 0;
  }
  /* line 269, ../scss/layout/_footer.scss */
  footer div.upper div dl dd:nth-child(2) {
    padding-right: 30px;
    font-size: 1.1rem;
  }
  /* line 273, ../scss/layout/_footer.scss 
  footer div.upper div dl dd:nth-child(3) {
    padding: 0 0 0 30px;
    font-size: 2.4rem;
  }*/
  /* line 277, ../scss/layout/_footer.scss */
  footer div.upper div dl dd:nth-child(3) {
    padding: 0 0 0 30px;
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 1024px) {
  /* line 290, ../scss/layout/_footer.scss */
  footer {
    /* div.upper start */
  }
  /* line 292, ../scss/layout/_footer.scss */
  footer div.upper {
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
  }
  /* line 297, ../scss/layout/_footer.scss */
  footer div.upper div dl {
    display: block;
    padding: 0 25px 25px;
  }
  /* line 300, ../scss/layout/_footer.scss */
  footer div.upper div dl dt {
    display: block;
    padding: 0 0 20px;
  }
  /* line 305, ../scss/layout/_footer.scss */
  footer div.upper div dl dd:nth-child(2) {
    padding-right: 30px;
    font-size: 1.1rem;
  }
  /* line 309, ../scss/layout/_footer.scss FD
  footer div.upper div dl dd:nth-child(3) {
    padding: 0 0 0 30px;
    font-size: 2.4rem;
  }*/
  /* line 313, ../scss/layout/_footer.scss */
  footer div.upper div dl dd:nth-child(3) {
    padding: 0 0 0 30px;
    font-size: 1.1rem;
  }
  /* line 319, ../scss/layout/_footer.scss */
  footer div.upper div > ul {
    display: block;
    padding: 0;
    box-sizing: border-box;
  }
  /* line 323, ../scss/layout/_footer.scss */
  footer div.upper div > ul > li {
    display: block;
    padding: 0;
    border-bottom: dashed 1px #000;
  }
  /* line 327, ../scss/layout/_footer.scss */
  footer div.upper div > ul > li:last-child {
    border-bottom: none;
  }
  /* line 330, ../scss/layout/_footer.scss */
  footer div.upper div > ul > li li {
    padding: 0;
    border-bottom: dashed 1px #000;
  }
  /* line 333, ../scss/layout/_footer.scss */
  footer div.upper div > ul > li li:last-child {
    border-bottom: none;
  }
  /* line 337, ../scss/layout/_footer.scss */
  footer div.upper div > ul > li a {
    display: block;
    height: 60px;
    padding: 0 40px 0 25px;
    box-sizing: border-box;
    line-height: 60px;
  }
  /* line 343, ../scss/layout/_footer.scss */
  footer div.upper div > ul > li a .txt-ttl {
    display: inline-block;
    margin-right: 20px;
  }
  /* line 347, ../scss/layout/_footer.scss */
  footer div.upper div > ul > li a br {
    display: none;
  }
  /* line 350, ../scss/layout/_footer.scss */
  footer div.upper div > ul > li a:before {
    left: auto;
    right: 15px;
    position: absolute;
    display: block;
    top: 50%;
    right: 15px;
    width: 1px;
    height: 10px;
    margin-top: -2px;
    background: #fff;
    transform: rotate(45deg);
    content: "";
  }
  /* line 355, ../scss/layout/_footer.scss */
  footer div.upper div > ul > li a:after {
    left: auto;
    right: 15px;
    position: absolute;
    display: block;
    top: 50%;
    right: 15px;
    width: 1px;
    height: 10px;
    margin-top: -8px;
    background: #fff;
    transform: rotate(-45deg);
    content: "";
  }
  /* line 361, ../scss/layout/_footer.scss */
  footer div.upper div > ul > li a:hover:before {
    right: 25px;
    animation-name: BtnRigthArrrowAnimation;
    animation-duration: 0.3s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
  }
  /* line 364, ../scss/layout/_footer.scss */
  footer div.upper div > ul > li a:hover:after {
    right: 25px;
    animation-name: BtnRigthArrrowAnimation;
    animation-duration: 0.3s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
  }
}
@media screen and (max-width: 768px) {
  /* line 378, ../scss/layout/_footer.scss */
  footer {
    /* div.upper start */
  }
  /* line 380, ../scss/layout/_footer.scss */
  footer div.upper {
    min-width: 0;
    padding-left: 0;
    padding-right: 0;
  }
  /* line 387, ../scss/layout/_footer.scss */
  footer div.upper div dl dd:nth-child(2) {
    display: block;
    padding: 0 0 15px;
    font-size: 1.1rem;
  }
  /* line 392, ../scss/layout/_footer.scss 
  footer div.upper div dl dd:nth-child(3) {
    display: block;
    padding: 0 0 15px 35px;
  }*/
  /* line 396, ../scss/layout/_footer.scss */
  footer div.upper div dl dd:nth-child(3) {
    display: block;
    padding: 0;
  }
}
/* line 1, ../scss/layout/_contents.scss */
.keyvisual {
  position: relative;
  height: 440px;
  background-color: #f5f5f5;
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: scroll;
  background-size: 100% auto;
}
/* line 9, ../scss/layout/_contents.scss */
.keyvisual.type-service {
  background-image: url(../img2/bg-service.png);
}
/* line 12, ../scss/layout/_contents.scss */
.keyvisual.type-system {
  background-image: url(../img2/bg-system.png);
}
/* line 15, ../scss/layout/_contents.scss */
.keyvisual.type-web-create {
  background-image: url(../img2/bg-web-create.png);
}
/* line 17, ../scss/layout/_contents.scss */
.keyvisual.type-web-create figure {
  position: absolute;
  top: 50%;
  right: 0;
  margin: -165px 0 0;
}
/* line 24, ../scss/layout/_contents.scss */
.keyvisual.type-marketing {
  background-image: url(../img2/bg-marketing.png);
}
/* line 27, ../scss/layout/_contents.scss */
.keyvisual.type-works {
  background-image: url(../img2/bg-works.png);
}
/* line 30, ../scss/layout/_contents.scss */
.keyvisual.type-about {
  background-image: url(../img2/bg-about.png);
}
/* line 33, ../scss/layout/_contents.scss */
.keyvisual.type-contact {
  background-image: url(../img2/bg-contact.png);
}
/* line 36, ../scss/layout/_contents.scss */
.keyvisual div {
  position: relative;
  max-width: 1750px;
  height: 100%;
  margin: 0 auto;
}
/* line 41, ../scss/layout/_contents.scss */
.keyvisual div h1 {
  position: absolute;
  top: 50%;
  left: 25px;
}
/* line 45, ../scss/layout/_contents.scss */
.keyvisual div h1.has-bg {
  left: 0;
  padding: 20px 25px;
  background: rgba(255, 255, 255, 0.8);
}
/* line 50, ../scss/layout/_contents.scss */
.keyvisual div h1.txt-reversal-color {
  color: #fff;
}
/* line 52, ../scss/layout/_contents.scss */
.keyvisual div h1.txt-reversal-color .txt-ttl {
  border-color: #fff;
}
/* line 56, ../scss/layout/_contents.scss */
.keyvisual div h1 .txt-ttl {
  display: block;
  padding: 0 0 10px;
  border-bottom: solid 1px #d3005b;
  letter-spacing: 0.06em;
  line-height: 38px;
  font-size: 4.2rem;
}
/* line 64, ../scss/layout/_contents.scss */
.keyvisual div h1 .txt-sammary {
  display: block;
  padding: 10px 0 0;
  font-size: 1.8rem;
}

/* line 72, ../scss/layout/_contents.scss */
.bg-gray {
  background: #f5f5f5;
}

@media screen and (max-width: 768px) {
  /* line 78, ../scss/layout/_contents.scss */
  .keyvisual {
    position: relative;
    height: auto;
    background-position: center  0;
    background-size: auto 176px !important;
    background-color: #fff;
  }
  /* line 85, ../scss/layout/_contents.scss */
  .keyvisual.type-web-create figure {
    right: auto;
    left: 50%;
    top: 10px;
    height: 160px;
    margin: 0 0 0 -76px;
  }
  /* line 91, ../scss/layout/_contents.scss */
  .keyvisual.type-web-create figure img {
    width: auto;
    height: 160px;
  }
  /* line 97, ../scss/layout/_contents.scss */
  .keyvisual div {
    height: auto;
    padding: 176px 0 0;
  }
  /* line 100, ../scss/layout/_contents.scss */
  .keyvisual div h1 {
    padding: 30px 0 0;
    position: static;
    text-align: center;
  }
  /* line 104, ../scss/layout/_contents.scss */
  .keyvisual div h1.has-bg {
    padding: 30px 0 0;
    background: transparent;
  }
  /* line 108, ../scss/layout/_contents.scss */
  .keyvisual div h1.txt-reversal-color {
    color: #000;
  }
  /* line 111, ../scss/layout/_contents.scss */
  .keyvisual div h1 .txt-ttl {
    position: relative;
    display: inline-block;
    padding: 0 0 15px;
    border-bottom: none;
    line-height: 1;
    font-size: 2.8rem;
  }
  /* line 118, ../scss/layout/_contents.scss */
  .keyvisual div h1 .txt-ttl:after {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 80px;
    height: 2px;
    margin-left: -40px;
    background: #d3005b;
    content: '';
  }
  /* line 129, ../scss/layout/_contents.scss */
  .keyvisual div h1 .txt-sammary {
    padding: 15px 25px 0;
    text-align: center;
    font-size: 1.4rem;
  }
}
/* line 145, ../scss/layout/_contents.scss */
.contents {
  max-width: 1090px;
  margin: 0 auto;
  padding: 80px 20px 120px;
  /*  h系  */
}
/* line 149, ../scss/layout/_contents.scss */
.contents.layout-2-cols {
  display: table;
  width: 100%;
}
/* line 152, ../scss/layout/_contents.scss */
.contents.layout-2-cols > div {
  display: table-cell;
}
/* line 155, ../scss/layout/_contents.scss */
.contents.layout-2-cols .layout-side-l {
  padding: 0 30px 0 0;
}
/* line 158, ../scss/layout/_contents.scss */
.contents.layout-2-cols .layout-side-r {
  width: 300px;
  padding: 15px 10px;
  background: url(../img2/bg-dotted.png);
  background-size: 6px;
}
/* line 161, ../scss/layout/_contents.scss */
.contents.layout-2-cols .layout-side-r > div {
  padding: 20px;
  background-color: #fff;
}
/* line 170, ../scss/layout/_contents.scss */
.contents .ttl-em {
  margin: 0 0 70px;
  color: #d3005b;
  text-align: center;
  font-size: 3.2rem;
  font-weight: 500;
}
/* line 177, ../scss/layout/_contents.scss */
.contents .ttl-dotted {
  font-size: 2.2rem;
  font-weight: 600;
}
/* line 180, ../scss/layout/_contents.scss */
.contents .ttl-dotted:after {
  display: block;
  width: 100%;
  height: 10px;
  margin: 12px 0 40px;
  background: url(../img2/bg-dotted.png);
  background-size: 6px;
  content: "";
}
/* line 189, ../scss/layout/_contents.scss */
.contents .ttl-dotted .point-eyechatch {
  display: inline-block;
  width: 44px;
  height: 50px;
  margin: -5px 15px 0 0;
  background: url(../img2/bg-point-ttl.svg) no-repeat 0 0 scroll;
  background-size: 44px auto;
  color: #fff;
  line-height: 50px;
  text-align: center;
  font-family: brandon-grotesque, sans-serif;
  font-size: 2.4rem;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  /* line 189, ../scss/layout/_contents.scss */
  .contents .ttl-dotted .point-eyechatch {
    width: 38px;
    height: 42px;
    line-height: 38px;
    background-size: 38px auto;
    font-size: 2.0rem;
  }
}
/* line 192, ../scss/layout/_contents.scss */
.contents .ttl-dotted .point-check {
  display: inline-block;
  width: 23px;
  height: 30px;
  margin: 2px 0 0;
  background: url(../img2/icon-check.svg) no-repeat 0 0 scroll;
  background-size: 23px auto;
  color: #fff;
  line-height: 50px;
  vertical-align: middle;
  text-indent: -77777px;
  text-align: left;
  font-size: 0;
}
@media screen and (max-width: 768px) {
  /* line 192, ../scss/layout/_contents.scss */
  .contents .ttl-dotted .point-check {
    width: 15px;
    height: 25px;
    margin-top: 4px;
    background-size: 15px auto;
  }
}
/* line 196, ../scss/layout/_contents.scss */
.contents .ttl-has-ball {
  position: relative;
  margin: 0 0 50px;
  padding: 0 0 0 30px;
  color: #000;
  line-height: 1.4;
  font-size: 1.8rem;
  font-weight: 600;
}
/* line 204, ../scss/layout/_contents.scss */
.contents .ttl-has-ball.has-no-margin {
  margin: 0;
}
/* line 207, ../scss/layout/_contents.scss */
.contents .ttl-has-ball:before {
  position: absolute;
  top: 5px;
  left: 0;
  width: 16px;
  height: 16px;
  background: #000;
  border-radius: 50%;
  content: "";
}
/* line 217, ../scss/layout/_contents.scss */
.contents .ttl-has-ball:after {
  position: absolute;
  top: 8px;
  left: 3px;
  width: 10px;
  height: 10px;
  background: #fff;
  border-radius: 50%;
  content: "";
}
/* line 228, ../scss/layout/_contents.scss */
.contents .ttl-has-side-line {
  position: relative;
  margin: 0 0 30px;
  padding: 0 35px;
  color: #d3005b;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 600;
}
/* line 236, ../scss/layout/_contents.scss */
.contents .ttl-has-side-line:before, .contents .ttl-has-side-line:after {
  position: absolute;
  top: 50%;
  width: 30px;
  height: 1px;
  background-color: #d3005b;
  content: "";
}
/* line 245, ../scss/layout/_contents.scss */
.contents .ttl-has-side-line:before {
  left: 0;
}
/* line 248, ../scss/layout/_contents.scss */
.contents .ttl-has-side-line:after {
  right: 0;
}
/* line 252, ../scss/layout/_contents.scss */
.contents .has-pre-border {
  position: relative;
  padding: 0 20px;
  margin: 20px 30px 40px;
  font-size: 2.2rem;
  font-weight: 600;
}
/* line 258, ../scss/layout/_contents.scss */
.contents .has-pre-border.no-margin-left {
  margin-left: 0;
}
/* line 261, ../scss/layout/_contents.scss */
.contents .has-pre-border:before {
  position: absolute;
  top: 50%;
  left: 0;
  height: 24px;
  width: 6px;
  margin: -12px 0 0;
  background: #000;
  border-radius: 3px;
  content: "";
}
/* line 274, ../scss/layout/_contents.scss */
.contents p.txt-sammary {
  margin: 0 0 70px;
  font-size: 1.8rem;
}

@media screen and (max-width: 1024px) {
  /* line 283, ../scss/layout/_contents.scss */
  .contents {
    max-width: 1024px;
    margin: 0 auto;
    padding: 60px 25px 100px;
  }
  /* line 287, ../scss/layout/_contents.scss */
  .contents p.txt-sammary {
    margin: 0 0 60px;
  }
}
@media screen and (max-width: 768px) {
  /* line 297, ../scss/layout/_contents.scss */
  .contents {
    max-width: 768px;
    padding: 40px 25px 60px;
    /*  h系  */
  }
  /* line 300, ../scss/layout/_contents.scss */
  .contents.layout-2-cols {
    display: block;
    width: auto;
  }
  /* line 303, ../scss/layout/_contents.scss */
  .contents.layout-2-cols > div {
    display: block;
  }
  /* line 306, ../scss/layout/_contents.scss */
  .contents.layout-2-cols .layout-side-l {
    padding: 0;
  }
  /* line 309, ../scss/layout/_contents.scss */
  .contents.layout-2-cols .layout-side-r {
    width: auto;
  }
  /* line 316, ../scss/layout/_contents.scss */
  .contents .ttl-em {
    margin: 0 0 50px;
    font-size: 2.2rem;
  }
  /* line 320, ../scss/layout/_contents.scss */
  .contents .ttl-dotted {
    position: relative;
    margin: 0 0 50px;
    padding: 0 0 20px 60px;
    font-size: 1.8rem;
  }
  /* line 325, ../scss/layout/_contents.scss */
  .contents .ttl-dotted:after {
    position: absolute;
    bottom: 0;
    left: 0;
    margin: 0;
  }
  /* line 331, ../scss/layout/_contents.scss */
  .contents .ttl-dotted .point-eyechatch {
    position: absolute;
    top: 0;
    left: 0;
  }
  /* line 337, ../scss/layout/_contents.scss */
  .contents .ttl-has-ball {
    position: relative;
    margin: 0 0 30px;
    padding: 0 0 0 30px;
  }
  /* line 341, ../scss/layout/_contents.scss */
  .contents .ttl-has-ball:before {
    top: 4px;
  }
  /* line 344, ../scss/layout/_contents.scss */
  .contents .ttl-has-ball:after {
    top: 7px;
  }
  /* line 348, ../scss/layout/_contents.scss */
  .contents .ttl-has-side-line {
    position: relative;
    margin: 0 0 30px;
    padding: 0 35px;
    color: #d3005b;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 600;
  }
  /* line 356, ../scss/layout/_contents.scss */
  .contents .ttl-has-side-line:before, .contents .ttl-has-side-line:after {
    position: absolute;
    top: 50%;
    width: 30px;
    height: 1px;
    background-color: #d3005b;
    content: "";
  }
  /* line 365, ../scss/layout/_contents.scss */
  .contents .ttl-has-side-line:before {
    left: 0;
  }
  /* line 368, ../scss/layout/_contents.scss */
  .contents .ttl-has-side-line:after {
    right: 0;
  }
  /* line 372, ../scss/layout/_contents.scss */
  .contents .has-pre-border {
    position: relative;
    padding: 0 20px;
    margin: 20px 30px 40px;
    font-size: 2.2rem;
    font-weight: 600;
  }
  /* line 378, ../scss/layout/_contents.scss */
  .contents .has-pre-border.no-margin-left {
    margin-left: 0;
  }
  /* line 381, ../scss/layout/_contents.scss */
  .contents .has-pre-border:before {
    position: absolute;
    top: 50%;
    left: 0;
    height: 24px;
    width: 6px;
    margin: -12px 0 0;
    background: #000;
    border-radius: 3px;
    content: "";
  }
  /* line 394, ../scss/layout/_contents.scss */
  .contents p.txt-sammary {
    margin: 0 0 70px;
    font-size: 1.4rem;
  }
}
/* line 2, ../scss/layout/_top.scss */
#top-page main {
  padding: 0;
}

/* line 7, ../scss/layout/_top.scss */
.main-visual {
  position: relative;
  background: #fff;
}
/* line 10, ../scss/layout/_top.scss */
.main-visual #main-img {
  position: relative;
  display: block;
  margin: 90px 0 0;
  box-sizing: content-box;
}
/* line 15, ../scss/layout/_top.scss */
.main-visual #main-img li {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
}
/* line 22, ../scss/layout/_top.scss */
.main-visual #main-img.not-active {
  display: none;
}
/* line 25, ../scss/layout/_top.scss */
.main-visual #main-img img {
  width: 100%;
}
/* line 29, ../scss/layout/_top.scss */
.main-visual .movie-top {
  position: relative;
  overflow: hidden;
  width: 100%;
}
/* line 33, ../scss/layout/_top.scss */
.main-visual .movie-top.not-active {
  display: none;
}
/* line 36, ../scss/layout/_top.scss */
.main-visual .movie-top h1,
.main-visual .movie-top > p {
  height: 0;
  text-indent: -77777px;
}
/* line 41, ../scss/layout/_top.scss */
.main-visual .movie-top video {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  min-width: 1920px;
  height: auto;
}
/* line 49, ../scss/layout/_top.scss */
.main-visual .movie-top .icon-scroll {
  position: fixed;
  left: 50%;
  bottom: 20px;
  margin-left: -55px;
  animation-name: ScrollIconAnimation;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  animation-iteration-count: infinite;
}
/* line 59, ../scss/layout/_top.scss */
.main-visual .movie-top .icon-scroll.hidden {
  display: none;
}

@keyframes ScrollIconAnimation {
  0% {
    bottom: 20px;
  }
  50% {
    bottom: 10px;
  }
  100% {
    bottom: 20px;
  }
}
/* line 83, ../scss/layout/_top.scss */
#service-top.contents {
  padding-bottom: 20px;
}
/* line 86, ../scss/layout/_top.scss */
#service-top h2 {
  position: relative;
  margin: 0 0 80px;
  text-align: center;
  font-size: 3.2rem;
  font-weight: 600;
}
/* line 15, ../scss/layout/_mixin.scss */
#service-top h2:after {
  position: absolute;
  bottom: -20px;
  left: 50%;
  height: 2px;
  width: 80px;
  margin-left: -40px;
  background: #d3005b;
  content: "";
}
/* line 89, ../scss/layout/_top.scss */
#service-top h3 {
  margin: 0 0  40px;
  font-size: 2.2rem;
}
/* line 93, ../scss/layout/_top.scss */
#service-top div.service-info-box {
  margin: 40px 0 0;
  padding: 0 0 60px;
  font-size: 0;
}
/* line 97, ../scss/layout/_top.scss */
#service-top div.service-info-box a {
  position: relative;
  display: inline-block;
  width: calc((100% - 100px) / 3);
  max-width: 336px;
  margin-left: 50px;
  padding: 15px 10px;
  background: url(../img2/bg-dotted.png);
  background-size: 6px;
  border: none;
  box-sizing: border-box;
  color: #000;
  vertical-align: top;
}
/* line 108, ../scss/layout/_top.scss */
#service-top div.service-info-box a:hover {
  cursor: pointer;
  opacity: 1;
}
/* line 111, ../scss/layout/_top.scss */
#service-top div.service-info-box a:hover:before, #service-top div.service-info-box a:hover:after {
  animation-name: Top3colomunBtnHeightAnimation;
  animation-duration: 0.5s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
/* line 116, ../scss/layout/_top.scss */
#service-top div.service-info-box a:hover dl:before, #service-top div.service-info-box a:hover dl:after {
  animation-name: Top3colomunBtnWidthAnimation;
  animation-duration: 0.5s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
/* line 121, ../scss/layout/_top.scss */
#service-top div.service-info-box a:hover button {
  opacity: 0.6;
}
/* line 124, ../scss/layout/_top.scss */
#service-top div.service-info-box a:hover button:before,
#service-top div.service-info-box a:hover button:after {
  right: 25px;
  animation-name: BtnRigthArrrowAnimation;
  animation-duration: 0.3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
/* line 129, ../scss/layout/_top.scss */
#service-top div.service-info-box a:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 10px;
  height: 0;
  background: #04b7b9;
  content: "";
}
/* line 138, ../scss/layout/_top.scss */
#service-top div.service-info-box a:after {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 10px;
  height: 0;
  background: #04b7b9;
  content: "";
}
/* line 147, ../scss/layout/_top.scss */
#service-top div.service-info-box a:first-child {
  margin-left: 0;
}
/* line 150, ../scss/layout/_top.scss */
#service-top div.service-info-box a dl {
  padding: 20px 10px;
  background: #fff;
}
/* line 153, ../scss/layout/_top.scss */
#service-top div.service-info-box a dl:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 15px;
  background: #04b7b9;
  content: "";
}
/* line 162, ../scss/layout/_top.scss */
#service-top div.service-info-box a dl:after {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 0%;
  height: 15px;
  background: #04b7b9;
  content: "";
}
/* line 171, ../scss/layout/_top.scss */
#service-top div.service-info-box a dl dt {
  padding-bottom: 10px;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 600;
}
/* line 177, ../scss/layout/_top.scss */
#service-top div.service-info-box a dl dd {
  font-size: 1.6rem;
}
/* line 179, ../scss/layout/_top.scss */
#service-top div.service-info-box a dl dd figure {
  padding: 15px 0 10px;
  text-align: center;
}
/* line 182, ../scss/layout/_top.scss */
#service-top div.service-info-box a dl dd figure img {
  width: 180px;
}
/* line 186, ../scss/layout/_top.scss */
#service-top div.service-info-box a dl dd button {
  position: relative;
  display: block;
  width: 240px;
  height: 40px;
  margin: 0 auto;
  background: #fff;
  border: solid 2px #d3005b;
  box-sizing: border-box;
  color: #d3005b;
  line-height: 38px;
  text-align: center;
  font-size: 1.6rem;
}
/* line 199, ../scss/layout/_top.scss */
#service-top div.service-info-box a dl dd button:hover {
  cursor: pointer;
  opacity: 0.6;
}
/* line 203, ../scss/layout/_top.scss */
#service-top div.service-info-box a dl dd button:before {
  position: absolute;
  display: block;
  top: 50%;
  right: 15px;
  width: 1px;
  height: 10px;
  margin-top: -2px;
  background: #d3005b;
  transform: rotate(45deg);
  content: "";
}
/* line 206, ../scss/layout/_top.scss */
#service-top div.service-info-box a dl dd button:after {
  position: absolute;
  display: block;
  top: 50%;
  right: 15px;
  width: 1px;
  height: 10px;
  margin-top: -8px;
  background: #d3005b;
  transform: rotate(-45deg);
  content: "";
}

@media screen and (max-width: 768px) {
  /* line 219, ../scss/layout/_top.scss */
  #service-top h3 {
    margin: 0 0 30px;
    font-size: 1.8rem;
  }
  /* line 223, ../scss/layout/_top.scss */
  #service-top div.service-info-box {
    margin: 0;
    padding: 0 0 30px;
    font-size: 0;
  }
  /* line 227, ../scss/layout/_top.scss */
  #service-top div.service-info-box a {
    display: block;
    width: 100%;
    max-width: 500px;
    margin: 0 auto 20px;
  }
  /* line 232, ../scss/layout/_top.scss */
  #service-top div.service-info-box a:first-child {
    margin-left: auto;
  }
  /* line 235, ../scss/layout/_top.scss */
  #service-top div.service-info-box a:last-child {
    margin-bottom: 0;
  }
  /* line 238, ../scss/layout/_top.scss */
  #service-top div.service-info-box a dl {
    padding: 20px 10px;
    background: #fff;
  }
  /* line 241, ../scss/layout/_top.scss */
  #service-top div.service-info-box a dl:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 15px;
    background: #04b7b9;
    content: "";
  }
  /* line 250, ../scss/layout/_top.scss */
  #service-top div.service-info-box a dl:after {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0%;
    height: 15px;
    background: #04b7b9;
    content: "";
  }
  /* line 259, ../scss/layout/_top.scss */
  #service-top div.service-info-box a dl dt {
    padding-bottom: 10px;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 600;
  }
  /* line 265, ../scss/layout/_top.scss */
  #service-top div.service-info-box a dl dd {
    font-size: 1.6rem;
  }
  /* line 267, ../scss/layout/_top.scss */
  #service-top div.service-info-box a dl dd figure {
    padding: 15px 0 10px;
    text-align: center;
  }
  /* line 270, ../scss/layout/_top.scss */
  #service-top div.service-info-box a dl dd figure img {
    width: 180px;
  }
  /* line 274, ../scss/layout/_top.scss */
  #service-top div.service-info-box a dl dd button {
    position: relative;
    display: block;
    width: 240px;
    height: 40px;
    margin: 0 auto;
    background: #fff;
    border: solid 2px #d3005b;
    box-sizing: border-box;
    color: #d3005b;
    line-height: 38px;
    text-align: center;
    font-size: 1.6rem;
  }
  /* line 287, ../scss/layout/_top.scss */
  #service-top div.service-info-box a dl dd button:hover {
    cursor: pointer;
    opacity: 0.6;
  }
  /* line 291, ../scss/layout/_top.scss */
  #service-top div.service-info-box a dl dd button:before {
    position: absolute;
    display: block;
    top: 50%;
    right: 15px;
    width: 1px;
    height: 10px;
    margin-top: -2px;
    background: #d3005b;
    transform: rotate(45deg);
    content: "";
  }
  /* line 294, ../scss/layout/_top.scss */
  #service-top div.service-info-box a dl dd button:after {
    position: absolute;
    display: block;
    top: 50%;
    right: 15px;
    width: 1px;
    height: 10px;
    margin-top: -8px;
    background: #d3005b;
    transform: rotate(-45deg);
    content: "";
  }
}
/* line 311, ../scss/layout/_top.scss */
.bg-dotted-ball {
  background: url(../img2/bg-dotted-ball.png);
  background-size: 12px;
}
/* line 314, ../scss/layout/_top.scss */
.bg-dotted-ball .contents {
  padding-bottom: 25px;
}
/* line 316, ../scss/layout/_top.scss */
.bg-dotted-ball .contents h4 {
  margin: 0 0 30px;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 600;
}
/* line 322, ../scss/layout/_top.scss */
.bg-dotted-ball .contents ul {
  position: relative;
  font-size: 0;
}
/* line 325, ../scss/layout/_top.scss */
.bg-dotted-ball .contents ul li {
  position: relative;
  display: inline-block;
  width: calc((100% - 30px) / 3);
  margin: 0 15px 15px 0;
  box-sizing: border-box;
}
/* line 331, ../scss/layout/_top.scss */
.bg-dotted-ball .contents ul li:nth-child(3n) {
  margin-right: 0;
}
/* line 334, ../scss/layout/_top.scss */
.bg-dotted-ball .contents ul li > a {
  display: table;
}
/* line 337, ../scss/layout/_top.scss */
.bg-dotted-ball .contents ul li:last-child {
  position: absolute;
  bottom: 20px;
  right: 0;
  text-align: right;
}
/* line 342, ../scss/layout/_top.scss */
.bg-dotted-ball .contents ul li:last-child a.btn {
  position: relative;
  display: block;
  width: 260px;
  height: 40px;
  margin: 0 0 0;
  border: solid 1px #000;
  box-sizing: border-box;
  background-color: rgba(255, 255, 255, 0.2);
  color: #000;
  line-height: 38px;
  text-align: center;
  display: inline-block;
  border: none;
  font-size: 1.6rem;
}
/* line 176, ../scss/layout/_mixin.scss */
.bg-dotted-ball .contents ul li:last-child a.btn:before {
  position: absolute;
  display: block;
  top: 50%;
  right: 15px;
  width: 1px;
  height: 10px;
  margin-top: -2px;
  background: #000;
  transform: rotate(45deg);
  content: "";
}
/* line 179, ../scss/layout/_mixin.scss */
.bg-dotted-ball .contents ul li:last-child a.btn:after {
  position: absolute;
  display: block;
  top: 50%;
  right: 15px;
  width: 1px;
  height: 10px;
  margin-top: -8px;
  background: #000;
  transform: rotate(-45deg);
  content: "";
}
/* line 346, ../scss/layout/_top.scss */
.bg-dotted-ball .contents ul li:last-child a.btn:hover {
  opacity: 1;
  color: #d3005b;
}
/* line 349, ../scss/layout/_top.scss */
.bg-dotted-ball .contents ul li:last-child a.btn:hover:before, .bg-dotted-ball .contents ul li:last-child a.btn:hover:after {
  background: #d3005b;
  right: 25px;
  animation-name: BtnRigthArrrowAnimation;
  animation-duration: 0.3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
/* line 358, ../scss/layout/_top.scss */
.bg-dotted-ball .contents ul li figure {
  position: relative;
  overflow: hidden;
  display: table-cell;
  width: 80px;
  height: 80px;
  background: #fff;
  box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.3);
  text-align: center;
  vertical-align: middle;
}
/* line 368, ../scss/layout/_top.scss */
.bg-dotted-ball .contents ul li figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60px;
  margin: -30px 0 0 -30px;
}
/* line 377, ../scss/layout/_top.scss */
.bg-dotted-ball .contents ul li p {
  display: table-cell;
  height: 80px;
  padding-left: 15px;
  box-sizing: border-box;
  line-height: 1.4;
  vertical-align: middle;
  font-size: 1.6rem;
}
/* line 385, ../scss/layout/_top.scss */
.bg-dotted-ball .contents ul li p span {
  display: inline !important;
}
/* line 389, ../scss/layout/_top.scss */
.bg-dotted-ball .contents ul li a {
  color: black;
}
/* line 391, ../scss/layout/_top.scss */
.bg-dotted-ball .contents ul li a:hover {
  opacity: 1;
  color: #d3005b;
  cursor: pointer;
}
/* line 395, ../scss/layout/_top.scss */
.bg-dotted-ball .contents ul li a:hover img {
  animation-name: TopServiceImgAnimation;
  animation-duration: 0.6s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}

@media screen and (max-width: 768px) {
  /* line 406, ../scss/layout/_top.scss */
  .bg-dotted-ball {
    background: url(../img2/bg-dotted-ball.png);
    background-size: 12px;
  }
  /* line 409, ../scss/layout/_top.scss */
  .bg-dotted-ball .contents {
    padding-bottom: 25px;
  }
  /* line 411, ../scss/layout/_top.scss */
  .bg-dotted-ball .contents h4 {
    margin: 0 0 30px;
    text-align: center;
    font-size: 2.2rem;
    font-weight: 600;
  }
  /* line 417, ../scss/layout/_top.scss */
  .bg-dotted-ball .contents ul {
    position: relative;
    font-size: 0;
  }
  /* line 420, ../scss/layout/_top.scss */
  .bg-dotted-ball .contents ul li {
    display: block;
    width: auto;
    margin: 0 0 15px 0;
    padding: 0;
  }
  /* line 425, ../scss/layout/_top.scss */
  .bg-dotted-ball .contents ul li > a {
    display: table;
    height: 80px;
  }
  /* line 429, ../scss/layout/_top.scss */
  .bg-dotted-ball .contents ul li:last-child {
    position: static;
    text-align: left;
  }
  /* line 432, ../scss/layout/_top.scss */
  .bg-dotted-ball .contents ul li:last-child a.btn {
    display: block;
    border: solid 1px #000;
    margin: 40px auto 0;
    background: #fff;
    font-size: 1.6rem;
  }
  /* line 437, ../scss/layout/_top.scss */
  .bg-dotted-ball .contents ul li:last-child a.btn:hover {
    opacity: 1;
    color: #d3005b;
  }
  /* line 440, ../scss/layout/_top.scss */
  .bg-dotted-ball .contents ul li:last-child a.btn:hover:before, .bg-dotted-ball .contents ul li:last-child a.btn:hover:after {
    background: #d3005b;
    right: 25px;
    animation-name: BtnRigthArrrowAnimation;
    animation-duration: 0.3s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
  }
  /* line 449, ../scss/layout/_top.scss */
  .bg-dotted-ball .contents ul li figure {
    position: relative;
    overflow: hidden;
    display: table-cell;
    top: 0;
    left: 0;
    width: 80px;
    height: 80px;
    text-align: center;
    vertical-align: middle;
  }
  /* line 459, ../scss/layout/_top.scss */
  .bg-dotted-ball .contents ul li figure img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 60px;
    margin: -30px 0 0 -30px;
  }
  /* line 468, ../scss/layout/_top.scss */
  .bg-dotted-ball .contents ul li p {
    display: table-cell;
    height: auto;
    padding-left: 15px;
    vertical-align: middle;
    font-size: 1.4rem;
  }
}
/* line 486, ../scss/layout/_top.scss */
#infomation-top.contents {
  padding-bottom: 20px;
}
/* line 490, ../scss/layout/_top.scss */
#infomation-top h2 {
  position: relative;
  margin: 0 0 80px;
  text-align: center;
  font-size: 3.2rem;
  font-weight: 600;
}
/* line 15, ../scss/layout/_mixin.scss */
#infomation-top h2:after {
  position: absolute;
  bottom: -20px;
  left: 50%;
  height: 2px;
  width: 80px;
  margin-left: -40px;
  background: #d3005b;
  content: "";
}
/* line 493, ../scss/layout/_top.scss */
#infomation-top .news-list-box {
  height: 140px;
}
/* line 495, ../scss/layout/_top.scss */
#infomation-top .news-list-box .mCSB_draggerRail {
  height: 280px !important;
  margin-top: -140px !important;
}
/* line 500, ../scss/layout/_top.scss */
#infomation-top .news-list-box ul li {
  display: table;
  width: 100%;
  padding: 5px 0;
  font-size: 1.6rem;
}
/* line 505, ../scss/layout/_top.scss */
#infomation-top .news-list-box ul li .date {
  display: table-cell;
  width: 120px;
  color: #198687;
  vertical-align: top;
}
/* line 511, ../scss/layout/_top.scss */
#infomation-top .news-list-box ul li p {
  display: table-cell;
  vertical-align: top;
}
/* line 515, ../scss/layout/_top.scss */
#infomation-top .news-list-box ul li a {
  color: #04b7b9;
}
/* line 521, ../scss/layout/_top.scss */
#infomation-top .partner-info-box {
  margin: 60px 0 0;
  padding: 15px 10px;
  background: url(../img2/bg-dotted.png);
  background-size: 6px;
}
/* line 524, ../scss/layout/_top.scss */
#infomation-top .partner-info-box > div {
  padding: 0 0 30px;
  background: #fff;
}
/* line 527, ../scss/layout/_top.scss */
#infomation-top .partner-info-box > div h3 {
  padding: 40px 0;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 600;
}
/* line 533, ../scss/layout/_top.scss */
#infomation-top .partner-info-box > div div {
  position: relative;
  min-height: 240px;
  padding: 0 30px 0 520px;
}
/* line 537, ../scss/layout/_top.scss */
#infomation-top .partner-info-box > div div figure {
  position: absolute;
  top: 0;
  left: 30px;
}
/* line 541, ../scss/layout/_top.scss */
#infomation-top .partner-info-box > div div figure img {
  height: 240px;
}
/* line 545, ../scss/layout/_top.scss */
#infomation-top .partner-info-box > div div p {
  line-height: 1.8;
  font-size: 1.6rem;
}
/* line 550, ../scss/layout/_top.scss */
#infomation-top .partner-info-box > div a {
  position: relative;
  display: block;
  width: 520px;
  height: 60px;
  margin: 50px auto 0;
  background: #000;
  border-radius: 6px;
  color: #fff;
  line-height: 60px;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 600;
}
/* line 563, ../scss/layout/_top.scss */
#infomation-top .partner-info-box > div a:hover {
  animation-name: BtnConvertionAnimation;
  animation-duration: 0.5s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
/* line 565, ../scss/layout/_top.scss */
#infomation-top .partner-info-box > div a:hover:before, #infomation-top .partner-info-box > div a:hover:after {
  animation-name: BtnConvertionArrrowAnimation;
  animation-duration: 0.5s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
/* line 570, ../scss/layout/_top.scss */
#infomation-top .partner-info-box > div a:before {
  position: absolute;
  display: block;
  top: 50%;
  right: 25px;
  width: 2px;
  height: 20px;
  margin-top: -4px;
  background: #fff;
  transform: rotate(45deg);
  content: "";
}
/* line 582, ../scss/layout/_top.scss */
#infomation-top .partner-info-box > div a:after {
  position: absolute;
  display: block;
  top: 50%;
  right: 25px;
  width: 2px;
  height: 20px;
  margin-top: -17px;
  background: #fff;
  transform: rotate(-45deg);
  content: "";
}
/* line 598, ../scss/layout/_top.scss */
#infomation-top #banner_area {
  margin-top: 50px;
  padding: 0 0 35px;
}
/* line 601, ../scss/layout/_top.scss */
#infomation-top #banner_area ul {
  font-size: 0;
  text-align: center;
}
/* line 604, ../scss/layout/_top.scss */
#infomation-top #banner_area ul li {
  display: inline-block;
  vertical-align: top;
  width: calc((100% - 50px) / 2);
  margin: 0 50px 15px 0;
}
/* line 609, ../scss/layout/_top.scss */
#infomation-top #banner_area ul li:nth-child(even) {
  margin-right: 0;
}
/* line 612, ../scss/layout/_top.scss */
#infomation-top #banner_area ul li img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  /* line 624, ../scss/layout/_top.scss */
  #infomation-top .news-list-box ul li {
    font-size: 1.4rem;
  }
  /* line 626, ../scss/layout/_top.scss */
  #infomation-top .news-list-box ul li .date {
    width: 100px;
  }
  /* line 632, ../scss/layout/_top.scss */
  #infomation-top .partner-info-box {
    margin: 30px 0 0;
  }
  /* line 634, ../scss/layout/_top.scss */
  #infomation-top .partner-info-box > div {
    padding: 0 0 30px;
    background: #fff;
  }
  /* line 637, ../scss/layout/_top.scss */
  #infomation-top .partner-info-box > div h3 {
    padding: 30px 0;
    text-align: center;
    font-size: 1.8rem;
  }
  /* line 642, ../scss/layout/_top.scss */
  #infomation-top .partner-info-box > div div {
    position: relative;
    min-height: 240px;
    padding: 0 15px;
  }
  /* line 646, ../scss/layout/_top.scss */
  #infomation-top .partner-info-box > div div figure {
    position: static;
    padding: 0 0 20px;
    text-align: center;
  }
  /* line 650, ../scss/layout/_top.scss */
  #infomation-top .partner-info-box > div div figure img {
    width: 100%;
    max-width: 500px;
    height: auto;
  }
  /* line 656, ../scss/layout/_top.scss */
  #infomation-top .partner-info-box > div div p {
    font-size: 1.4rem;
  }
  /* line 660, ../scss/layout/_top.scss */
  #infomation-top .partner-info-box > div a {
    width: auto;
    max-width: 400px;
    height: auto;
    margin: 40px 20px 0;
    padding: 5px 40px;
    background: #000;
    border-radius: 6px;
    color: #fff;
    line-height: 1.6;
    font-size: 1.4rem;
  }
  /* line 675, ../scss/layout/_top.scss */
  #infomation-top #banner_area {
    margin-top: 30px;
    padding: 0 0 15px;
  }
  /* line 678, ../scss/layout/_top.scss */
  #infomation-top #banner_area ul {
    font-size: 0;
    text-align: center;
  }
  /* line 681, ../scss/layout/_top.scss */
  #infomation-top #banner_area ul li {
    display: block;
    width: auto;
    margin: 0 0 15px 0;
  }
  /* line 685, ../scss/layout/_top.scss */
  #infomation-top #banner_area ul li:nth-child(even) {
    margin-bottom: 0;
  }
  /* line 688, ../scss/layout/_top.scss */
  #infomation-top #banner_area ul li img {
    width: 100%;
  }
}
/* line 2, ../scss/layout/_about.scss */
#About h3 {
  margin: 0 0 50px;
  font-size: 1.6rem;
}
/* line 4, ../scss/layout/_about.scss */
#About h3 span:first-child {
  font-size: 2em;
}
/* line 9, ../scss/layout/_about.scss */
#About p {
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  /* line 18, ../scss/layout/_about.scss */
  #About figure img {
    width: 100%;
  }
}
/* line 1, ../scss/layout/_form.scss */
form {
  padding: 30px 0;
  border-top: solid 3px #ccc;
  border-bottom: solid 3px #ccc;
}
/* line 7, ../scss/layout/_form.scss */
form div dl {
  display: table;
  width: 100%;
  padding: 30px 0;
  border-bottom: dashed 1px #ccc;
}
/* line 12, ../scss/layout/_form.scss */
form div dl.no-border {
  border: none;
}
/* line 15, ../scss/layout/_form.scss */
form div dl dt {
  display: table-cell;
  width: 200px;
  vertical-align: top;
  font-size: 1.6rem;
}
/* line 21, ../scss/layout/_form.scss */
form div dl dd {
  display: table-cell;
  vertical-align: top;
  font-size: 1.4rem;
}
/* line 25, ../scss/layout/_form.scss */
form div dl dd .txt-notaion {
  padding: 5px 0 0 20px;
  font-size: 1.2rem;
}
/* line 32, ../scss/layout/_form.scss */
form input[type="text"],
form input[type="email"],
form input[type="number"] {
  width: calc(100% - 30px);
  height: 40px;
  margin: 0 10px 0 5px;
  padding: 0 20px;
  border: solid 1px #ccc;
  border-radius: 20px;
  border-radius: 20px;
  box-sizing: border-box;
  outline: none;
}
/* line 45, ../scss/layout/_form.scss */
form .select-container {
  position: relative;
  display: inline-block;
  width: calc(100% - 30px);
}
/* line 49, ../scss/layout/_form.scss */
form .select-container:before, form .select-container:after {
  position: absolute;
  top: 50%;
  right: 18px;
  width: 2px;
  height: 12px;
  margin: -6px 0 0;
  background: #000;
  content: "";
}
/* line 59, ../scss/layout/_form.scss */
form .select-container:before {
  transform: rotate(45deg);
}
/* line 62, ../scss/layout/_form.scss */
form .select-container:after {
  right: 25px;
  transform: rotate(-45deg);
}
/* line 66, ../scss/layout/_form.scss */
form .select-container select {
  width: 100%;
  height: 40px;
  padding: 0 20px;
  border: solid 1px #ccc;
  border-radius: 20px;
  border-radius: 20px;
  box-sizing: border-box;
  outline: none;
  -webkit-appearance: none;
  /* ベンダープレフィックス(Google Chrome、Safari用) */
  -moz-appearance: none;
  /* ベンダープレフィックス(Firefox用) */
  appearance: none;
}
/* line 80, ../scss/layout/_form.scss */
form textarea {
  width: calc(100% - 30px);
  height: 300px;
  margin: 0 10px 0 0;
  padding: 20px;
  border: solid 1px #ccc;
  border-radius: 20px;
  border-radius: 20px;
  box-sizing: border-box;
  outline: none;
  resize: none;
}
/* line 92, ../scss/layout/_form.scss */
form .onForcus {
  border-color: #04b7b9 !important;
  background-color: #e6f8f8;
}
/* line 95, ../scss/layout/_form.scss */
form .onForcus option {
  background-color: #fff;
}
/* line 99, ../scss/layout/_form.scss */
form .btn-submit-container {
  padding: 50px 0 20px;
  text-align: center;
}
/* line 102, ../scss/layout/_form.scss */
form .btn-submit-container button {
  position: relative;
  width: 240px;
  height: 40px;
  background-color: #000;
  border: none;
  border-radius: 6px;
  color: #fff;
  line-height: 40px;
  font-size: 1.6rem;
}
/* line 112, ../scss/layout/_form.scss */
form .btn-submit-container button:before {
  position: absolute;
  display: block;
  top: 50%;
  right: 15px;
  width: 1px;
  height: 10px;
  margin-top: -2px;
  background: #fff;
  transform: rotate(45deg);
  content: "";
}
/* line 115, ../scss/layout/_form.scss */
form .btn-submit-container button:after {
  position: absolute;
  display: block;
  top: 50%;
  right: 15px;
  width: 1px;
  height: 10px;
  margin-top: -8px;
  background: #fff;
  transform: rotate(-45deg);
  content: "";
}
/* line 119, ../scss/layout/_form.scss */
form .btn-submit-container button:hover:before, form .btn-submit-container button:hover:after {
  right: 25px;
  animation-name: BtnRigthArrrowAnimation;
  animation-duration: 0.3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}

/* line 127, ../scss/layout/_form.scss */
::-ms-expand {
  /* select要素のデザインを無効にする（IE用） */
  display: none;
}

/* line 130, ../scss/layout/_form.scss */
.btn-goTop-container {
  margin: 80px 0 0;
  padding: 0 0 40px !important;
  text-align: center;
}
/* line 134, ../scss/layout/_form.scss */
.btn-goTop-container a {
  position: relative;
  display: inline-block;
  height: 40px;
  width: 400px;
  background-color: #000;
  border-radius: 6px;
  color: #fff;
  text-align: center;
  line-height: 40px;
  font-size: 1.6rem;
}
/* line 146, ../scss/layout/_form.scss */
.btn-goTop-container a:hover:before, .btn-goTop-container a:hover:after {
  right: 25px;
  animation-name: BtnRigthArrrowAnimation;
  animation-duration: 0.3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
/* line 151, ../scss/layout/_form.scss */
.btn-goTop-container a:before {
  position: absolute;
  display: block;
  top: 50%;
  right: 15px;
  width: 1px;
  height: 10px;
  margin-top: -2px;
  background: #fff;
  transform: rotate(45deg);
  content: "";
}
/* line 154, ../scss/layout/_form.scss */
.btn-goTop-container a:after {
  position: absolute;
  display: block;
  top: 50%;
  right: 15px;
  width: 1px;
  height: 10px;
  margin-top: -8px;
  background: #fff;
  transform: rotate(-45deg);
  content: "";
}

/* works-form */
/* line 162, ../scss/layout/_form.scss */
.works-form {
  padding: 15px 10px;
  background: url(../img2/bg-dotted.png);
  background-size: 6px;
}
/* line 164, ../scss/layout/_form.scss */
.works-form div {
  padding: 0 30px;
  background: #fff;
}
/* line 167, ../scss/layout/_form.scss */
.works-form div.complete-box {
  padding: 50px 30px;
}
/* line 169, ../scss/layout/_form.scss */
.works-form div.complete-box h4 {
  margin-left: 0;
}
/* line 173, ../scss/layout/_form.scss */
.works-form div form {
  border: none;
}
/* line 175, ../scss/layout/_form.scss */
.works-form div form > p {
  padding: 0 30px;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  /* line 188, ../scss/layout/_form.scss */
  form {
    padding: 0;
    border: none;
  }
  /* line 192, ../scss/layout/_form.scss */
  form div dl {
    display: block;
  }
  /* line 194, ../scss/layout/_form.scss */
  form div dl dt {
    display: block;
    width: auto;
    padding-bottom: 15px;
    font-weight: 600;
  }
  /* line 199, ../scss/layout/_form.scss */
  form div dl dt br {
    display: none;
  }
  /* line 202, ../scss/layout/_form.scss */
  form div dl dt .for-sp {
    display: inline-block !important;
  }
  /* line 205, ../scss/layout/_form.scss */
  form div dl dt .font-en {
    display: inline-block;
    margin-left: 15px;
  }
  /* line 210, ../scss/layout/_form.scss */
  form div dl dd {
    display: block;
    width: auto;
  }
  /* line 216, ../scss/layout/_form.scss */
  form input[type="text"],
  form input[type="email"],
  form input[type="number"] {
    width: 100%;
  }
  /* line 221, ../scss/layout/_form.scss */
  form .select-container {
    width: 100%;
  }
  /* line 223, ../scss/layout/_form.scss */
  form .select-container select {
    width: 100%;
  }
  /* line 227, ../scss/layout/_form.scss */
  form textarea {
    width: 100%;
    height: 200px;
    margin: 0;
    padding: 15px;
  }
  /* line 233, ../scss/layout/_form.scss */
  form .btn-submit-container {
    padding: 40px 0 0;
  }

  /* line 237, ../scss/layout/_form.scss */
  .btn-goTop-container {
    margin: 80px 0 0;
    padding: 0 0 40px !important;
    text-align: center;
  }
  /* line 241, ../scss/layout/_form.scss */
  .btn-goTop-container a {
    position: relative;
    display: block;
    height: auto;
    width: auto;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    padding: 5px 25px;
    color: #fff;
    text-align: center;
    line-height: 1.6;
    font-size: 1.3rem;
  }
  /* line 255, ../scss/layout/_form.scss */
  .btn-goTop-container a:hover:before, .btn-goTop-container a:hover:after {
    right: 25px;
    animation-name: BtnRigthArrrowAnimation;
    animation-duration: 0.3s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
  }
  /* line 260, ../scss/layout/_form.scss */
  .btn-goTop-container a:before {
    position: absolute;
    display: block;
    top: 50%;
    right: 15px;
    width: 1px;
    height: 10px;
    margin-top: -2px;
    background: #fff;
    transform: rotate(45deg);
    content: "";
  }
  /* line 263, ../scss/layout/_form.scss */
  .btn-goTop-container a:after {
    position: absolute;
    display: block;
    top: 50%;
    right: 15px;
    width: 1px;
    height: 10px;
    margin-top: -8px;
    background: #fff;
    transform: rotate(-45deg);
    content: "";
  }

  /* works-form */
  /* line 270, ../scss/layout/_form.scss */
  .works-form {
    padding: 15px 10px;
    background: url(../img2/bg-dotted.png);
    background-size: 6px;
  }
  /* line 272, ../scss/layout/_form.scss */
  .works-form div {
    padding: 30px 15px;
    background: #fff;
  }
  /* line 275, ../scss/layout/_form.scss */
  .works-form div.complete-box {
    padding: 30px 25px;
  }
  /* line 277, ../scss/layout/_form.scss */
  .works-form div.complete-box h4 {
    margin-left: 0;
  }
  /* line 281, ../scss/layout/_form.scss */
  .works-form div form {
    border: none;
  }
  /* line 283, ../scss/layout/_form.scss */
  .works-form div form > h4 {
    margin-left: 15px !important;
  }
  /* line 286, ../scss/layout/_form.scss */
  .works-form div form > p {
    padding: 0 15px;
    font-size: 1.6rem;
  }
}
/* line 1, ../scss/layout/_components.scss */
.side-service-list {
  margin: 20px 0 0 30px;
  padding-bottom: 20px;
}
/* line 4, ../scss/layout/_components.scss */
.side-service-list li {
  border-bottom: solid 1px #ccc;
  padding: 10px 0;
}
/* line 7, ../scss/layout/_components.scss */
.side-service-list li:last-child {
  border-bottom: none;
}
/* line 10, ../scss/layout/_components.scss */
.side-service-list li a {
  position: relative;
  display: block;
  color: #000;
  font-size: 1.3rem;
}
/* line 16, ../scss/layout/_components.scss */
.side-service-list li a:hover:before, .side-service-list li a:hover:after {
  right: 25px;
  animation-name: BtnRigthArrrowAnimation;
  animation-duration: 0.3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
/* line 21, ../scss/layout/_components.scss */
.side-service-list li a:before {
  position: absolute;
  display: block;
  top: 50%;
  right: 15px;
  width: 1px;
  height: 10px;
  margin-top: -2px;
  background: #000;
  transform: rotate(45deg);
  content: "";
}
/* line 24, ../scss/layout/_components.scss */
.side-service-list li a:after {
  position: absolute;
  display: block;
  top: 50%;
  right: 15px;
  width: 1px;
  height: 10px;
  margin-top: -8px;
  background: #000;
  transform: rotate(-45deg);
  content: "";
}

/*-----------    works-flow  start  -----------*/
/* line 35, ../scss/layout/_components.scss */
.works-flow {
  font-size: 0;
  background: url(../img2/line-flow-bg.png) no-repeat 120px 45px scroll;
  background-size: auto 70px;
}
/* line 39, ../scss/layout/_components.scss */
.works-flow li {
  position: relative;
  display: inline-block;
  width: 200px;
  vertical-align: top;
}
/* line 44, ../scss/layout/_components.scss */
.works-flow li figure {
  overflow: hidden;
  width: 150px;
  height: 150px;
  margin: 0 auto 20px;
  background: #fff;
  border-radius: 50%;
  text-align: center;
  line-height: 150px;
}
/* line 53, ../scss/layout/_components.scss */
.works-flow li figure img {
  width: 100px;
}
/* line 57, ../scss/layout/_components.scss */
.works-flow li dl {
  text-align: center;
}
/* line 59, ../scss/layout/_components.scss */
.works-flow li dl dt {
  padding: 0 0 15px;
  font-size: 2.0rem;
  font-weight: 600;
}
/* line 64, ../scss/layout/_components.scss */
.works-flow li dl dd {
  display: inline-block;
  text-align: left;
  font-size: 1.4rem;
}

/*-----------    works-flow  end  -----------*/
@media screen and (max-width: 768px) {
  /* line 76, ../scss/layout/_components.scss */
  .works-flow {
    font-size: 0;
    background: none;
  }
  /* line 79, ../scss/layout/_components.scss */
  .works-flow li {
    position: relative;
    display: block;
    width: 100%;
    padding-bottom: 30px;
  }
  /* line 84, ../scss/layout/_components.scss */
  .works-flow li:after {
    position: absolute;
    left: 40px;
    bottom: 0;
    width: 40px;
    height: 40px;
    background: url(../img2/line-flow-bg-sp.png) no-repeat center 0 scroll;
    background-size: 40px auto;
    content: "";
  }
  /* line 95, ../scss/layout/_components.scss */
  .works-flow li:last-child:after {
    background-position: center -120px;
  }
  /* line 99, ../scss/layout/_components.scss */
  .works-flow li figure {
    display: inline-block;
    width: 120px;
    height: 120px;
    margin-bottom: 10px;
    line-height: 120px;
  }
  /* line 105, ../scss/layout/_components.scss */
  .works-flow li figure img {
    width: 100px;
  }
  /* line 109, ../scss/layout/_components.scss */
  .works-flow li dl {
    display: inline-block;
    width: calc(100% - 170px);
    margin-left: 50px;
    text-align: left;
    vertical-align: top;
  }
  /* line 115, ../scss/layout/_components.scss */
  .works-flow li dl dt {
    padding: 0 0 10px;
    font-size: 1.8rem;
  }
  /* line 119, ../scss/layout/_components.scss */
  .works-flow li dl dd {
    display: block;
  }
}
/*-----------  txt-result-box  start  -----------------*/
/* line 137, ../scss/layout/_components.scss */
.txt-result-box {
  position: relative;
  margin: 200px 0 0;
  padding: 5px;
  background: #fff;
  border: solid 3px #04b7b9;
  border-radius: 6px;
}
/* line 144, ../scss/layout/_components.scss */
.txt-result-box:before {
  position: absolute;
  top: -120px;
  left: 50%;
  width: 107px;
  height: 50px;
  margin-left: -54px;
  background: url(../img2/arrow-point.png) no-repeat 0 0 scroll;
  background-size: cover;
  content: "";
}
/* line 155, ../scss/layout/_components.scss */
.txt-result-box div {
  padding: 15px 30px;
  background: #fff url(../img2/bg-dotted-subcolor.png);
  background-size: 6px;
}
/* line 160, ../scss/layout/_components.scss */
.txt-result-box p {
  padding: 10px 15px;
  background-color: #fff;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 500;
}

/*-----------  txt-result-box  end  -----------------*/
@media screen and (max-width: 768px) {
  /* line 172, ../scss/layout/_components.scss */
  .txt-result-box {
    position: relative;
    margin: 60px 0 0;
    padding: 5px;
    background: #fff;
    border: solid 3px #04b7b9;
    border-radius: 6px;
  }
  /* line 179, ../scss/layout/_components.scss */
  .txt-result-box:before {
    position: absolute;
    top: -80px;
    left: 50%;
    width: 60px;
    height: 50px;
    margin-left: -30px;
    background: url(../img2/arrow-point.png) no-repeat 0 0 scroll;
    background-size: 60px auto;
    content: "";
  }
  /* line 190, ../scss/layout/_components.scss */
  .txt-result-box div {
    padding: 15px;
  }
  /* line 193, ../scss/layout/_components.scss */
  .txt-result-box p {
    text-align: left;
    font-size: 1.8rem;
  }
}
/*-----------  point-three-colbox start ------------*/
/* line 209, ../scss/layout/_components.scss */
.point-three-colbox {
  margin: 0 0 60px;
  font-size: 0;
}
/* line 212, ../scss/layout/_components.scss */
.point-three-colbox dl {
  display: inline-block;
  width: calc((100% - 100px) / 3);
  margin-left: 50px;
  vertical-align: top;
}
/* line 217, ../scss/layout/_components.scss */
.point-three-colbox dl:nth-child(1) {
  margin-left: 0;
}
/* line 220, ../scss/layout/_components.scss */
.point-three-colbox dl:first-child {
  margin-left: 0;
}
/* line 223, ../scss/layout/_components.scss */
.point-three-colbox dl dt {
  padding: 0 0 20px;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 600;
}
/* line 229, ../scss/layout/_components.scss */
.point-three-colbox dl dd {
  font-size: 1.6rem;
}
/* line 231, ../scss/layout/_components.scss */
.point-three-colbox dl dd figure {
  padding: 0 0 20px;
  text-align: center;
}
/* line 234, ../scss/layout/_components.scss */
.point-three-colbox dl dd figure img {
  width: 260px;
}

/*-----------  point-three-colboxend end  ------------*/
@media screen and (max-width: 768px) {
  /* line 245, ../scss/layout/_components.scss */
  .point-three-colbox {
    margin: 0 0 30px;
  }
  /* line 247, ../scss/layout/_components.scss */
  .point-three-colbox dl {
    display: block;
    width: auto;
    margin-left: 0;
    padding: 0 0 30px;
  }
  /* line 252, ../scss/layout/_components.scss */
  .point-three-colbox dl dt {
    display: block;
    text-align: left;
    font-size: 1.8rem;
  }
  /* line 257, ../scss/layout/_components.scss */
  .point-three-colbox dl dd {
    display: inline-block;
    vertical-align: top;
  }
  /* line 260, ../scss/layout/_components.scss */
  .point-three-colbox dl dd:nth-child(2n) {
    width: 150px;
  }
  /* line 263, ../scss/layout/_components.scss */
  .point-three-colbox dl dd:nth-child(3n) {
    width: calc(100% - 150px);
    padding-left: 40px;
    box-sizing: border-box;
  }
  /* line 268, ../scss/layout/_components.scss */
  .point-three-colbox dl dd figure {
    padding: 0;
  }
  /* line 270, ../scss/layout/_components.scss */
  .point-three-colbox dl dd figure img {
    width: 100%;
  }
}
/*-----------  list-icon-block start ------------*/
/* line 284, ../scss/layout/_components.scss */
.list-icon-block {
  margin: 0 0 35px;
  font-size: 0;
}
/* line 287, ../scss/layout/_components.scss */
.list-icon-block > li {
  position: relative;
  display: inline-block;
  width: 100%;
  margin-bottom: 45px;
  padding: 0 0 65px 150px;
  border-bottom: dashed 2px #909090;
  vertical-align: top;
}
/* line 295, ../scss/layout/_components.scss */
.list-icon-block > li a {
  display: block;
  color: #000;
}
/* line 298, ../scss/layout/_components.scss */
.list-icon-block > li a:hover {
  opacity: 0.7;
}
/* line 302, ../scss/layout/_components.scss */
.list-icon-block > li h4 {
  margin: 0;
  padding: 10px 0 30px;
  line-height: 1;
  font-size: 2.2rem;
  font-weight: 600;
}
/* line 308, ../scss/layout/_components.scss */
.list-icon-block > li h4:before {
  position: absolute;
  top: 15px;
  left: 0;
  width: 19px;
  height: 1px;
  background: #909090;
  content: "";
}
/* line 318, ../scss/layout/_components.scss */
.list-icon-block > li figure {
  position: absolute;
  top: 0;
  left: 30px;
}
/* line 322, ../scss/layout/_components.scss */
.list-icon-block > li figure:before {
  position: absolute;
  display: block;
  top: 16px;
  left: -15px;
  width: 1px;
  height: 14px;
  margin-top: -3px;
  background: #909090;
  transform: rotate(45deg);
  content: "";
}
/* line 325, ../scss/layout/_components.scss */
.list-icon-block > li figure:after {
  position: absolute;
  display: block;
  top: 15px;
  left: -16px;
  width: 1px;
  height: 14px;
  margin-top: -12px;
  background: #909090;
  transform: rotate(-45deg);
  content: "";
}
/* line 328, ../scss/layout/_components.scss */
.list-icon-block > li figure img {
  width: 60px;
  margin: -10px 0 0 25px;
}
/* line 333, ../scss/layout/_components.scss */
.list-icon-block > li p {
  font-size: 1.4rem;
}
/* line 336, ../scss/layout/_components.scss */
.list-icon-block > li .btn-container {
  padding: 50px 0 20px;
  text-align: right;
}
/* line 339, ../scss/layout/_components.scss */
.list-icon-block > li .btn-container a {
  position: relative;
  display: inline-block;
  height: 40px;
  padding: 0 40px 0 25px;
  background: #000;
  color: #fff;
  line-height: 40px;
  font-size: 1.6rem;
}
/* line 349, ../scss/layout/_components.scss */
.list-icon-block > li .btn-container a:hover:before, .list-icon-block > li .btn-container a:hover:after {
  right: 25px;
  animation-name: BtnRigthArrrowAnimation;
  animation-duration: 0.3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
/* line 354, ../scss/layout/_components.scss */
.list-icon-block > li .btn-container a:before {
  position: absolute;
  display: block;
  top: 50%;
  right: 15px;
  width: 1px;
  height: 10px;
  margin-top: -2px;
  background: #fff;
  transform: rotate(45deg);
  content: "";
}
/* line 357, ../scss/layout/_components.scss */
.list-icon-block > li .btn-container a:after {
  position: absolute;
  display: block;
  top: 50%;
  right: 15px;
  width: 1px;
  height: 10px;
  margin-top: -8px;
  background: #fff;
  transform: rotate(-45deg);
  content: "";
}
/* line 362, ../scss/layout/_components.scss */
.list-icon-block > li .sub-point {
  padding: 30px 0 0;
}
/* line 364, ../scss/layout/_components.scss */
.list-icon-block > li .sub-point li {
  display: flex;
  margin: 30px 0 25px 0;
}
/* line 367, ../scss/layout/_components.scss */
.list-icon-block > li .sub-point li h5 {
  position: relative;
  width: 400px;
  padding: 0  40px 0 120px;
  box-sizing: border-box;
  line-height: 20px;
  font-size: 1.6rem;
  font-weight: 600;
}
/* line 375, ../scss/layout/_components.scss */
.list-icon-block > li .sub-point li h5 > span:first-child {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  height: 20px;
  width: 100px;
  margin: 0 20px 0 0;
  background: #000;
  border-radius: 10px;
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 600;
}
/* line 391, ../scss/layout/_components.scss */
.list-icon-block > li .sub-point li p {
  width: calc(100% - 400px);
}
/* line 396, ../scss/layout/_components.scss */
.list-icon-block > li .cms-img-conainer {
  text-align: center;
}
/* line 398, ../scss/layout/_components.scss */
.list-icon-block > li .cms-img-conainer figure {
  position: relative;
  display: inline-block;
  margin: 40px 30px 20px 30px;
}
/* line 402, ../scss/layout/_components.scss */
.list-icon-block > li .cms-img-conainer figure:before, .list-icon-block > li .cms-img-conainer figure:after {
  display: none;
}
/* line 406, ../scss/layout/_components.scss */
.list-icon-block > li .cms-img-conainer figure img {
  position: relative;
  display: inline-block;
  width: auto;
  height: 80px;
  margin: 0;
}
/* line 417, ../scss/layout/_components.scss */
.list-icon-block.column-2-block > li {
  width: calc((100% - 50px) / 2 );
  margin-right: 50px;
  margin-bottom: 25px;
  padding: 0 0 25px 110px;
  box-sizing: border-box;
}
/* line 423, ../scss/layout/_components.scss */
.list-icon-block.column-2-block > li:nth-child(even) {
  margin-right: 0;
}
/* line 426, ../scss/layout/_components.scss */
.list-icon-block.column-2-block > li h4 {
  padding: 0 0 20px;
  font-size: 1.6rem;
}
/* line 431, ../scss/layout/_components.scss */
.list-icon-block.column-2-block > li figure img {
  margin: -10px 0 0 5px;
}

/*-----------  list-icon-block end ------------*/
@media screen and (max-width: 768px) {
  /* line 441, ../scss/layout/_components.scss */
  .list-icon-block {
    margin: 0 0 35px;
    font-size: 0;
  }
  /* line 444, ../scss/layout/_components.scss */
  .list-icon-block > li {
    position: relative;
    display: block;
    width: 100%;
    margin: 30px 0 0;
    padding: 0 0 35px;
    border-bottom: dashed 1px #909090;
  }
  /* line 451, ../scss/layout/_components.scss */
  .list-icon-block > li hr.contents-id {
    position: absolute;
    top: -120px;
    margin: 0;
    padding-top: 0;
  }
  /* line 457, ../scss/layout/_components.scss */
  .list-icon-block > li h4 {
    margin-top: -10px;
    padding: 0 0 30px  150px;
    line-height: 1.6;
    font-size: 1.8rem;
  }
  /* line 463, ../scss/layout/_components.scss */
  .list-icon-block > li .btn-container {
    padding: 50px 0 20px;
    text-align: right;
  }
  /* line 466, ../scss/layout/_components.scss */
  .list-icon-block > li .btn-container a {
    position: relative;
    display: inline-block;
    height: 40px;
    padding: 0 40px 0 25px;
    background: #000;
    color: #fff;
    line-height: 40px;
    font-size: 1.6rem;
  }
  /* line 476, ../scss/layout/_components.scss */
  .list-icon-block > li .btn-container a:hover:before, .list-icon-block > li .btn-container a:hover:after {
    right: 25px;
    animation-name: BtnRigthArrrowAnimation;
    animation-duration: 0.3s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
  }
  /* line 481, ../scss/layout/_components.scss */
  .list-icon-block > li .btn-container a:before {
    position: absolute;
    display: block;
    top: 50%;
    right: 15px;
    width: 1px;
    height: 10px;
    margin-top: -2px;
    background: #fff;
    transform: rotate(45deg);
    content: "";
  }
  /* line 484, ../scss/layout/_components.scss */
  .list-icon-block > li .btn-container a:after {
    position: absolute;
    display: block;
    top: 50%;
    right: 15px;
    width: 1px;
    height: 10px;
    margin-top: -8px;
    background: #fff;
    transform: rotate(-45deg);
    content: "";
  }
  /* line 489, ../scss/layout/_components.scss */
  .list-icon-block > li .sub-point {
    padding: 30px 0 0;
  }
  /* line 491, ../scss/layout/_components.scss */
  .list-icon-block > li .sub-point li {
    display: block;
    padding: 0 0 25px;
    margin: 0;
  }
  /* line 495, ../scss/layout/_components.scss */
  .list-icon-block > li .sub-point li:last-child {
    padding: 0;
  }
  /* line 498, ../scss/layout/_components.scss */
  .list-icon-block > li .sub-point li h5 {
    width: auto;
    line-height: 1.6;
    font-weight: 600;
  }
  /* line 502, ../scss/layout/_components.scss */
  .list-icon-block > li .sub-point li h5 > span:first-child {
    line-height: 20px;
  }
  /* line 506, ../scss/layout/_components.scss */
  .list-icon-block > li .sub-point li p {
    width: auto;
    padding: 20px 0 0;
  }
  /* line 512, ../scss/layout/_components.scss */
  .list-icon-block > li .cms-img-conainer {
    text-align: center;
  }
  /* line 514, ../scss/layout/_components.scss */
  .list-icon-block > li .cms-img-conainer figure {
    position: relative;
    display: inline-block;
    margin: 40px 30px 20px 30px;
  }
  /* line 518, ../scss/layout/_components.scss */
  .list-icon-block > li .cms-img-conainer figure:before, .list-icon-block > li .cms-img-conainer figure:after {
    display: none;
  }
  /* line 522, ../scss/layout/_components.scss */
  .list-icon-block > li .cms-img-conainer figure img {
    position: relative;
    display: inline-block;
    width: auto;
    height: 80px;
    margin: 0;
  }
  /* line 533, ../scss/layout/_components.scss */
  .list-icon-block.column-2-block > li {
    display: block;
    width: auto;
    margin-right: 0;
    margin-bottom: 25px;
    padding: 0 0 30px;
    border-width: 1px;
  }
  /* line 540, ../scss/layout/_components.scss */
  .list-icon-block.column-2-block > li h4 {
    display: table-cell;
    height: 40px;
    width: calc( 100% -  110px);
    padding: 0 0 0 110px;
    vertical-align: middle;
    line-height: 1.6;
  }
  /* line 548, ../scss/layout/_components.scss */
  .list-icon-block.column-2-block > li p {
    margin-top: 10px;
  }
}
/*-----------  has-pic-box start ------------*/
/* line 561, ../scss/layout/_components.scss */
.has-pic-box {
  display: table;
  margin: 0 0 50px;
}
/* line 565, ../scss/layout/_components.scss */
.has-pic-box.probrem-info-box figure {
  position: relative;
  padding: 25px 0 0;
}
/* line 568, ../scss/layout/_components.scss */
.has-pic-box.probrem-info-box figure figcaption {
  position: absolute;
  top: 0;
  left: 50%;
  width: 270px;
  height: 50px;
  margin: 0 0 0 -140px;
  background: url("../img2/baloon-small.png") no-repeat 0 0 scroll;
  background-size: cover;
  color: #04b7b9;
  text-align: center;
  line-height: 40px;
  font-size: 1.8rem;
  font-weight: 600;
}
/* line 583, ../scss/layout/_components.scss */
.has-pic-box.probrem-info-box figure img {
  width: 400px;
}
/* line 588, ../scss/layout/_components.scss */
.has-pic-box > div {
  display: table-cell;
  padding: 0 0 0 40px;
  vertical-align: top;
  font-size: 1.6rem;
}
/* line 593, ../scss/layout/_components.scss */
.has-pic-box > div p {
  margin: 20px 0 0;
}
/* line 595, ../scss/layout/_components.scss */
.has-pic-box > div p a {
  position: relative;
  display: block;
  width: 240px;
  height: 40px;
  margin: 90px 0 0;
  border: solid 1px #d3005b;
  box-sizing: border-box;
  background-color: none;
  color: #d3005b;
  line-height: 38px;
  text-align: center;
  margin-top: 30px;
  display: inline-block;
}
/* line 176, ../scss/layout/_mixin.scss */
.has-pic-box > div p a:before {
  position: absolute;
  display: block;
  top: 50%;
  right: 15px;
  width: 1px;
  height: 10px;
  margin-top: -2px;
  background: #d3005b;
  transform: rotate(45deg);
  content: "";
}
/* line 179, ../scss/layout/_mixin.scss */
.has-pic-box > div p a:after {
  position: absolute;
  display: block;
  top: 50%;
  right: 15px;
  width: 1px;
  height: 10px;
  margin-top: -8px;
  background: #d3005b;
  transform: rotate(-45deg);
  content: "";
}
/* line 600, ../scss/layout/_components.scss */
.has-pic-box > div p a:hover:before, .has-pic-box > div p a:hover:after {
  right: 25px;
  animation-name: BtnRigthArrrowAnimation;
  animation-duration: 0.3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}
/* line 608, ../scss/layout/_components.scss */
.has-pic-box > figure {
  display: table-cell;
}

/*-----------  has-pic-box end ------------*/
@media screen and (max-width: 768px) {
  /* line 615, ../scss/layout/_components.scss */
  .has-pic-box {
    display: block;
    margin: 0 0 50px;
  }
  /* line 619, ../scss/layout/_components.scss */
  .has-pic-box.probrem-info-box figure {
    position: relative;
    padding: 25px 0 0;
  }
  /* line 622, ../scss/layout/_components.scss */
  .has-pic-box.probrem-info-box figure figcaption {
    position: absolute;
    top: 0;
    left: 50%;
    width: 270px;
    height: 50px;
    margin: 0 0 0 -140px;
    background: url("../img2/baloon-small.png") no-repeat 0 0 scroll;
    background-size: cover;
    color: #04b7b9;
    text-align: center;
    line-height: 40px;
    font-size: 1.8rem;
    font-weight: 600;
  }
  /* line 637, ../scss/layout/_components.scss */
  .has-pic-box.probrem-info-box figure img {
    max-width: 300px;
    width: 100%;
  }
  /* line 643, ../scss/layout/_components.scss */
  .has-pic-box > div {
    display: block;
    padding: 25px 0 0;
  }
  /* line 646, ../scss/layout/_components.scss */
  .has-pic-box > div p {
    margin: 20px 0 0;
  }
  /* line 648, ../scss/layout/_components.scss */
  .has-pic-box > div p a {
    display: block;
    margin: 30px auto 0;
  }
  /* line 654, ../scss/layout/_components.scss */
  .has-pic-box > figure {
    display: block;
    text-align: center;
  }
}
/*-----------  bg-small-dotted end ------------*/
/* line 667, ../scss/layout/_components.scss */
.bg-small-dotted {
  position: relative;
  margin: 30px 0 0;
  padding: 30px 30px 30px 100px;
  font-size: 1.4rem;
  border: 4px solid #f5f5f5;
}
/* line 673, ../scss/layout/_components.scss */
.bg-small-dotted:before {
  position: absolute;
  top: 10px;
  left: 25px;
  width: 60px;
  height: 60px;
  background: url(../img2/bg-dotted-ball-subcolor.png);
  background-size: 6px;
  content: "";
}
/* line 683, ../scss/layout/_components.scss */
.bg-small-dotted:after {
  position: absolute;
  top: 15px;
  left: 15px;
  width: 2px;
  height: 90px;
  background: #000;
  content: "";
}
/* line 692, ../scss/layout/_components.scss */
.bg-small-dotted .txt-label {
  position: absolute;
  top: 50px;
  left: -10px;
  transform: rotate(90deg);
  font-size: 1.4rem;
  font-weight: bold;
}
/* line 701, ../scss/layout/_components.scss */
.bg-small-dotted .txt-ttl {
  display: block;
  padding: 0 0 30px;
  font-size: 1.6rem;
  font-weight: 600;
}

/*-----------  bg-small-dotted end ------------*/
@media screen and (max-width: 768px) {
  /* line 711, ../scss/layout/_components.scss */
  .bg-small-dotted {
    position: relative;
    margin: 30px 0 0;
    padding: 30px 30px 30px 100px;
    font-size: 1.4rem;
    border: 4px solid #f5f5f5;
  }
  /* line 717, ../scss/layout/_components.scss */
  .bg-small-dotted:before {
    position: absolute;
    top: 10px;
    left: 25px;
    width: 60px;
    height: 60px;
    background: url(../img2/bg-dotted-ball-subcolor.png);
    background-size: 6px;
    content: "";
  }
  /* line 727, ../scss/layout/_components.scss */
  .bg-small-dotted:after {
    position: absolute;
    top: 15px;
    left: 15px;
    width: 2px;
    height: 90px;
    background: #000;
    content: "";
  }
  /* line 736, ../scss/layout/_components.scss */
  .bg-small-dotted .txt-label {
    position: absolute;
    top: 50px;
    left: -10px;
    transform: rotate(90deg);
    font-size: 1.4rem;
    font-weight: bold;
  }
  /* line 745, ../scss/layout/_components.scss */
  .bg-small-dotted .txt-ttl {
    display: block;
    padding: 0 0 30px;
    font-size: 1.6rem;
    font-weight: 600;
  }
}
