@charset "UTF-8";
/* ====================================================
reset style
==================================================== */
html {
  overflow-y: scroll;
  font-size: 10px;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

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

fieldset, img {
  border: 0;
}

img {
  vertical-align: middle;
  max-width: 100%;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: bold;
}

ul {
  list-style-type: none;
}

li {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: bold;
}

q:before, q:after {
  content: '';
}

abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}
input, button, textarea, select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

a {
  text-decoration: none;
  color: inherit;
}

/*to enable resizing for IE*/
input, textarea, select {
  *font-size: 100%;
}

/*because legend doesn't inherit in IE */
legend {
  color: #000;
}

del, ins {
  text-decoration: none;
}

/* ====================================================
Font
==================================================== */
@font-face {
  font-family: 'intactis';
  src:  url('../fonts/intactis.eot?fibmo7');
  src:  url('../fonts/intactis.eot?fibmo7#iefix') format('embedded-opentype'),
    url('../fonts/intactis.ttf?fibmo7') format('truetype'),
    url('../fonts/intactis.woff?fibmo7') format('woff'),
    url('../fonts/intactis.svg?fibmo7#intactis') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'intactis' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-arrow-up:before {
  content: "\edb9";
}
.icon-arrow-up2:before {
  content: "\edba";
}
.icon-arrow-right:before {
  content: "\edbd";
}
.icon-arrow-right2:before {
  content: "\edbe";
}
.icon-arrow-down:before {
  content: "\edc1";
}
.icon-arrow-down2:before {
  content: "\edc2";
}
.icon-arrow-left:before {
  content: "\edc5";
}
.icon-arrow-left2:before {
  content: "\edc6";
}
.icon-mail:before {
  content: "\e901";
}
.icon-tap:before {
  content: "\e902";
}
.icon-design:before {
  content: "\e903";
}
.icon-estimate:before {
  content: "\e904";
}
.icon-phone:before {
  content: "\ea1d";
}
.icon-external-link:before {
  content: "\e911";
}
.icon-facebook:before {
  content: "\eeef";
}
.icon-twitter:before {
  content: "\eef5";
}
.icon-mouse:before {
  content: "\e900";
}
.icon-btn-arr:before {
  content: "\e905";
}
.icon-hear:before {
  content: "\e906";
}
.icon-proposal:before {
  content: "\e907";
}
.icon-wp_2:before {
  content: "\e908";
}
.icon-graph:before {
  content: "\e909";
}
.icon-setting:before {
  content: "\e90a";
}
.icon-idea:before {
  content: "\e90b";
}
.icon-design_2:before {
  content: "\e90c";
}
.icon-cording:before {
  content: "\e90d";
}
.icon-wp:before {
  content: "\e90e";
}
.icon-write:before {
  content: "\e90f";
}
.icon-photo:before {
  content: "\e910";
}
.icon-agreement:before {
  content: "\e912";
}
.icon-multiling:before {
  content: "\e913";
}
.icon-tag:before {
  content: "\e935";
}
.icon-payment:before {
  content: "\e914";
}
.icon-member:before {
  content: "\e915";
}
.icon-plugin:before {
  content: "\e916";
}
.icon-api:before {
  content: "\e917";
}

/* ====================================================
Position & transform
==================================================== */
/* ====================================================
Color
==================================================== */
/* ====================================================
Sizing
==================================================== */
/* ====================================================
Misc
==================================================== */


/* ====================================================
Base style & container
==================================================== */
body {
  color: black;
  font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  font-size: 100%;
  line-height: 1.4;
  overflow: hidden;
  font-style: normal;
}
#loading {
	background:#fff url(../images/loading.gif) no-repeat center;
	height:100vh;
	width:100vw;
	position:
	fixed;
	z-index:9999;
	left:0px;
	top:0px
}
.container {
  display: block;
  margin: 0 auto;
}

.container.container-sm {
  max-width: 1030px;
  padding: 0 15px;
}

.container.container-md {
  max-width: 1230px;
  padding: 0 20px;
}

.container.container-lg {
  max-width: 1530px;
  padding: 0 25px;
}

/* ====================================================
Float & clear
==================================================== */
.clearfix {
  *zoom: 1;
}

.clearfix:before {
  content: "";
  display: table;
}

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


/* ====================================================
MODULE
==================================================== */
/*パンくずMODULE*/
/*見出しMODULE*/
/*テキストMODULE*/
.txt-center {
  text-align: center;
}

.txt-right {
  text-align: right;
}

.txt-left {
  text-align: left;
}

/*リンクMODULE*/
/*ボタンMODULE*/
.btn {
  width: 100px;
  height: 50px;
  border: 2px solid #FFCCCC;
  text-align: center;
  line-height: 50px;
}

.btnRed {
  color: red;
  background-color: #FFCCCC;
}

.btnBlue {
  color: white;
  border-color: blue;
  background-color: blue;
}

/*リストMODULE*/
/*ボックスMODULE*/
/*グリッドMODULE*/
/*フォームMODULE*/

