/**
 -----Object/Project Style-----
 01.reset
 02.common
 03.layout
 04.module
 05.hack
 06.responsive
 ------------------------------
**/


/*** reset ***/
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote {margin:0;padding:0;}
h1, h2, h3, h4, h5, h6 {font-weight:normal;font-size:100%;line-height:1;}
fieldset, img {border:0;}
address, caption, cite, code, dfn, em, strong, th, var {font-style:normal;font-weight:normal;}
ol, ul {list-style:none;}
table {margin:0;}
abbr, acronym {border:none;}
a {outline-width:0;}
input, textarea {font-size:120%;}
select {
  -moz-appearance:none;
  -webkit-appearance:none;
  appearance:none;
  border-radius:0;
  border:0;
  margin:0;
  padding:0;
  background:none transparent;
  vertical-align:middle;
  font-size:inherit;
  color:inherit;
  box-sizing:content-box;
}
form {
  overflow:hidden;
}

/*** common ***/
html {
  -webkit-text-size-adjust:none;
  font-size:62.5%;
}
body {
  font-family:"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Yu Gothic Medium", "メイリオ", "Meiryo", sans-serif;
  line-height:2;
  color:#000;
  font-size:1.4em;
  font-weight:bold;
  letter-spacing:.04em;
  -webkit-font-feature-settings:"palt";
  font-variant-ligatures:no-common-ligatures;
  -webkit-font-smoothing:subpixel-antialiased;
  -moz-osx-font-smoothing:unset;
  font-feature-settings:"palt";
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  -webkit-border-radius:0;
  -webkit-appearance:none;
  -webkit-tap-highlight-color:rgba(0, 0, 0, 0);
}
img {
  max-width:100%;
  height:auto;
  vertical-align:top;
}
a {
  color:#000;
  text-decoration:none;
  -webkit-transition:all .5s ease;
  transition:all .5s ease;
}
th {
  vertical-align:top;
}
* {
  box-sizing:border-box;
}
.pagetop {
  position:fixed;
  right:0;
  bottom:0;
  width:60px;
  height:60px;
  margin:0;
  z-index:10;
}
.pagetop a {
  
}
.pagetop a img {
  
}


/*** layout ***/
.l-flex {
  display:-webkit-box;
  display:flex;
  padding:0 15px;
}
.l-flex-wrap {
  display:-webkit-box;
  display:flex;
  flex-wrap:wrap;
}
.l-header .l-wrap {
  max-width:1100px;
  padding:0 40px;
}
.l-main-visual {
  background-image:url("../img/main_img@2x.jpg");
  background-repeat:no-repeat no-repeat;
  background-position:initial;
  background-size:cover;
  padding:25px 0;
  position:relative;
}
.l-main-visual .l-flex {
  -webkit-box-pack:justify;
  justify-content:space-between;
  max-width:1020px;
  margin:0 auto;
}
.l-main-visual .l-bottom {
  margin:40px auto 0 auto;
  background:rgba(197, 18, 46, 0.9);
  padding:40px 0px 40px 90px;
  max-width:initial;
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
}
.l-main-visual .l-bottom .l-plan {
  background:rgba(197, 18, 46, 0.9);
  padding:30px;
  max-width:454px;
  margin:0 0 0 -520px;
  position:relative;
  left:50%;
}
.l-section {
  padding:100px 0 40px 0;
}
#section-1.l-section {
  padding-top:0;
}
.l-wrap {
  max-width:1020px;
  /*width:94%;*/
  margin:0 auto;
  overflow:hidden;
}
.l-inner {
  max-width:990px;
  margin:0 auto;
}
.l-header {
  padding:20px 0;
}
.l-header .l-wrap {
  -webkit-box-pack:justify;
  justify-content:space-between;
}
.l-section-1-inner {
  padding:150px 0 100px 8%;
  position:relative;
}
.l-section-1-inner:before {
  content:'';
  width:433px;
  height:253px;
  background:url(../img/illust_1@2x.png) no-repeat;
  background-size:cover;
  display:block;
  position:absolute;
  right:0;
  top:60px;
}
.l-flex.graph-block {
  margin:0 -5px;
}
.l-service-block {
  background:#FFF7F8;
  padding:100px 0 50px 0;
  position:relative;
}
.l-service-block:after {
  content:'';
  border:160px solid transparent;
  border-top:80px solid #FFF7F8;
  position:absolute;
  bottom:-240px;
  left:50%;
  -webkit-transform:translateX(-50%);
  transform:translateX(-50%);
}
.l-service-block .l-service:first-child {
  margin-top:0;
}
.l-service {
  background:#fff;
  margin-top:70px;
  position:relative;
}
.l-service .l-wrap {
  /*margin-bottom:60px;*/
}
.service-l:before {
  /*content:'';
  width:50%;
  height:72px;
  background:#C5182D;
  position:absolute;
  right:0;
  top:0;*/
}
#service-1 .l-flex {
  -webkit-box-align:center;
  align-items:center;
  padding:0 30px 30px 30px;
}
#service-2 .l-flex {
  -webkit-box-pack:justify;
  justify-content:space-between;
  padding:0 30px;
}
.l-section-2-inner,
.l-section-3-inner {
  margin:136px 8% 80px;
}
.merit .l-flex-wrap {
  margin:0 -20px;
  position:relative;
  margin-bottom:80px;
}
#section-4 .l-flex {
  margin:80px 0 40px;
}
.l-footer {
  background:#C5182D;
  padding-top:60px;
}
.l-footer .l-wrap {
  padding-bottom:60px;
}
.l-footer .l-flex {
  max-width:800px;
  -webkit-box-pack:justify;
  justify-content:space-between;
  -webkit-box-align:center;
  align-items:center;
  margin:0 auto;
}
.l-footer .text p {
  font-weight:normal;
}

