@charset "UTF-8";/** * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/) * http://cssreset.com */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-size: 100%;  font: inherit;  vertical-align: baseline;  font-feature-settings: "palt";  letter-spacing: 0.1rem;}/* HTML5 display-role reset for older browsers */article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {  display: block;}body {  line-height: 1;}ol, ul {  list-style: none;}blockquote, q {  quotes: none;}blockquote:before, blockquote:after, q:before, q:after {  content: '';  content: none;}table {  border-collapse: collapse;  border-spacing: 0;}.cf {  *zoom: 1;}.cf:before {  content: " ";  display: table;}.cf:after {  content: " ";  display: table;  clear: both;}.clearfix:after {  content: " ";  display: block;  clear: both;}img, iframe {  vertical-align: bottom;  max-width: 100%;  border-style: none;  text-align: center;}.resImg {  display: none;}.left {  float: left;}strong {  font-weight: bold;}* {  -webkit-box-sizing: border-box;  -moz-box-sizing: border-box;  -o-box-sizing: border-box;  -ms-box-sizing: border-box;  box-sizing: border-box;}p {  line-height: 2;}html {  font-size: 62.5%;}body {  font-family: 'Noto Sans JP', sans-serif;  -webkit-text-size-adjust: 100%;  font-size: 1.6rem;  color: #555;  line-height: 2;  overflow-x: hidden;}.pc {  display: block !important;}.sp {  display: none !important;}span.for_pc {  display: inline !important;}br.for_pc {  display: inline-block !important;}br.for_sp {  display: none !important;}/* Font----------------------------------------- *//*.f_marugo{ font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;}*//* Title----------------------------------------- */h3, h4, h5 {  text-align: center;  /*line-height: 1.3;*/}/* Link----------------------------------------- */a {  outline: 0;  text-decoration: none;  color: #000;  word-break: break-all;}a:active {  -webkit-transition: color 0.2s ease-out;  -moz-transition: color 0.2s ease-out;  -o-transition: color 0.2s ease-out;  -ms-transition: color 0.2s ease-out;  transition: color 0.2s ease-out;  color: #000;}a:active img {  -webkit-transition: opacity 0.2s ease-out;  -moz-transition: opacity 0.2s ease-out;  -o-transition: opacity 0.2s ease-out;  -ms-transition: opacity 0.2s ease-out;  transition: opacity 0.2s ease-out;  opacity: 0.7;  filter: alpha(opacity=70);  -ms-filter: "alpha(opacity=70)";  zoom: 1;  background-image: url(../images/dummy.png);}@media print, screen and (min-width: 769px) {  a:hover {    -webkit-transition: color 0.2s ease-out;    -moz-transition: color 0.2s ease-out;    -o-transition: color 0.2s ease-out;    -ms-transition: color 0.2s ease-out;    transition: color 0.2s ease-out;    color: #555;  }  a:hover img {    -webkit-transition: opacity 0.2s ease-out;    -moz-transition: opacity 0.2s ease-out;    -o-transition: opacity 0.2s ease-out;    -ms-transition: opacity 0.2s ease-out;    transition: opacity 0.2s ease-out;    opacity: 0.7;    filter: alpha(opacity=70);    -ms-filter: "alpha(opacity=70)";    zoom: 1;    background-image: url(../images/dummy.png);  }}@media print, screen and (min-width: 769px) {  .btn:hover {    -webkit-transition: opacity 0.2s ease-out;    -moz-transition: opacity 0.2s ease-out;    -o-transition: opacity 0.2s ease-out;    -ms-transition: opacity 0.2s ease-out;    transition: opacity 0.2s ease-out;    opacity: 0.7;    filter: alpha(opacity=70);    -ms-filter: "alpha(opacity=70)";    color: #fff;    zoom: 1;    background-image: url(../images/dummy.png);  }}.btn:active {  -webkit-transition: opacity 0.2s ease-out;  -moz-transition: opacity 0.2s ease-out;  -o-transition: opacity 0.2s ease-out;  -ms-transition: opacity 0.2s ease-out;  transition: opacity 0.2s ease-out;  opacity: 0.7;  filter: alpha(opacity=70);  -ms-filter: "alpha(opacity=70)";  zoom: 1;  background-image: url(../images/dummy.png);}/* Layout----------------------------------------- */.wrapper {  max-width: 1040px;  margin-right: auto;  margin-left: auto;  padding-right: 20px;  padding-left: 20px;}.inner {  max-width: 1000px;  margin: 0 auto;}main {  overflow: hidden;  text-align: center;}.relative {  position: relative;}.ftbig {  font-size: 55px;  font-size: 5.5rem;}.ftorange {  color: #ed7c34;}.orangeborder {  border-bottom: 5px solid #ed7c34;}.blueborder {  background-color: #00d7dd;}.bg_blue {  background-color: #182ea5;}.bg_blue h3 {  color: #fff;  padding: 50px 0;  font-size: 48px;  font-size: 4.8rem;  font-weight: bolder;}.gray {  background-color: #efefef;}/* Header----------------------------------------- */#header {  width: 100%;  height: auto;  background-image: url(../images/mv_ill.png), url(../images/mv_back.png);  background-position: center top, center top;  background-size: auto 100%, cover;  background-repeat: no-repeat, no-repeat;}#header .nav_wrapper {  position: fixed;  display: flex;  justify-content: space-between;  align-items: center;  width: 1000px;  margin: 0 auto;  height: 66px;  background-color: #fff;  left: 50%;  top: 0;  transform: translateX(-50%) translateY(0%);  z-index: 9999;}#header .logo {  display: -webkit-flex;  display: flex;  justify-content: flex-start;  align-items: center;  flex-wrap: wrap;  width: 175px;  padding: 0 33px 0 24px;  flex: 1;}#header .logo p {  padding-right: 15px;}#header .logo p img {  width: 190px;}#header .logo h1 {  padding-top: 16px;  font-size: 13px;  font-size: 1.3rem;}#header .inner {  display: -webkit-flex;  display: flex;  justify-content: space-between;  align-items: center;  margin-left: 24px;}#header .inner .tel {  flex: 1;  text-align: right;}#header .inner .tel img {  width: 210px;}#header .inner .tel figcaption {  margin-top: 4px;  font-size: 1.2rem;  line-height: 1;}#header .inner .h_contact_btn {  position: relative;  margin-left: 20px;  height: 66px;  line-height: 66px;  text-align: center;  color: #fff;  background: #247ba0;  font-size: 1.8rem;  width: 305px;  letter-spacing: 0.1rem;}#header .inner .h_contact_btn span {  display: inline-block;  margin: 0 auto;  font-size: 2.2rem;  margin-left: 6px;  letter-spacing: 0.1rem;}#sp_contact_nav {  display: none;}/* Footer----------------------------------------- */#page_top {  z-index: 100;  position: fixed;  right: 30px;  bottom: 20px;  display: block;  width: 80px;}@media (max-width: 1180px) {  #page_top {    right: 20px;  }}#page_top.active {  opacity: 1;}#page_top img {  width: 100%;}#footer h1 {  padding-right: 10px;}#footer .copy {  background-color: #efefef;}#footer .copy p {  padding-top: 20px;  padding-bottom: 20px;  text-align: center;  font-size: 15px;  font-size: 1.5rem;  color: #4b4b4b;}.footer_nav {  display: -webkit-flex;  display: flex;  justify-content: space-between;  align-items: center;  height: 100px;}.footer_nav .inner {  display: -webkit-flex;  display: flex;  justify-content: space-between;  align-items: center;  width: 550px;}.footer_nav .inner .tel {  flex: 1;  text-align: right;  color: #4b4b4b;}.footer_nav .inner .tel figcaption {  margin-top: 8px;  font-size: 17px;  font-size: 1.7rem;  line-height: 1;}.footer_nav .inner .f_contact_btn {  position: relative;  flex: 1;  margin-left: 14px;  height: 60px;  line-height: 60px;  text-align: center;  color: #fff;  background: #ed7c34;  box-shadow: rgba(65, 66, 61, 0.45) 2px 2px 0;  border-radius: 60px;  font-size: 23px;  font-size: 2.3rem;}.footer_nav .inner .f_contact_btn span {  display: inline-block;  margin: 0 auto;  padding-right: 22px;  background: url(../images/h_btn_arrow.png) no-repeat right center;}.footer_nav .inner .f_contact_btn:hover {  top: 2px;  left: 2px;  box-shadow: none;}/* Main visual----------------------------------------- */.top_img {  padding-bottom: 5%;}.top_img img {  margin-top: -6%;}/* worries----------------------------------------- */#worries {  background-color: #efefef;  padding-bottom: 30px;}#worries h3 {  padding: 100px 0 50px;  font-size: 40px;  font-size: 4rem;}.worries_box {  display: table;  table-layout: fixed;  width: 60%;  margin: 0 auto 30px;  background-color: #fff;  border-radius: 4px;  box-shadow: 0 1px 10px 0 rgba(32, 33, 36, .28);}.worries_box p {  display: table-cell;  width: 90px;  text-align: center;  vertical-align: middle;  color: #182ea5;  line-height: .8;  font-family: 'Ropa Sans', sans-serif;  padding-left: 20px;}.worries_box p span {  display: block;  width: 70px;  margin-bottom: 8px;  letter-spacing: .05em;  font-size: 26px;  font-size: 2.6rem;}.worries_box p em {  display: block;  width: 70px;  font-size: 80px;  font-size: 8rem;}.worries_box h4 {  display: table-cell;  text-align: left;  vertical-align: middle;  padding: 20px 30px;  font-size: 28px;  font-size: 2.8rem;}/* solution----------------------------------------- */#solution {  background-image: url(../images/solution_bg.jpg);  background-position: top center;  background-repeat: no-repeat;  background-size: cover;  padding: 8% 0;}#solution h3 {  font-size: 40px;  font-size: 4rem;  font-weight: bolder;  color: #182ea5;  text-shadow: 2px 2px 0 #FFF, -2px -2px 0 #FFF, -2px 2px 0 #FFF, 2px -2px 0 #FFF, 0px 2px 0 #FFF, 0 -2px 0 #FFF, -2px 0 0 #FFF, 2px 0 0 #FFF;}/* Recommend----------------------------------------- */#recommend .bg_blue img {  margin-top: -60px;}#recommend {  /*margin-top: 80px;*/}#recommend h3 {  font-size: 40px;  font-size: 4rem;  font-weight: bolder;  /*padding-top: 13.021vw;*/}#recommend .inner {  margin: 50px auto;  padding: 30px;  color: #4b4b4b;  text-align: left;  background-color: #182ea5;  background-image: url("../images/whiteborder.png")}#recommend .inner div {  background-color: #fff;  padding: 50px 0;}#recommend .inner ul {  margin: 50px 12%;}#recommend .inner ul li {  font-size: 38px;  font-size: 3.8rem;  /*font-weight: bolder;*/  line-height: 1.4;  padding-left: 52px;  position: relative;  /*text-decoration:underline;*/  /*border-bottom: solid;  border-color: #4b4b4b;  border-width: 1px;*/}#recommend .inner ul li:before {  content: "";  position: absolute;  top: 7px;  left: 0;  display: block;  width: 50px;  height: 40px;  background: transparent url(../images/checkbox.png) no-repeat center/100% auto;}#recommend .inner ul li + li {  margin-top: 20px;}#recommend .inner ol {  padding: 0 30px;}#recommend .inner ol li {  font-size: 23px;  font-size: 2.3rem;  line-height: 1.4;  padding-left: 25px;  position: relative;}#recommend .inner ol li:before {  content: "※";  position: absolute;  top: 0;  left: 0;  /*display: block;    width: 42px;    height: 32px;*/}/* trust----------------------------------------- */#trust {  background-color: #efefef;}#trust h3 {  padding: 100px 0 50px;  font-size: 40px;  font-size: 4rem;}#trust p {  font-size: 30px;  font-size: 3rem;  padding: 50px 0 100px;}/* Industries----------------------------------------- */#industries {  padding: 60px 0;}#industries h3 {  margin-bottom: 60px;  font-size: 40px;  font-size: 4rem;  /*font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;*/  letter-spacing: .05em;}#industries ul li {  float: left;  width: 12.3%;  margin: 0 0 2.3% 2.3%;}#industries ul li:nth-child(7n+1) {  clear: both;  margin-left: 0;}/* Point----------------------------------------- */#point {  /*margin-bottom: 90px;*/  text-align: left;}#point .inner {  padding: 35px 40px;}.point_lead {  margin-bottom: 50px;  text-align: center;}.point_lead figure {  margin-bottom: 30px;}.point_lead h3 {  display: inline-block;  margin: 0 auto .2em;  line-height: 1.2;  padding: 0 .5em 20px;  background: url(../images/stripe_border.png) repeat-x center bottom;  /*font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;*/  font-size: 40px;  font-size: 4rem;  letter-spacing: .05em;}.point_lead h3 em {  font-family: Avenir, 'Helvetica neue', Helvetica, sans-serif;  font-size: 72px;  font-size: 7.2rem;}.point_lead h3 span {  font-size: 46px;  font-size: 4.6rem;}.point_lead p {  font-size: 28px;  font-size: 2.8rem;  font-family: Avenir, 'Helvetica neue', Helvetica, sans-serif;  color: #666465;  letter-spacing: .45em;}.point_lead p em {  margin-left: 1em;  color: #eb6100;}.point_box + .point_box {  margin-top: 60px;}.point_box header {  display: table;  table-layout: fixed;  width: 100%;  margin-bottom: 30px;}.point_box header p {  display: table-cell;  width: 90px;  text-align: center;  vertical-align: middle;  color: #182ea5;  line-height: .8;  font-family: 'Ropa Sans', sans-serif;}.point_box header p span {  display: block;  width: 70px;  margin-bottom: 8px;  letter-spacing: .05em;  font-size: 26px;  font-size: 2.6rem;}.point_box header p em {  display: block;  width: 70px;  font-size: 80px;  font-size: 8rem;}.point_box header h4 {  display: table-cell;  text-align: left;  vertical-align: middle;  padding: 20px 30px;  font-size: 32px;  font-size: 3.2rem;  /*font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;*/  background: #e4e1e1;}.point_box .point_box_inner {  padding-left: 120px;}.point_box .text {  float: left;  width: calc(100% - 220px);}.point_box figure {  float: right;  width: 27.5%;  padding-top: 20px;  text-align: center;}/* Works----------------------------------------- */#works {  background-color: #efefef;  padding-bottom: 100px;}#works h3 {  padding: 80px 0;  font-size: 40px;  font-size: 4rem;  /*font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;*/  letter-spacing: .05em;}.slider_wrapper {  position: relative;  max-width: 1500px;}.works_box {  float: left;  width: 18.90411%;  height: 100%;  margin-right: 1.36986%;  padding-bottom: 10px;  outline: 0;  color: #572525;  background: #dcdcdc;  text-align: center;  box-shadow: 0 1px 10px 0 rgba(32, 33, 36, .28);}.works_box:last-child {  margin-right: 0;}.works_box header {  margin-bottom: 18px;  position: relative;}.works_box header img {  width: 100%;}.works_box header h4 {  position: absolute;  left: 0;  right: 0;  bottom: 0;  width: 100%;  padding: 8px 10px;  font-size: 25px;  font-size: 2.5rem;  /*font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;*/  background: rgba(255, 255, 255, 0.65);}@media (max-width: 1300px) {  .works_box header h4 {    font-size: 18px;    font-size: 1.8rem;  }}.works_box section h5 {  margin: 0 13px 15px;  font-size: 23px;  font-size: 2.3rem;  color: #572525;  background: linear-gradient(rgba(0, 0, 0, 0) 70%, #fff100 70%);}@media (max-width: 1300px) {  .works_box section h5 {    font-size: 28px;    font-size: 2.8rem;  }}.works_box section .text img {  margin: 0 auto;}.works_box .menu {  font-size: 17px;  font-size: 1.7rem;  /*font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;*/  margin: 15px 20px;}@media (max-width: 1300px) {  .works_box .menu {    font-size: 28px;    font-size: 2.8rem;  }}.works_box .menu dt {  background: #fff;}.works_box .menu p {  display: inline-block;  margin: 8px auto 0;  text-align: left;  line-height: 1.3;}/* contact----------------------------------------- */.yellowborder {  background: linear-gradient(transparent 50%, #ffff66 0%);}.contact {  text-align: center;  /*padding: 50px 0;*/  color: #4b4b4b;}.contact h3 {  max-width: 750px;  margin: 0 auto 70px;  text-align: center;  font-size: 45px;  font-size: 4.5rem;  color: #fff;  background: #ed7c34;  background: linear-gradient(45deg, #ed7c34 0%, #f4bc5b 100%);  border-radius: 4px;  padding: 30px;}.contact h3 span {  display: inline-block;}.contact .c_btn {  width: 45%;  height: 100px;  border-radius: 4px;}.syasen {  font-size: 35px;  font-size: 3.5rem;  font-weight: 1000;  margin: 0 10px;}.contact .contact_wrapper {  background-image: url(../images/contact_bg.jpg);  background-position: center;  background-repeat: no-repeat;  background-size: cover;}.contact {  text-align: center;}.contact .contact_tytle {  display: inline-block;  margin: 0 auto 15px;  padding: 0 25px;  font-size: 35px;  font-size: 3.5rem;  color: #eb6100;  /*font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO", sans-serif;*/}.contact .contact_wrapper div {  display: -webkit-flex;  display: flex;  flex-wrap: wrap;  justify-content: space-between;  padding: 30px 0 60px;  max-width: 1000px;  margin-right: auto;  margin-left: auto;}.contact .tel {  padding: 20px 10px 0;  background: #fff;  border: 1px solid rgba(65, 66, 61, 0.45);}.contact .contact_wrapper > p {  font-size: 3rem;  font-weight: 500;  padding: 50px 0 0;  letter-spacing: 0.3rem;}.contact .tel figcaption {  font-size: 1.6rem;}.contact_btn {  font-size: 3rem;  color: #fff;  background-color: #247ba0;  width: 45%;  height: 10rem;  display: flex;  justify-content: center;  align-items: center;  border-radius: 4px;  letter-spacing: 0.3rem;}.tel_btn {  display: flex;  justify-content: center;  align-items: center;  font-size: 1.6rem;  color: #4b4b4b;  background-color: #fff;  border-radius: 4px;  width: 45%;  padding-top: 1rem;}.contact_tytle02 {  text-align: left;  max-width: 1000px;  margin: 0 auto;  font-size: 35px;  font-size: 3.5rem;  color: #eb6100;}.contact .contact_wrapper div.relative p {  position: absolute;  right: 0;  bottom: 0;}.contact_tytle02 {  text-align: left;  max-width: 1000px;  margin: 0 auto;  font-size: 35px;  font-size: 3.5rem;  color: #eb6100;}.contact2 .contact_wrapper div.relative p {  position: absolute;  right: 0;  bottom: 0;}/* Form----------------------------------------- */#form {  padding: 0 0 90px;  background-color: #efefef;}#form h3 {  padding: 100px 0 40px;  font-size: 48px;  font-size: 4.8rem;  font-weight: 500;}.form_wrapper {  padding: 0 45px;}.form_wrapper .comp_message {  margin-bottom: 20px;  text-align: center;}.form_table {  width: 100%;}.form_table th, .form_table td {  text-align: left;  border-bottom: #959595 1px solid;}.form_table tr:last-child th, .form_table tr:last-child td {  border: none;}.form_table th {  padding: 60px 10px;  width: 290px;  vertical-align: top;  font-size: 23px;  font-size: 2.3rem;  letter-spacing: .1em;}.form_table th span {  display: inline-block;  width: 74px;  margin-left: 1em;  text-align: center;  line-height: 32px;  font-size: 18px;  font-size: 1.8rem;  color: #fff;  background: #f25f5c;  border-radius: 4px;}.form_table td {  vertical-align: middle;  padding: 40px 10px;}.form_table .checkbox_list {  margin-bottom: 30px;}.form_table .checkbox_list li + li {  margin-top: 8px;}.form_table .error {  color: #e60012;}.form_table p.error {  margin-bottom: 10px;}.form_table input[type="text"], .form_table input[type="number"], .form_table input[type="email"], .form_table input[type="tel"] {  -webkit-appearance: none;  width: 100%;  height: 70px;  line-height: 70px;  font-size: 20px;  font-size: 2rem;  font-weight: bold;  padding: 0 .8em;  border: none;  border-radius: 4px;}.form_table textarea {  -webkit-appearance: none;  width: 100%;  height: 250px;  font-size: 20px;  font-size: 2rem;  font-weight: bold;  padding: .8em;  border: none;  border-radius: 4px;}.form_table input[type="checkbox"] {  display: none;}.form_table input[type="checkbox"] + label {  display: block;  padding: 3px 0;  position: relative;  padding-left: 1.8em;}.form_table input[type="checkbox"] + label:before {  position: absolute;  left: 0;  top: 50%;  width: 25px;  height: 25px;  margin-top: -12px;  border-radius: 4px;  background: #fff;  content: '';}.form_table input[type="checkbox"]:checked + label:after {  position: absolute;  left: -3px;  top: 5px;  background: red;  width: 30.4px;  height: 24.8px;  background: url(../images/form_check.svg) no-repeat center;  background-size: 100%;  content: '';}.form_btns {  text-align: center;}.form_btns li + li {  margin-top: 20px;}.form_btns button {  -webkit-appearance: none;  border: none;  width: 100%;  max-width: 425px;  padding: 20px;  font-size: 29px;  font-size: 2.9rem;  font-weight: 500;  border-radius: 4px;}.form_btns .primary_btn {  color: #fff;  background: #247ba0;}.form_btns .sub_btn {  background: #fff;}.form_btns .sub_btn:hover {  color: #000;}/* Outline----------------------------------------- */#outline {  padding: 120px 0 100px;  text-align: left;}#outline h3 {  margin-bottom: 40px;  font-weight: 500;  font-size: 3rem;  letter-spacing: .15em;}#outline dt {  margin-bottom: 15px;  padding: 0 0 7px 3px;  position: relative;  color: #247ba0;  font-size: 24px;  font-size: 2.4rem;  border-bottom: 3px solid #CCC;}#outline dt:before {  position: absolute;  left: 0;  bottom: -3px;  height: 3px;  width: 27px;  background-color: #247ba0;  content: '';}#outline dd {  margin-bottom: 30px;}@media screen and (max-width: 1000px) {  html {    font-size: 1vw;  }}@media screen and (max-width: 768px) {  .pc {    display: none !important;  }  .sp {    display: block !important;  }  html {    font-size: 1.3vw;  }  body {    font-size: 1.4rem;  }  /* Layout  ----------------------------------------- */  .wrapper {    padding-right: 15px;    padding-left: 15px;  }  /* Header  ----------------------------------------- */  #header {    height: 60px;  }  #header .wrapper {    display: block;    height: 60px;  }  #header .logo {    display: block;    padding: 0 0 0 4vw;  }  #header .logo img {    width: 30vw;  }  /* Footer  ----------------------------------------- */  #page_top {    right: 20px;    bottom: 14px;    width: 70px;  }  #footer h1 {    padding: 0;    text-align: center;  }  #footer h1 img {    width: 140px;  }  #footer .contact {    padding-top: 15px;    padding-bottom: 0;  }  #footer .copy {    background-size: cover;  }  #footer .copy p {    padding-top: 20px;    padding-bottom: 20px;    font-size: 12px;    font-size: 1.2rem;  }  .footer_nav {    display: block;    height: auto;  }  .footer_nav .inner {    display: none;  }  .bg_blue h3 {    padding: 30px 4%;  }  /* Main visual  ----------------------------------------- */  #main_visual .inner {    margin: 0 auto;    padding: 0 30px;  }  .top_img {    padding: 5% 15%;  }  .top_img img {    margin-top: -23%;  }  /* worries----------------------------------------- */  #worries h3 {    /*margin: 50px auto;*/    padding: 50px 0 30px;    font-size: 34px;    font-size: 3.4rem;  }  .worries_box {    width: 90%;    margin: 0 auto 20px;  }  .worries_box p {    padding-left: 0;    width: 70px;  }  .worries_box p span {    margin-bottom: 5px;    font-size: 28px;    font-size: 2.8rem;  }  .worries_box p em {    font-size: 80px;    font-size: 8rem;  }  .worries_box h4 {    padding: 10px;    font-size: 28px;    font-size: 2.8rem;  }  /* solution----------------------------------------- */  #solution {    padding: 14% 0;  }  /* contact----------------------------------------- */  .syasen {    margin: 0 1.302vw;  }  .contact .contact_wrapper div {    padding: 4.5vw 0;  }  .contact .contact_wrapper div a {    width: 80%;    height: 14rem;    margin: 0 auto;    display: flex;    justify-content: center;    align-content: center;  }  .contact .contact_wrapper div a.tel_btn {    margin-bottom: 2rem;  }  .contact .contact_wrapper div a.tel_btn img {    width: 80%;  }  .contact .contact_wrapper div a figcaption {    font-size: 2rem;  }  .contact_btn {    display: block;    margin-bottom: 20px !important;    font-size: 4rem;    color: #fff;    line-height: 1.6;  }  .contact_btn span {    display: inline-block;    margin: 0 auto;    padding: 4vw 2.933333vw 4vw 3.999999vw;    background-size: 1.599999vw 3.199999vw;  }  .contact_btn:hover {    top: 3px;    left: 3px;    color: #fff;  }  .contact .contact_wrapper {    background-size: 200%;  }  .contact .contact_wrapper div.relative {    width: 100%;  }  .contact div.relative .c_btn {    width: 43.62vw;    height: auto;    border-radius: 4px;    margin-left: 3%;  }  .contact .contact_wrapper > p {    font-size: 4rem;    padding: 30px 10% 0;  }  .contact .contact_wrapper div.relative p img {    width: 50vw;    height: auto;  }  .contact_tytle02 {    font-size: 25px;    font-size: 2.5rem;  }  /* contact2----------------------------------------- */  .syasen {    margin: 0 1.302vw;  }  /* Recommend----------------------------------------- */  #recommend .bg_blue img {    margin-top: -8%;    padding: 0 1%;  }  #recommend {    /*margin-top:10.417vw;*/    margin-top: 0;  }  #recommend .inner {    margin: 50px auto;    padding: 10px;  }  #recommend .inner div {    padding: 20px 0;  }  #recommend .inner ul {    margin: 6.51vw 4vw;    /*padding: 6.51vw;*/  }  #recommend .inner ul li {    line-height: 1.4;    padding-left: 5.859vw;    position: relative;  }  #recommend .inner ul li:before {    content: "";    position: absolute;    top: 0.911vw;    left: 0;    display: block;    width: 5.469vw;    height: 4.167vw;    background: transparent url(../images/checkbox.png) no-repeat center/100% auto;  }  #recommend .inner ul li + li {    margin-top: 2.604vw;  }  #recommend .inner ol li {    padding-left: 3.255vw;  }  /* trust----------------------------------------- */  #trust h3 {    padding: 50px 0 25px;  }  #trust p {    padding: 25px 0 50px;  }  /* Industries  ----------------------------------------- */  #industries {    padding: 40px 0;  }  #industries h3 {    margin-bottom: 40px;  }  #industries ul {    margin: 0 5%;    max-width: 416px;  }  #industries ul li {    float: left;    width: 29.56731%;    max-width: 123px;    margin: 0 0 5.64904% 5.64904%;    text-align: center;  }  #industries ul li:nth-child(7n+1) {    clear: none;    margin-left: 5.64904%;  }  #industries ul li:nth-child(3n+1) {    clear: both;    margin-left: 0;  }  /* Point  ----------------------------------------- */  #point_wrapper {    padding: 15px 0;    background-size: 14px;  }  #point {    margin-bottom: 30px;  }  #point .inner {    padding: 20px 0;  }  .point_box + .point_box {    margin-top: 50px;  }  .point_box header {    margin-bottom: 30px;  }  .point_box header p {    display: table-cell;    width: 60px;  }  .point_box header p span {    width: 50px;    margin-bottom: 2px;    font-size: 40px;    font-size: 4rem;  }  .point_box header p em {    width: 50px;    font-size: 100px;    font-size: 10rem;  }  .point_box header h4 {    padding: 10px 12px;    font-size: 34px;    font-size: 3.4rem;  }  .point_box .point_box_inner {    padding-left: 0;  }  .point_box .text {    float: none;    width: auto;  }  .point_box .text p {    font-size: 30px;    font-size: 3rem;  }  .point_box figure {    float: none;    width: auto;    padding-top: 15px;  }  /* Works  ----------------------------------------- */  #works h3 {    padding: 40px 0;    margin-bottom: 40px;    font-size: 50px;    font-size: 5rem;  }  .slider_wrapper {    padding: 0 37.5px;  }  .slick-arrow {    z-index: 199;    position: absolute;    top: 50%;    -webkit-appearance: none;    border: none;    width: 30px;    height: 30px;    margin-top: -15px;    border-radius: 5px;    text-indent: -9999px;    background: rgba(255, 255, 255, 0.8);    outline: 0;    background-repeat: no-repeat;    background-size: 7px auto;    background-position: center;  }  .slick-next {    right: -30px;    background-image: url(../images/slider_arrow_r.svg);  }  .slick-prev {    left: -30px;    background-image: url(../images/slider_arrow_l.svg);  }  .works_box {    width: auto;    margin: 0 7.5px !important;    box-shadow: none;  }  .works_box header {    margin-bottom: 12px;  }  .works_box header h4 {    padding: 8px 10px;    font-size: 28px;    font-size: 2.8rem;  }  .works_box section h5 {    margin: 0 10px 15px;  }  .works_box .menu {    margin: 15px 10px;  }}@media screen and (max-width: 768px) {  /* Form  ----------------------------------------- */  #form {    padding: 40px 0;    font-size: 14px;  }  #form h3 {    padding: 0 0 10.667vw;  }  .form_wrapper {    padding: 15px;  }  .form_wrapper .comp_message {    margin-bottom: 20px;    text-align: center;  }  .form_table {    display: block;  }  .form_table tbody, .form_table tr, .form_table th, .form_table td {    display: block;  }  .form_table tr:last-child th {    border-bottom: #959595 1px solid;  }  .form_table th {    padding: 10px 0;    width: 100%;    font-size: 18px;    /*font-size: 1.8rem;*/  }  .form_table th span {    width: 55px;    margin-left: .8em;    line-height: 24px;    font-size: 26px;    font-size: 2.6rem;  }  .form_table td {    padding: 15px 0;    border-bottom: none;  }  .form_table .checkbox_list {    margin-bottom: 20px;  }  .form_table p.error {    margin-bottom: 7px;  }  .form_table input[type="text"], .form_table input[type="number"], .form_table input[type="email"], .form_table input[type="tel"] {    height: 45px;    line-height: 45px;    font-size: 30px;    font-size: 3rem;    border-radius: 4px;  }  .form_table textarea {    height: 150px;    font-size: 30px;    font-size: 3rem;    border-radius: 4px;  }  .form_table input[type="checkbox"] + label {    padding-left: 32px;  }  .form_btns li + li {    margin-top: 15px;  }  .form_btns button {    padding: 15px;    font-size: 30px;    font-size: 3rem;    border-radius: 4px;  }  /* Outline  ----------------------------------------- */  #outline {    padding: 40px 0;    font-size: 14px;  }  #outline h3 {    margin-bottom: 20px;  }  #outline dt {    margin-bottom: 10px;    padding: 0 0 7px 3px;    font-size: 20px;    font-size: 2rem;  }  #outline dd {    margin-bottom: 20px;  }}.flex {  display: flex;  justify-content: space-around;}@media(max-width: 768px) {  .flex {    flex-wrap: wrap;  }}.lead p {  max-width: 450px;}.wrap {  position: relative;  width: 100%;  margin: 0 auto;  text-align: center;  overflow: hidden;}.contact_form .contact_h {  font-size: 3.6rem;}.footer {  -webkit-background-size: 4px 4px;  background-size: 4px 4px;  width: 100%;  padding: 1% 0;  text-align: center;  font-size: 1.6rem;  color: #000;}.footer p {  font-weight: normal;}.footer a {  color: #000;}.footer a:hover {  color: rgba(255, 255, 255, 0.5);}.copy {  display: block;  /* background-color: #6a3906; */  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%, transparent);  -webkit-background-size: 4px 4px;  background-size: 4px 4px;  color: #000;  text-align: center;  width: 100%;  font-size: 1.4rem;  padding: 0.5% 0;}.sp {  display: none;}.pc {  display: inline-block;}.inner2 {  display: flex;  flex: 1;  position: relative;  justify-content: center;  align-items: center;}.inner2 p {  font-size: 1.5rem;  line-height: 1.4;}.inner2 img {  width: 51px;  margin-top: 8px;}#main_visual h2 img {  max-width: 1180px;  width: 90%;  display: block;  margin: 0 auto;  padding: 12rem 0 18rem;  ;}#feature {  max-width: 950px;  width: 90%;  margin: -14rem auto 0;}#feature ul {  display: flex;  justify-content: space-between;}#feature ul li img {  display: block;  max-width: 300px;  width: 28vw;}.bannner {    display: block;    margin: -20rem auto 0;    width:100%;    background-color: #f6f6f6;    padding: 26rem 0 0;}.bannner img {    display: block;    max-width: 1000px;    margin: 0 auto;}#content01 {  background-color: #f6f6f6;      padding-top: 22rem;    margin-top: -16rem;}#content01 {  width: 100%;}#content01 .img {  display: block;  max-width: 1000px;  width: 90%;  margin: 0 auto;  padding: 2rem 0 10rem;}#content01 .img img{  width: 100%;}#contact_button {  background-color: #ffe066;}#contact_button img {  display: block;  max-width: 1000px;  width: 90%;  margin: 0 auto;  padding: 5.8rem 0;}#free {  background-color: #f25f5c;}#free img {  display: block;  max-width: 1000px;  width: 90%;  margin: 0 auto;  padding: 5.8rem 0 0;}#content02 img {  display: block;  max-width: 1000px;  width: 90%;  margin: 10rem auto;}#content03 {  background-color: #247ba0;  padding: 7.5rem 0;  position: relative;}#content03::after {  content: "";  display: inline-block;  width: 268px;  height: 63px;  background: url(../images/arrow.png) no-repeat;  background-size: contain;  position: absolute;  bottom: -63px;  left: 50%;  transform: translate(-50%, 0)}#content03 img {  display: block;  max-width: 1000px;  width: 90%;  margin: 0 auto;}#content04 {  padding: 10rem 0;}#content04 img {  display: block;  max-width: 311px;  width: 100%;  margin: 2rem auto 0;}#content04 p {  font-size: 5.4rem;  font-weight: 500;  text-align: center;  line-height: 1.5;  letter-spacing: 0.6rem;}#content04 p span.red {  font-size: 6rem;  font-weight: 500;  color: #f25f5c;  letter-spacing: 0.6rem;}#content05 {  background-color: #ffcb42;  padding: 10rem 0;}#content05 img {  display: block;  max-width: 1000px;  width: 90%;  margin: 0 auto;}#content06 {  background-color: #f6f6f6;  padding: 10rem 0;}#content06 img {  display: block;  max-width: 1000px;  width: 90%;  margin: 0 auto;}#content07 {  background-color: #f6f6f6;  padding: 10rem 0;}#content07 img {  display: block;  max-width: 1000px;  width: 90%;  margin: 0 auto;}#content01repeat {  background-color: #f25f5c;  padding: 10rem 0;}#content01repeat img {  display: block;  max-width: 1000px;  margin: 0 auto;}#achievements {  background-color: #247ba0;  padding: 10rem 0;}#achievements h3 {  font-size: 5rem;  color: #fff;  font-weight: 400;  margin-bottom: 3rem;  line-height: 5rem;}.slider {  display: flex;  width: 1000px;  margin: 0 auto;}.slider img {  width: 94%;  height: auto;  object-fit: cover;  margin: 0 auto;}.fluffy {    position: relative;  max-width: 1000px;  margin: 0 auto;  animation: fluffy 3s infinite;}@keyframes fluffy {  0%, 100% {    transform: translateY(0);  }  50% {    transform: translateY(-20px);  }}.month {    position: absolute;    left: 20rem;    bottom: 3.4rem;    font-size: 6.7rem;    text-align: right;    letter-spacing: -0.04em;}.month span{    font-size: 8rem;}        @media screen and (max-width: 768px) {  #header {    width: 100%;    height: 204vw;    background-image: url(../images/mv_ill_sp.png);    background-position: center 33vw;    background-size: 100%;    background-repeat: no-repeat;    background-color: #f25f5c;  }  #header .nav_wrapper {    width: 100%;    height: 16vw;  }  #header .inner {    margin-left: 0px;  }  #header .inner .h_contact_btn {    margin-left: 0px;    background: #247ba0;    font-size: 2.8rem;    line-height: 2.8rem;    width: auto;    height: 16vw;    padding: 5.8vw 16px;  }  #header .inner .tel {    background-color: #f25f5c;    padding: 2vw;    height: 16vw;  }  #header .inner .tel p {    margin-bottom: 0;    font-size: 6rem;    color: #fff;    text-align: center;    line-height: 6rem;  }  #header .inner .tel figcaption {    font-size: 2rem;    color: #fff;  }  .inner2 {    display: none;  }  #feature ul {    display: none;  }  #main_visual h2 img {    width: 86%;    padding: 20rem 0 0;  }  #feature {    width: 86%;    margin: -34rem auto 0;  }            .bannner img {    max-width:86vw;        }          #content01 {    margin-top: -17rem;      padding-top: 28rem;  }        .fluffy {        width:90%;    }              #contact_button img {    width: 86%;  }  #free img {    width: 86%;  }  #content02 img {    width: 86%;  }  #content03 img {    width: 86%;  }  #content03::after {    width: 89px;    height: 21px;    bottom: -21px;  }  #content04 img {    width: 50%;  }  #content04 p {    font-size: 4.5rem;  }  #content04 p span.red {    font-size: 5rem;  }  #content05 img {    width: 86%;  }  #content06 img {    width: 86%;  }  #content07 img {    width: 86%;  }  #content01repeat img {    width: 86%;  }        #content01repeat .fluffy {    width: 86%;  }        #content01repeat .fluffy img {    width: 100%;  }  .slider {    width: 96%;  }  .slider img {    width: 94%;  }        .month {    left: 17vw;    bottom: 3vw;    font-size: 5vw;}.month span{    font-size: 8vw;}    }