.content {
  margin-top: 7.2095vw;
}

.inner {
  max-width: 1180px;
  margin: auto;
  width: 100%;
  position: relative;
}

a:hover {
  opacity: 0.6;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

/* margin & padding */
.pt0 {
  padding-top: 0 !important;
}
.pt-40 {
  padding-top: 40px;
}
.pb10 {
  padding-bottom: 10px !important;
}
.pb20 {
  padding-bottom: 20px !important;
}
.pb20 {
  padding-bottom: 20px !important;
}
.mb75 {
  margin-bottom: 20px !important;
}

/*title common*/
.ttl-01 {
  font-size: 5rem;
  font-weight: 600;
  font-family: 'Poppins', sans-serif;
  line-height: 1.2;
  margin-bottom: 25px;
}

.ttl-01 span {
  display: block;
  font-size: 1.6rem;
  position: relative;
}

.ttl-01 span:after {
  content: '';
  position: absolute;
  width: 22vw;
  height: 3px;
  background: #5aacbc;
  top: calc(100% / 2 - 3px);
  margin-left: 0.42409vw;
  font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
}
.ttl-02 {
  font-size: 5.93723vw;
  margin-bottom: 2.54453vw;
  color: #000;
  font-weight: 600;
  font-family: 'Poppins', sans-serif;
  line-height: 1.2;
  text-align: center;
}
.ttl-02 span {
  display: block;
  font-size: 1.52672vw;
  font-weight: normal;
  font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
}
.ttl-03 {
  font-size: 2.03562vw;
  border-left: 0.33927vw solid #1e8ea4;
  padding-left: 0.84818vw;
  margin-bottom: 2.12044vw;
}
.ttl-04 {
  font-size: 4rem;
  margin-bottom: 0.5em;
  font-weight: 600;
  font-family: 'Poppins', sans-serif;
  line-height: 1.2;
}

.ttl-04 span {
  display: block;
  font-size: 1.2rem;
  position: relative;
  font-weight: normal;
  font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
}

.ttl-04 span:after {
  content: '';
  position: absolute;
  width: 7.63359vw;
  height: 0.33927vw;
  background: #1e8ea4;
  top: calc(100% / 2 - 3px);
  margin-left: 0.42409vw;
}

.ttl-04.tt-04-01 {
  color: #ffffff;
}

.ttl-04.tt-04-01 span:after {
  background: #ffffff;
}


.ttl-05 {
  position: relative;
  font-size: 2rem;
  color: #dedede;
  font-weight: 600;
  font-family: 'Poppins', sans-serif;
}

.ttl-05:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 0.33927vw;
  background: #dedede;
  top: calc(100% / 2 - 3px);
  margin-left: 0.42409vw;
}

.ttl-06 {
  font-size: 2.4rem;
  font-weight: bold;
  display: block;
  margin-bottom: 20px;
}

.ttl-06 span {
  display: inline;
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, yellow));
  background: -o-linear-gradient(transparent 70%, yellow 70%);
  background: linear-gradient(transparent 70%, yellow 70%);
}


/*btn common*/
.btnStyle {
  text-align: center;
}

.btnStyle span,
.btnStyle a {
  background: #000000;
  color: #ffffff;
  padding: 15px 10px;
  max-width: 42.40882vw;
  font-size: 1.5rem;
  width: 100%;
  display: inline-block;
  font-weight: 500;
  position: relative;
  border-radius: 50px;
}

.btnStyle.btn-style01 a:after {
  content: '\e905';
  position: absolute;
  font-family: 'intactis';
  font-size: 2.5rem;
  top: 0;
  right: 25px;
  line-height: 57px;
}

.btnStyle span:hover,
.btnStyle a:hover {
  background: #1e8ea4;
  opacity: 1;
}

.btnStyle.btn-style02 span,
.btnStyle.btn-style02 a {
  background: transparent;
  border: 2px solid #ffffff;
  padding: 10px;
  font-size: 2rem;
}


.btnStyle.btn-style03 a:after {
  content: '';
  position: absolute;
  top: 24%;
  left: 3.39271vw;
  right: auto;
}

.btnStyleBase {
  text-align: center;
}

.btnStyleBase a {
  background: transparent;
  color: #ffffff;
  padding: 1.69635vw 1.69635vw 1.69635vw 3.39271vw;
  max-width: 42.40882vw;
  font-size: 1.35708vw;
  border: 2px solid #ffffff;
  border-radius: 4px;
  width: 100%;
  position: relative;
  display: inline-block;
  line-height: 2.4rem;
}
.btnStyleBase a i {
    vertical-align: sub;
    margin-right: 5px;
    font-size: 2.4rem;
}

.btnStyleBase a:after {
  content: '\edbe';
  font-family: 'intactis';
  position: absolute;
  width: 16px;
  height: 24px;
  right: 0;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.btnStyleBase a span {
  position: relative;
  display: inline-block;
}

.border-gray {
  border-bottom: 1px solid #d1d1d1;
}