/*** module ***/
.alpha {
  zoom:1;
  display:inline-block\9;
  /* ie8 */
}
.alpha:hover {
  opacity:.5;
  filter:alpha(opacity=70);
}
.logo {
  max-width:92px;
}
.gnav {
  padding:0;
  background-color:#FFFFFF;
  z-index:999;
}
.l-header.fixd {
  position:fixed;
  right:0;
  top:0;
  left:0;
  z-index:99;
  padding:10px;
  background-color:#ffffff;
}
.gnav .gnav-list li {
  display:inline-block;
  margin-left:30px;
}
.gnav .gnav-list li:nth-child(5) a {
  padding:5px 25px;
  border:2px solid #C5182D;
  background:#C5182D;
  border-radius:30px;
  color:#fff;
}
.gnav .gnav-list li:nth-child(5) a:hover {
  background:#fff;
  border:2px solid #C5182D;
  color:#C5182D;
}
.gnav .gnav-list li:last-child a {
  padding:5px 25px;
  border:2px solid #C5182D;
  background:#C5182D;
  border-radius:30px;
  color:#fff;
}
.gnav .gnav-list li:last-child a:hover {
  background:#fff;
  border:2px solid #C5182D;
  color:#C5182D;
}
.gnav .gnav-list li a {
  display:block;
  font-size:13px;
  font-weight:bold;
  padding:5px 0;
  border-bottom:4px solid transparent;
}
.gnav .gnav-list li a:hover {
  color:#C5182D;
  border-bottom:4px solid #C5182D;
}
.main-visual .text {
  padding:0 0 0 0;
}
.main-visual .text .title {
  font-weight:bold;
  -webkit-box-flex:0;
  flex:0 0 60%;
  font-size:34px;
  line-height:1.4;
  padding:60px 20px 60px 20px;
  font-family:"Noto Sans JP",sans-serif;
  color:#ffffff;
}
.main-visual .text .title b {
  background-color:#C5182D;
}
.main-visual .form {
  -webkit-box-flex:0;
  flex:0 0 50%;
  padding:30px 0 0 0;
  position:relative;
  z-index:10;
}
.main-visual .form .box {
  background:#fff;
  border-radius:20px;
  padding:25px;
  position:relative;
  padding-bottom:10px;
}
.main-visual .form .box:before {
  content:'';
  width:100px;
  height:109px;
  background:url(../img/ribbon@2x.png);
  background-size:cover;
  position:absolute;
  left:0;
  top:5px;
  -webkit-transform:translate(-50%, -50%);
  transform:translate(-50%, -50%);
}
.main-visual .form .title {
  font-size:20px;
  text-align:center;
  color:#C5182D;
  margin-bottom:5px;
}
.main-visual .form .title + p {
  line-height:1.6;
}
.main-visual .form .title + p strong {
  color:#C5182D;
}
.main-visual .form > p {
  color:#fff;
  font-size:11px;
  line-height:1.6;
  text-align:center;
  margin-top:1em;
}
.main-visual .form > p a {
  color:#fff;
  text-decoration:underline;
}
.main-visual .form > p a:hover {
  text-decoration:none;
}
.gakutoku {
  position:relative;
  padding:100px 0;
}
.gakutoku .section-title img {
  width:108px;
  display:block;
}
.section-title {
  font-size:32px;
  line-height:1;
  margin-bottom:40px;
}
.section-title + p {
  position:relative;
}
p.section-catch {
  font-weight:normal;
  line-height:2;
  font-size:16px;
}
.bg-block {
  position:relative;
}
.bg-block:before {
  content:'';
  width:52.142%;
  height:100%;
  background:#FFF7F8;
  position:absolute;
  right:0;
  top:0;
}
.row-title {
  font-size:28px;
  color:#C5182D;
  padding-bottom:20px;
  position:relative;
  margin-bottom:40px;
}
.row-title:after {
  content:'';
  width:54px;
  height:5px;
  background:#C5182D;
  position:absolute;
  left:0;
  bottom:0;
}
.graph-block .item {
  padding:0 5px;
  -webkit-box-flex:0;
  flex:0 0 33.3%;
}
.graph-block .item .inner {
  border:2px solid #C5182D;
  border-radius:5px;
  background:#fff;
  overflow:hidden;
  height:100%;
}
.graph-block .item h4 {
  background:#C5182D;
  text-align:center;
  color:#fff;
  padding:15px;
  font-size:20px;
}
.graph-block .item .text {
  text-align:center;
  background:#fff;
  padding:20px 12px;
}
.graph-block .item .text p:first-child {
  margin-bottom:20px;
}
.graph-block .item .text p {
  font-weight:normal;
}
.graph-block .item .text .att {
  font-size:10px;
  color:#575757;
  text-align:left;
  margin-top:20px;
  text-indent:-2.7em;
  padding-left:2.5em;
  line-height:1.6;
}
.graph-block .item-1-text {
  font-size:10px;
  text-align:right;
  color:#575757;
  margin-top:15px;
}
.graph-block .item-1 img {
  max-width:270px;
  margin:10px auto;
}
.graph-block .item-2 img {
  max-width:233px;
  margin:0 auto;
}
.graph-block .item-3 img {
  max-width:300px;
  margin:10px auto 16px;
}
.center {
  text-align:center;
  margin-top:40px;
  font-size:19px;
  font-weight:normal;
}
.row-title-2 {
  font-size:67px;
  color:#C5182D;
  letter-spacing:0;
  text-align:center;
  position:relative;
  margin:60px 0 30px;
}
.row-title-2:before {
  content:'';
  width:20%;
  height:30px;
  border-top:2px solid #C5182D;
  border-left:2px solid #C5182D;
  border-radius:10px 0 0;
  position:absolute;
  left:0;
  top:50%;
}
.row-title-2:after {
  content:'';
  width:20%;
  height:30px;
  border-top:2px solid #C5182D;
  border-right:2px solid #C5182D;
  border-radius:0 10px 0 0;
  position:absolute;
  right:0;
  top:50%;
}
.images-block {
  margin:0 -25px;
}
.images-block .item {
  padding:0 25px;
  text-align:center;
  position:relative;
}
.images-block .item p {
  font-size:13px;
  line-height:1.6;
  margin-top:2em;
}
.images-block .item p strong {
  font-size:20px;
  color:#C5182D;
}
.images-block .item-1:before,
.images-block .item-2:before {
  content:'';
  width:50px;
  height:2px;
  background:#C5182D;
  position:absolute;
  top:34%;
  right:-25px;
}
.images-block .item-1:after,
.images-block .item-2:after {
  content:'';
  width:10px;
  height:10px;
  border:2px solid #C5182D;
  background:#fff;
  border-radius:10px;
  position:absolute;
  top:34%;
  right:-6px;
  margin-top:-6px;
}
.special-text {
  background:#C5182D;
  border-radius:5px;
  padding:15px 15px 20px 15px;
  text-align:center;
  color:#fff;
  position:relative;
}
.special-text:before {
  content:'”';
  font-size:102px;
  color:#960521;
  line-height:1;
  position:absolute;
  left:40px;
  top:40px;
}
.special-text:after {
  content:'”';
  font-size:102px;
  color:#960521;
  line-height:1;
  position:absolute;
  right:40px;
  bottom:40px;
  -webkit-transform:rotate(180deg);
  transform:rotate(180deg);
}
.special-text .text-1 {
  max-width:436px;
  margin:0 auto 15px auto;
  font-size:18px;
  position:relative;
  padding-bottom:10px;
  line-height:1.2;
}
.special-text .text-1:before {
  content:'';
  width:100%;
  height:20px;
  border:2px solid #fff;
  border-top:none;
  position:absolute;
  left:0;
  bottom:0;
}
.special-text .text-1:after {
  content:'';
  width:20px;
  height:20px;
  background:#C5182D;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  position:absolute;
  bottom:-10px;
  left:50%;
  -webkit-transform:translateX(-50%) rotate(-45deg);
  transform:translateX(-50%) rotate(-45deg);
}
.special-text .text-2 {
  font-size:30px;
  line-height:1.4;
}
.special-text + .title-wrap {
  -webkit-box-pack:justify;
  justify-content:space-between;
  -webkit-box-align:end;
  align-items:flex-end;
  padding:80px 0 30px 8%;
}
.special-text + .title-wrap .text {
  padding-bottom:40px;
}
.special-text + .title-wrap .img {
  padding-right:8%;
}
.special-text + .title-wrap .img img {
  max-width:222px;
}
.service-nav {
  background:#FAC2C8;
  padding:30px 3%;
}
.service-nav .service-list {
  max-width:900px;
  margin:0 auto;
}
.service-nav li {
  -webkit-box-flex:0;
  flex:0 0 33.3%;
  padding:0 20px;
}
.service-nav li a {
  display:block;
  background:#C5182D;
  border-radius:40px;
  color:#fff;
  font-size:14px;
  text-align:center;
  line-height:1.6;
  padding:15px 20px 25px;
  position:relative;
}
.service-nav li a:after {
  content:'';
  border:4px solid transparent;
  border-left:4px solid #fff;
  border-bottom:4px solid #fff;
  position:absolute;
  left:50%;
  bottom:15px;
  -webkit-transform:translateX(-50%) rotate(-45deg);
  transform:translateX(-50%) rotate(-45deg);
}
.service-nav li a span {
  font-size:14px;
  display:block;
}
.service-l {
  margin:0 auto;
  padding:0;
  width:1070px;
}
.service-r {
  margin:0 auto;
  padding:0;
  width:1070px;
}
.l-service .title {
  background:#C5182D;
  text-align:center;
  color:#fff;
  font-size:28px;
  padding:1em 2em;
  line-height:1;
  margin-bottom:15px;
  position:relative;
}
.l-service .title span {
  font-size:16px;
  padding-right:1em;
  vertical-align:middle;
}
.l-service p.text {
  line-height:1.6;
  margin-bottom:40px;
  font-size:16px;
  padding:0 30px;
}
.l-service p.text span {
  font-size:24px;
  color:#C5182D;
}
.l-service p.text img {
  vertical-align:bottom;
  width:163px;
}
.sp {
  display:none;
}
#service-1 .item-1 img {
  max-width:535px;
}
#service-1 .item-2 {
  padding:0 40px 0 20px;
}
#service-1 .item-2 img {
  max-width:49px;
}
#service-1 .item-3 p,
#service-1 .item-3 img {
  max-width:347px;
}
#service-1 .item-3 p {
  font-size:12px;
  line-height:1.6;
  margin-top:20px;
}
#service-2 .text {
  -webkit-box-flex:0;
  flex:0 0 345px;
}
#service-2 .img {
  padding-left:20px;
}
#service-2 .img img {
  max-width:532px;
}
.service-detail dt {
  background:#C5182D;
  color:#fff;
  font-size:16px;
  padding:.7em 2em;
  margin-bottom:15px;
}
.service-detail dd {
  margin-bottom:30px;
  font-size:16px;
}
.service-detail dd span {
  display:block;
  margin-top:1em;
  color:#C5182D;
}
.service-detail dd p {
  margin-top:20px;
}
.service-detail dd p:before {
  content:'■';
  color:#C5182D;
  padding-right:5px;
}
#service-3 dt {
  
}
#service-3 .img {
  padding-right:40px;
}
.merit {
  position:relative;
}
.merit:before {
  content:'';
  width:331px;
  height:382px;
  background:url(../img/illust_3.png);
  background-size:cover;
  position:absolute;
  right:0;
  top:100px;
}
.merit .section-title img {
  display:block;
  max-width:103px;
}
.merit .item {
  padding:0 20px 40px;
  -webkit-box-flex:0;
  flex:0 0 33.3%;
}
.merit .item p {
  border:2px solid #C5182D;
  border-radius:14px;
  padding:1em;
  background:#fff;
  font-size:16px;
  line-height:1.4;
  text-align:center;
  height:100%;
  min-height:160px;
  display:-webkit-box;
  display:flex;
  -webkit-box-align:center;
  align-items:center;
  -webkit-box-pack:center;
  justify-content:center;
}
.shadow {
  box-shadow:7px 7px 0 #C5182D;
}
.cta-block {
  background:url(../img/img_5@2x.jpg);
  background-size:cover;
  padding:100px 3%;
}
.btn {
  font-size:18px;
  background:#C5182D;
  color:#fff;
  padding:20px 10px;
  border-radius:50px;
  text-align:center;
  display:block;
  max-width:420px;
  margin:0 auto;
}
.btn:hover {
  -webkit-transform:translateY(-3px);
  transform:translateY(-3px);
}
.case-study .section-title img {
  display:block;
  width:157px;
}
.case-study .review {
  margin-bottom:30px;
  border-radius:14px;
}
.case-study .review a {
  border:2px solid #C5182D;
  border-radius:14px;
  display:block;
  overflow:hidden;
}
.case-study .review .img {
  -webkit-box-flex:0;
  flex:0 0 328px;
}
.case-study .review .text {
  padding:20px 25px 10px;
  background:#fff;
}
.case-study .review .text .title {
  font-size:20px;
  margin-bottom:10px;
  line-height:1.4;
}
.case-study .review .text p {
  font-size:11px;
}
.case-study .review + .row-title {
  margin-top:80px;
}
.case-study .jirei .section-title {
  text-align:center;
  font-size:23px;
  font-weight:bold;
  line-height:1.8;
  margin-bottom:60px;
}
.case-study .jirei .performance {
  max-width:700px;
  margin:60px auto;
  text-align:center;
  color:#C5182D;
  font-size:12px;
}
.case-study .jirei .performance .img {
  -webkit-box-flex:0;
  flex:0 0 50%;
  padding:0 10px;
}
.case-study .jirei .performance .img img {
  margin-bottom:15px;
}
.case-study .jirei .logos {
  flex-wrap:wrap;
}
.case-study .jirei .logos .img {
  -webkit-box-flex:0;
  flex:0 0 25%;
  padding:10px;
  min-height:80px;
  background:#fff;
}
.case-study .jirei .logos .img img {
  height:38px;
}
.case-study .jirei .logos .img-inner {
  display:-webkit-box;
  display:flex;
  -webkit-box-align:center;
  align-items:center;
  height:100%;
}
.case-study .jirei .logos .img-inner img {
  width:auto;
  margin:0 auto;
}
#section-4 .img + .img {
  padding-left:15px;
}
#section-3,
.faq {
  background:#FFF7F8;
}
#section-4 .section-title img {
  display:block;
  width:98px;
}
#section-4 .l-flex + p {
  font-weight:normal;
  font-size:13px;
}
.faq-box {
  margin-top:30px;
  border-radius:14px;
  overflow:hidden;
}
.faq-box dt {
  background:#C5182D;
  padding:10px 20px;
  font-weight:bold;
  color:#fff;
  font-size:18px;
}
.faq-box dt:before {
  content:'Q. ';
}
.faq-box dd {
  border:2px solid #C5182D;
  padding:15px 20px 15px 38px;
  position:relative;
  font-size:16px;
  background:#fff;
  border-radius:0 0 13px 13px;
}
.faq-box dd:before {
  content:'A.';
  position:absolute;
  left:20px;
  top:15px;
}
.l-footer .img {
  -webkit-box-flex:0;
  flex:0 0 156px;
  background:#fff;
  padding:10px;
  text-align:center;
}
.l-footer .img img {
  width:100%;
}
.l-footer .text p {
  color:#fff;
  line-height:1.6;
}
.l-footer .copy {
  background:#960521;
  color:#fff;
  text-align:center;
  padding:10px;
  font-size:12px;
}
.hidden-checkbox {
  display:none;
}
.boneptf {
  text-align:center;
  font-family:"Noto Sans JP",sans-serif;
}
.boneptf .tit {
  font-size:24px;
  font-weight:bold;
  color:#c5182d;
}
.boneptf h2 {
  font-size:30px;
  font-weight:bold;
  color:#c5182d;
}
.boneptf h2 span {
  color:#333333;
  font-size:16px;
}
.boneptf_sub {
  margin:30px 0 15px 0;
  font-weight:normal;
}
.component_text {
  word-wrap:break-word;
  text-align:left;
  width:700px;
  margin:0 auto;
}

/*** request ***/
.request {
  background-image:url("../img/request.jpg");
  background-size:cover;
  background-position:top left;
  padding:30px 0 30px 0;
}
.request .btn {
  font-size:34px;
}
.request .btn a {
  color:#ffffff;
}


/*** hack ***/


/*** responsive ***/
@media only screen and (max-width:1240px) {
  #service-1 .item-1 img {
    max-width:100%;
  }
  
  #service-2 .img img {
    max-width:100%;
  }
}
@media only screen and (max-width:980px) {
  .l-header .l-wrap {
    padding:0;
  }
  .l-header .l-flex {
    display:block;
  }
  .l-main-visual {
    padding-bottom:0;
  }
  .l-main-visual .l-flex {
    flex-wrap:wrap;
  }
  .l-main-visual .l-bottom {
    margin:40px auto;
    padding:15px 0;
    bottom:auto;
    left:auto;
    width:100%;
    position:relative;
  }
  .l-main-visual .l-bottom .l-plan {
    margin:0 auto;
    left:auto;
  }
  .l-section {
    padding:60px 0;
  }
  .l-header {
    padding:10px 0;
  }
  .l-section-1-inner {
    padding:100px 0 270px 0;
  }
  .l-section-1-inner:before {
    top:auto;
    bottom:0;
  }
  .l-flex.graph-block {
    margin:20px -5px 0;
  }
  .l-service-block {
    padding:60px 0;
  }
  .l-service {
    margin-top:40px;
  }
  .service-l:before {
    height:60px;
  }
  .l-section-2-inner,
  .l-section-3-inner {
    margin-left:0;
    margin-right:0;
  }
  .gnav .gnav-list li {
    margin-left:0;
  }
  .gnav .gnav-list li a {
    padding:10px;
  }
  .tablet {
    display:none;
  }
  .main-visual .text {
    -webkit-box-flex:0;
    flex:0 0 100%;
  }
  .main-visual .text .title {
    font-size:24px;
    text-align:center;
    padding:0 3%;
  }
  .main-visual .form {
    -webkit-box-flex:0;
    flex:0 0 100%;
    padding:30px 60px 0;
  }
  .gakutoku {
    padding:60px 0;
  }
  .section-title {
    font-size:24px;
    margin-bottom:30px;
  }
  .graph-block .item-1 img {
    max-width:100%;
  }
  .graph-block .item-2 img {
    max-width:100%;
  }
  .graph-block .item-3 img {
    max-width:100%;
  }
  .row-title-2 {
    font-size:40px;
  }
  .special-text:before {
    left:20px;
  }
  .special-text:after {
    right:20px;
  }
  .special-text {
    padding:20px;
  }
  .special-text .text-1 {
    font-size:18px;
    margin-bottom:35px;
  }
  .special-text .text-2 {
    font-size:30px;
  }
  .service-nav li {
    padding:0 10px;
  }
  .service-l {
    margin-right:40px;
    padding-left:40px;
  }
  .service-r {
    margin-left:40px;
    padding-right:40px;
  }
  .l-service .title {
    font-size:20px;
    margin-bottom:40px;
  }
  .l-service p.text {
    line-height:2;
  }
  #service-1 .item-3 p,
  #service-1 .item-3 img {
    max-width:100%;
  }
  .case-study .review .text .title {
    line-height:1.4;
  }
  .menu-icon {
    cursor:pointer;
    display:block;
    height:21px;
    position:absolute;
    right:3%;
    top:22px;
    width:22px;
    z-index:9999;
  }
  .menu-icon::before {
    box-shadow:#C5182D 0 9px 0;
    height:3px;
    -webkit-transform-origin:left top;
    transform-origin:left top;
    width:21px;
  }
  .menu-icon::after {
    bottom:0;
    height:3px;
    -webkit-transform-origin:left bottom;
    transform-origin:left bottom;
    width:21px;
  }
  .menu-icon::before,
  .menu-icon::after {
    background:#C5182D;
    display:block;
    content:'';
    position:absolute;
    -webkit-transition:box-shadow 0.3s linear, -webkit-transform 0.3s;
    transition:box-shadow 0.3s linear, -webkit-transform 0.3s;
    transition:box-shadow 0.3s linear, transform 0.3s;
    transition:box-shadow 0.3s linear, transform 0.3s, -webkit-transform 0.3s;
  }
  .gnav {
    width:100%;
    -webkit-transition:right 0.4s;
    transition:right 0.4s;
    opacity:.95;
    display:none;
  }
  .hidden-checkbox:checked ~ .menu-icon::before {
    background:#C5182D;
    box-shadow:transparent 0 0 0;
    -webkit-transform:rotate(45deg) translate3d(6px, -3px, 0);
    transform:rotate(45deg) translate3d(6px, -3px, 0);
  }
  .hidden-checkbox:checked ~ .menu-icon::after {
    background:#C5182D;
    -webkit-transform:rotate(-45deg) translate3d(6px, 3px, 0);
    transform:rotate(-45deg) translate3d(6px, 3px, 0);
  }
  .gnav-list {
    list-style-type:none;
    padding:0;
    vertical-align:middle;
    background:#fff;
  }
  .gnav-list li {
    float:none;
    text-align:center;
    margin:0;
    width:100%;
  }
  .gnav-list li:first-child {
    margin-top:10px;
  }
  .gnav-list li a {
    display:block;
    padding:5px;
  }
}
@media only screen and (max-width:700px) {
  body {
    font-size:1.3em;
  }
  .l-flex {
    flex-wrap:wrap;
    padding:0 !important;
  }
  .l-section-1-inner:before {
    display:none;
  }
  .l-section-1-inner {
    padding-bottom:0;
  }
  .l-service {
    margin-top:30px;
  }
  .l-service .l-wrap {
    padding-bottom:30px;
    margin-right:0;
    margin-left:0;
    width:100%;
    margin-bottom:0;
  }
  .service-l:before {
    content:none;
  }
  .l-section-2-inner,
  .l-section-3-inner {
    margin:30px 0;
  }
  .l-footer {
    padding-top:30px;
  }
  .l-footer .l-wrap {
    padding-bottom:30px;
  }
  .main-visual .text {
    padding-right:0;
  }
  .main-visual .text .title {
    font-size:18px;
  }
  .bg-block {
    padding:0 15px;
  }
  .main-visual .form {
    padding:30px 40px 0;
  }
  .main-visual .form .box:before {
    width:87px;
    height:94px;
  }
  .main-visual .form .title {
    font-size:16px;
    line-height:1.6;
    margin:15px 0 10px;
  }
  .section-title {
    font-size:20px;
    margin-bottom:20px;
    line-height:1.4;
  }
  .section-title br {
    display:none;
  }
  .l-wrap {
    padding:15px;
  }
  .row-title {
    font-size:18px;
    line-height:1.4;
  }
  .graph-block .item {
    -webkit-box-flex:0;
    flex:0 0 100%;
    margin-bottom:15px;
  }
  .row-title-2 {
    font-size:20px;
  }
  .images-block {
    margin:0;
  }
  .images-block .item {
    margin-bottom:30px;
  }
  .images-block .item p strong {
    font-size:14px;
  }
  .images-block .item-1:before,
  .images-block .item-2:before {
    display:none;
  }
  .images-block .item-1:after,
  .images-block .item-2:after {
    display:none;
  }
  .special-text:before {
    display:none;
  }
  .special-text:after {
    display:none;
  }
  .special-text {
    padding:12px;
  }
  .special-text .text-1 {
    font-size:14px;
  }
  .special-text .text-1:before {
    bottom:-5px;
  }
  .special-text .text-1:after {
    bottom:-15px;
  }
  .special-text .text-2 {
    font-size:20px;
  }
  .service-nav li {
    -webkit-box-flex:0;
    flex:0 0 100%;
    padding:5px 0;
  }
  .service-l {
    width:auto;
    margin-right:3%;
    padding-left:3%;
  }
  .service-r {
    width:auto;
    margin-left:3%;
    padding-right:3%;
  }
  .l-service .title {
    font-size:16px;
    margin-bottom:20px;
    padding:10px;
    line-height:1.4;
  }
  .l-service .title span {
    font-size:13px;
    display:block;
  }
  .l-service p.text {
    margin-bottom:25px;
  }
  .l-service p.text img {
    width:87px;
    padding-right:5px;
  }
  .pc {
    display:none;
  }
  .sp {
    display:block;
  }
  #service-1 .item-2 {
    padding:10px 0;
    margin:0 auto;
  }
  #service-1 .item-3 {
    padding-right:3%;
  }
  #service-2 .text {
    -webkit-box-flex:0;
    flex:0 0 100%;
    padding-left:3%;
  }
  .service-detail dt {
    padding:10px;
  }
  #service-3 .img {
    padding-right:3%;
  }
  #service-3 .text {
    padding-right:3%;
    margin-top:20px;
  }
  #service-3 .text p {
    margin-bottom:15px;
  }
  .merit:before {
    content:none;
  }
  .merit .item {
    -webkit-box-flex:0;
    flex:0 0 98%;
    padding-bottom:20px;
  }
  .merit .item p {
    min-height:100px;
    border-radius:5px;
  }
  .cta-block {
    padding:40px 3%;
  }
  .btn {
    padding:10px;
    width:90%;
  }
  .case-study .review {
    border-radius:5px;
  }
  .case-study .review .text .title {
    font-size:16px;
  }
  .case-study .jirei .section-title {
    font-size:16px;
    line-height:1.4;
  }
  .case-study .jirei .performance {
    margin:30px auto;
  }
  .case-study .jirei .performance .img {
    padding:10px 0;
    -webkit-box-flex:0;
    flex:0 0 100%;
  }
  .case-study .jirei .logos {
    display:-moz-flex;
    display:-ms-flex;
    display:-o-flex;
    display:-webkit-box;
    display:flex;
  }
  .case-study .jirei .logos .img {
    -webkit-box-flex:0;
    flex:0 0 33.333%;
  }
  #section-4 .l-flex {
    -webkit-box-pack:center;
    justify-content:center;
  }
  #section-4 .img + .img {
    -webkit-box-flex:0;
    flex:0 0 70%;
    padding-top:20px;
    padding-left:0;
    text-align:center;
  }
  .faq-box {
    border-radius:5px;
  }
  .faq-box dt {
    font-size:14px;
  }
  .faq-box dd {
    font-size:13px;
    border-radius:0 0 5px 5px;
  }
  .boneptf .tit {
    font-size:20px;
    line-height:1.4;
  }
  .boneptf h2 {
    font-size:23px;
    margin:15px 0;
  }
  .boneptf_sub {
    padding:15px;
  }
  .component_text {
    width:auto;
  }
  .l-footer .img {
    margin:0 auto 20px;
  }
}