@charset: "UTF-8";
/*共通*/

body {
  color: #231815;
  font-family: 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.txt {
  color: #231815;
  line-height: 2em;
  font-size: 16px;
  text-align: justify;
  text-justify: inter-ideograph;
}

.wrap {
  max-width: 1000px;
  width: 90%;
  margin: auto;
}

.sec {
  padding: 150px 0 100px;
}

.ttl {
  text-align: center;
}

.ttl_top {
  color: #e60012;
  font-size: 30px;
  font-weight: bold;
}

.blue {
  color: #0380e7;
}

h2 {
  font-size: 45px;
  line-height: 1.5em;
  padding: 27px 0;
  font-weight: bold;
  color: #231815;
}

.ttl_botom {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.7em;
}

.ttl_botom_small {
  font-size: 18px;
  font-weight: bold;
  line-height: 2em;
}

.ttl_border {
  width: 60px;
  margin: auto;
  padding-bottom: 27px;
}

.cetner {
  text-align: center;
}

.flex02wrap {
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
  margin-top: 60px;
}

.flex02wrap_item {
  flex: 0 0 47%;
}

.googlemaplink a {
  color: blue;
  text-decoration: none;
}


/*トップページ*/

#page.index {}

#page.index .mainvisual {
  background-image: url(../images/mv.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 816px;
  overflow: hidden;
  position: relative;
  overflow: hidden;
}

#page.index .mainvisual:before {
  content: "";
  position: absolute;
  height: 350px;
  width: 300%;
  background: #fff;
  bottom: -200px;
  left: -100%;
  -webkit-transform: rotate(-6.4deg);
  transform: rotate(-6.4deg);
  z-index: 0;
}

#page.index .logo {
  padding: 30px;
}

#page.index .logo h1 {
  max-width: 320px;
  width: 100%;
}

#page.index .logo_company {
  max-width: 220px;
  position: absolute;
  top: 0;
  right: 30px;
}

#page.index .header_tel_pc {
  max-width: 250px;
  position: absolute;
  top: 30px;
  right: 300px;
}

#page.index .mainvisual_txt {
  max-width: 1180px;
  position: absolute;
  top: 20%;
}

#page.index .bnr_campain01 {
  position: relative;
  z-index: 10;
  margin-top: -50px;
}

#page.index .bnr_campain {
  max-width: 1000px;
  width: 100%;
  display: block;
  margin: auto;
}

#page.index .professional_ttl {
  color: #e60012;
}

#page.index .professional {
  padding: 65px 0 50px;
}

#page.index .professional_ttl p {
  color: #0380e7;
  font-size: 46px;
  line-height: 1.3;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
}

#page.index .professional_txt {
  font-size: 27px;
  text-align: center;
  font-weight: bold;
  margin-bottom: 30px;
  color: #3e3a39;
}


#page.index .professional_sub {
  color: #3e3a39;
  text-align: center;
  font-weight: bold;
  margin-bottom: 46px;
}

#page.index .professional_img {
  max-width: 1000px;
  width: 100%;
  margin: auto;
}

#page.index .message_line {
  width: 100%;
  height: 76px;
  background-color: #000;
  display: block;
}

#page.index .message_line .slider_wrap {
  position: relative;
}

#page.index .swiper-container {
  position: absolute;
  top: 30px;
  left: 220px;
  z-index: 10;
  height: 50px;
}

#page.index .message_line .swiper-slide {
  color: #0380e7;
  font-size: 21px;
}

#page.index .message_line_ttl {
  max-width: 185px;
  width: 100%;
  height: 76px;
  line-height: 76px;
  color: #fff;
  text-align: center;
  background-color: #0380e7;
  -webkit-transform-origin: 0 100%;
  transform-origin: 0 100%;
  -webkit-transform: skewX(-20deg);
  transform: skewX(-20deg);
}

#page.index .equation_ttl {
  max-width: 400px;
  width: 100%;
  margin: 0 auto 50px;
}

#page.index .equation_txt_big {
  font-size: 46px;
  text-align: center;
  line-height: 1.3;
  font-weight: bold;
  color: #0380e7;
  margin: 30px 0 90px;
}

#page.index .quation_plus img {
  margin: auto;
}

#page.index .equation_txt {
  color: #231815;
  font-size: 45px;
  text-align: center;
  margin-bottom: 40px;
  font-weight: bold;
  line-height: 1.5;
}

#page.index .equation {
  background-color: #fff;
  position: relative;
  z-index: 10;
}

#page.index .equation_sub {
  margin-bottom: 80px;
  color: #3e3a39;
  font-size: 24px;
  line-height: 1.7em;
  text-align: center;
  font-weight: bold;
}

#page.index .separat {
  width: 100%;
  overflow: hidden;
}

#page.index .separat .separat_lft {
  background-image: url(../images/lft_red.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right;
  width: 60%;
  height: 340px;
  position: relative;
  z-index: 10;
  float: left;
}

#page.index .separat .separat_lft p {
  color: #fff;
  font-size: 120px;
  position: absolute;
  top: 100px;
  right: 200px;
}

#page.index .separat .separat_rig {
  background-image: url(../images/rig_black.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: left;
  width: 70%;
  height: 340px;
  margin-top: -300px;
  float: right;
  position: relative;
}

#page.index .separat .separat_rig_wrap {
  position: absolute;
  top: 100px;
  left: 40%;
  margin: auto;
  color: #0380e7;
  text-align: center;
}

#page.index .separat .separat_rig_wrap img {
  margin: auto;
  margin-bottom: 25px;
  width: 60px;
}

#page.index .separat .separat_rig_wrap p {
  line-height: 1.5em;
  font-size: 32px;
}

#page.index .commentary .flbox01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 120px 0 95px;
}

#page.index .commentary .flbox01 .flbox_lft {
  margin-right: 65px;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 450px;
  flex: 0 0 450px;
}

#page.index .commentary .flbox_rig span {
  display: block;
  font-size: 32px;
  line-height: 1.5em;
  margin-bottom: 30px;
  font-weight: bold;
}

#page.index .commentary .video_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#page.index .commentary .red_h2 {
  font-size: 26px;
  background-color: #e60012;
  padding: 0px 16px;
  color: #fff;
  margin-left: 25px;
}

#page.index .movie_introduction_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

#page.index .movie_introduction span {
  display: block;
  font-size: 15px;
  font-weight: bold;
  margin: 0 0 30px;
}

#page.index .movie_introduction .span_botom {
  margin-top: 30px;
  margin-bottom: 20px;
}

#page.index .movie_introduction .movie_introduction_ttl {
  font-size: 26px;
  font-weight: bold;
  margin-top: 50px;
  margin-bottom: 10px;
}

#page.index .movie_introduction p {
  font-size: 14px;
}

#page.index .movie_introduction_wrap ul {
  margin-right: 25px;
}

#page.index .movie_introduction_wrap ul li {
  margin-bottom: 16px;
  font-size: 18px;
  font^font-weight: bold;
}


#page.index .video {
  max-width: 690px;
  margin: 0 auto 90px;
}

#page.index .VideoWrapper {
  position: relative;
  width: 100%;
  padding-top: 56.5217%;
}

#page.index .VideoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#page.index .commentary .flbox02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 50px;
}

#page.index .commentary .flbox02 .flbox_lft {
  width: 48%;
  margin-right: 2%;
}

#page.index .commentary .flbox02 .flbox_rig {
  width: 48%;
  margin-left: 2%;
}

#page.index .commentary .flbox02 p {
  font-weight: bold;
  margin-top: 80px;
  margin-bottom: 10px;
}

#page.index .commentary .flbox02 ul {
  margin: 20px 0;
}

#page.index .commentary .flbox02 ul li {
  margin-bottom: 10px;
  font-size: 13px;
  line-height: 1.8em;
}

#page.index .border_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 25px;
}

#page.index .border_wrap .border-lft {
  width: 50%;
  height: 4px;
  background-color: #0380e7;
}

#page.index .border_wrap .border-rig {
  width: 50%;
  height: 4px;
  background-color: #000000;
}

#page.index .botom_comment {
  text-align: center;
  font-size: 26px;
  line-height: 2em;
  font-weight: bold;
}

#page.index .separat02 {
  overflow: hidden;
  width: 100%;
  margin-top: 50px;
}

#page.index .separat02 .separat_lft {
  background-image: url(../images/lft_black.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right;
  width: 70%;
  height: 340px;
  position: relative;
  float: left;
  margin-top: 100px;
}

#page.index .separat02 .separat_rig p {
  color: #fff;
  font-size: 120px;
  position: absolute;
  top: 100px;
  left: 200px;
  max-width: 200px;
  width: 100%;
}

#page.index .separat02 .separat_rig {
  background-image: url(../images/rig_red.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: left;
  width: 50%;
  height: 340px;
  float: right;
  position: relative;
  z-index: 10;
  margin-top: -380px;
}

#page.index .separat02 .separat_lft_wrap {
  position: absolute;
  top: 80px;
  right: 30%;
  margin: auto;
  color: #0380e7;
  text-align: center;
}

#page.index .separat02 .separat_lft_wrap img {
  margin: auto;
  margin-bottom: 25px;
  width: 70px;
}

#page.index .separat02 .separat_lft_wrap p {
  line-height: 1.5em;
  font-size: 32px;
}

#page.index .separat03 {

  margin-top: 100px;
}

#page.index .access .flbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 115px;
}

#page.index .access .flbox_rig {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 510px;
  flex: 0 0 510px;
  margin-left: 70px;
}

#page.index .access .flbox_lft_ttl {
  color: #e60012;
  margin-bottom: 45px;
  font-size: 32px;
  line-height: 1.7em;
  font-weight: bold;
}

#page.index .access .flbox_rig p {
  margin-bottom: 10px;
  font-weight: bold;
}

#page.index .access .flbox02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-flow: row wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 105px;
}

#page.index .access .flbox02 .item {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 29%;
  flex: 0 0 29%;
  margin-top: 80px;
}

#page.index .access .flbox02 .item .item_ttl {
  margin-bottom: 12px;

}


#page.index .access .flbox02 span {
  background-color: #e60012;
  color: #fff;
  padding: 2px 5px;
  margin-right: 5px;
}

#page.index .access .book {
  background-color: #efefef;
  position: relative;
}

#page.index .access .book .ecMarketer {
  max-width: 580px;
  margin: auto;
  padding: 75px 0 50px;
}

#page.index .access .book .coner {
  max-width: 200px;
  position: absolute;
  top: 0;
  left: 0;
}

#page.index .access .book .comment_top {
  text-align: center;
  line-height: 1.7em;
  font-size: 26px;
  margin-bottom: 70px;
  font-weight: bold;
}

#page.index .access .book .book01 {
  max-width: 450px;
  width: 100%;
  margin: 0 auto 70px;
}

#page.index .access .flbox03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#page.index .access .flbox03 .item {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 390px;
  flex: 0 0 390px;
  margin-bottom: 50px;

}

#page.index .access .flbox03 .item:first-child {
  margin-right: 20px;
}

#page.index .access .comment_botom {
  text-align: center;
  padding-bottom: 80px;

}

#page.index .contact_flow_wrap .contact_flow_item {
  background-color: #ededed;
  padding: 20px 15px;
  flex: 0 0 18.5%;
  height: 250px;
  margin-bottom: 30px;
}

#page.index .contact_flow_wrap .contact_flow_item_last .contact_flow_item_step {
  background-color: #ffbb00;
}

#page.index .contact_flow_wrap .contact_flow_item_last .contact_flow_item_ttl {
  color: #ffbb00;
}

#page.index .contact_flow {
  border-top: 1px solid #c7c8c8;
  border-bottom: 1px solid #c7c8c8;
  margin-top: 80px;
  margin: 80px 0;
}

#page.index .contact_flow .contact_flow_ttl {
  font-size: 26px;
  text-align: center;
  padding-top: 30px;
  font-weight: bold;
}

#page.index .contact_flow_wrap {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: space-between;
  margin: 40px 0;
}

#page.index .contact_flow_wrap .contact_flow_item_step {
  background-color: #0380e7;
  color: #fff;
  font-size: 16px;
  text-align: center;
  max-width: 107px;
  margin: auto;
  padding: 10px;
  font-weight: bold;
  transform: skewX(-15deg);
}

#page.index .contact_flow_wrap .contact_flow_item_ttl {
  color: #0380e7;
  text-align: center;
  font-weight: bold;
  margin: 15px 0;
  font-size: 15px;
}

#page.index .contact_flow_item_txt {
  line-height: 1.7;
  font-size: 12px;
}

#page.index .contact_flow_wrap .ui01 {
  max-width: 5px;
  width: 100%;
}


#page.index .movie {
  margin-bottom: 120px;
}

#page.index .movie h2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#page.index .movie .red_h2 {
  font-size: 26px;
  background-color: #e60012;
  padding: 0px 16px;
  color: #fff;
  margin-left: 25px;
}

#page.index .movie .flbox02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 50px;
}

#page.index .movie .flbox02 .flbox_lft {
  width: 48%;
  margin-right: 2%;
}

#page.index .movie .flbox02 .flbox_rig {
  width: 48%;
  margin-left: 2%;
}

#page.index .movie .flbox02 p {
  font-size: 29px;
  font-weight: bold;
  margin-top: 80px;
  margin-bottom: 10px;
}

#page.index .movie .flbox02 ul {
  margin: 20px 0;
}

#page.index .movie .flbox02 ul li {
  margin-bottom: 10px;
  font-size: 13px;
  line-height: 1.8em;
}

#page.index .movie .border_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#page.index .movie .border_wrap .border-lft {
  width: 50%;
  height: 4px;
  background-color: #0380e7;
}

#page.index .movie .border_wrap .border-rig {
  width: 50%;
  height: 4px;
  background-color: #000000;
}

#page.index .movie .botom_comment {
  text-align: center;
  font-size: 26px;
  line-height: 1.7em;
  font-weight: bold;
}

#page.index .head_icon {
  max-width: 50px;
}

#page.index .solution .comment_top {
  margin: 36px 0;
  text-align: center;
}

#page.index .solution .solution_ph01 {
  max-width: 1000px;
  width: 100%;
  margin: auto;
}

#page.index .solution .solution_txt01 {
  max-width: 1770px;
  width: 100%;
  position: relative;
  top: -190px;
  left: -250px;
}

#page.index .solution .ttl02 {
  margin-top: -150px;
}

#page.index .solution .ttl_botom {
  margin-top: -150px;
  font-size: 23px;
  line-height: 3em;
}

#page.index .solution .performance {
  background-color: #efefef;
}

#page.index .solution .performance .itumic {
  max-width: 140px;
  padding: 75px 0 65px;
  margin: auto;
}

#page.index .solution .ttl02 {
  margin-bottom: 100px;
}

#page.index .solution .comment_ttl {
  font-size: 40px;
  text-align: center;
  font-weight: bold;
  margin-bottom: 35px;
}

#page.index .solution .comment {
  text-align: center;
  font-size: 26px;
  line-height: 1.7em;
  padding-bottom: 85px;
  font-weight: bold;
}

#page.index .solution .performance_txt01 {
  max-width: 720px;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 130px;
}

#page.index .interview {
  margin-bottom: 100px;
}

#page.index .interview .interview_ph01 {
  margin: 50px 0 65px;
}

#page.index .interview .interview_txt_ttl {
  font-size: 19px;
  color: #0380e7;
}

#page.index .interview .flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 50px;
}

#page.index .interview .flexbox .flex_rig {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 430px;
  flex: 0 0 430px;
  margin-left: 80px;
}

#page.index .interview .getugaku {
  margin: 100px auto 0;
}

#page.index .company_profile {
  max-width: 1000px;
  width: 100%;
  margin: auto;
  background-color: #ededed;
  margin-bottom: 100px;
}

#page.index .company_profile .company_profile_wrap {
  width: 80%;
  margin: auto;
  padding: 100px 0;
}

#page.index .company_profile .company_profile_wrap .motomura_logo {
  max-width: 120px;
  width: 100%;
  margin: 0 auto 30px;
}

#page.index .company_profile .company_profile_ttl {
  text-align: center;
  font-size: 31px;
  font-weight: bold;
  margin-bottom: 80px;
}

#page.index .company_profile .company_profile_ttl_botom {
  text-align: center;
  font-size: 18px;
  margin-bottom: 80px;
  line-height: 2;
  font-weight: bold;
}

#page.index .company_profile .company_profile_flex {
  display: flex;
  
}

#page.index .company_profile .company_profile_flex_lft {
  flex: 0 0 360px;
  margin-right: 50px;
}

#page.index .company_profile .company_profile_flex_lft img {}

#page.index .company_profile .company_profile_flex_rig span {
  text-align: right;
  display: block;
}

#page.index .company_profile .company_profile_flex_rig span img {
  display: inline-block;
  max-width: 180px;
  width: 100%;
  margin-top: 20px;
}

#page.index .company_profile .company_profile_flex_rig p {
  line-height: 2;
}

#page.index .company_profile table {
  width: 100%;
  margin: auto;
  border-collapse: collapse;
  box-sizing: border-box;
  margin-top: 60px;
}

#page.index .company_profile table td,
table th {
  padding: 10px;
  height: 80px;
  background-color: #fff;
  vertical-align: middle;
  line-height: 2;
  color: #231815;
}

#page.index .company_profile table th {
  width: 20%;
  border: 1px solid #b7b7b7;
  border-left: none;
  border-right: none;
}

#page.index .company_profile table td {
  width: 70%;
  border: 1px solid #b7b7b7;
  border-right: none;
}

footer .blackbg {
  color: #fff;
  font-size: 24px;
  padding: 25px 0;
  background-color: #000;
}

footer .footer_logo {
  max-width: 270px;
  margin-right: 50px;
}

footer .flbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

footer .application {
  background-image: url(../images/footer_bg.png);
  background-size: cover;
  padding: 50px 0;
}

footer .tel_wrap {
  margin-right: 70px;
  text-align: centr;
}

footer .tel_wrap span {
  display: block;
  text-align: center;
}

footer .tel_wrap .number {
  display: block;
  font-weight: bold;
  font-size: 60px;
  margin: 15px auto;
}

footer .tel_wrap .number img {
  max-width: 430px;
  width: 100%;
  margin: auto;
}

footer .tel_wrap .top {
  font-size: 25px
}

footer .application {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

footer .square_btn {
  display: inline-block;
  padding: 1em 2em;
  text-decoration: none;
  background: #fff21f;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: -webkit-gradient(linear, left top, left bottom, from(#fff21f), color-stop(33%, #fccd00), to(#f1942e));
  background: linear-gradient(to bottom, #fff21f 0%, #fccd00 33%, #f1942e 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff21f', endColorstr='#e5352b', GradientType=0);
  /* IE6-9 */
  /*ボタン色*/
  color: #FFF;
  font-weight: bold;
  font-size: 39px;
  border-bottom: solid 4px #dc7f00;
  border-radius: 60px
}

footer .goolemap {
  margin-top: 70px;
}

footer .goolemap iframe {
  width: 100%;
  height: 530px;
}

footer .copyright {
  background-color: #0380e7;
  text-align: center;
}

footer .copyright small {
  font-size: 13px;
  padding: 10px 0;
  display: block;
  color: #fff;
}

#page.index .wrap02 {
  width: 90%;
  max-width: 1000px;
  margin: auto;
}

#page.index .pcv {
  display: block;
}

#page.index .spv {
  display: none;
}

#page.index .simply-scroll {
  display: none;
}

@media (min-width: 1px) and (max-width: 1450px) {
  #page.index .mainvisual_txt {
    max-width: 950px;
  }
}

@media (min-width: 1px) and (max-width: 1300px) {
  #page.index .mainvisual {
    background-position: -200px;
  }
  #page.index .message_line .swiper-slide {
    font-size: 16px;
  }
}

@media (min-width: 1px) and (max-width: 1100px) {
  #page.index .separat .separat_rig_wrap p {
    font-size: 27px;
  }
  #page.index .company_profile .company_profile_flex_lft {
    flex: 0 0 250px;
  }
}

@media (min-width: 1px) and (max-width: 940px) {
  
  h2 {
    font-size: 32px;
  }
  
  #page.index .equation_txt {
    font-size: 32px;
  }
  
  .ttl_botom {
    font-size: 20px;
  }

  #page.index .header_tel_pc {
    max-width: 180px;
    right: 190px;
  }
  
  #page.index .logo_company {
    max-width: 150px;
  }

  #page.index .access .flbox03 .item {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 390px;
    flex: 1 1 390px;
  }

  #page.index .mainvisual_txt {
    max-width: 1210px;
    position: absolute;
    top: 20%;
  }

  #page.index .professional_img {}

  #page.index .separat .separat_rig_wrap {
    position: absolute;
    top: 100px;
    left: 35%;
  }

  #page.index .separat .separat_rig_wrap p {
    font-size: 25px;
  }

  #page.index .commentary .flbox01 {
    display: block;
  }

  #page.index .commentary .flbox01 .flbox_lft {
    margin-right: 0;
    margin-bottom: 50px;
  }

  #page.index .separat02 .separat_rig {
    width: 60%;
  }

  #page.index .separat02 .separat_rig p {
    position: absolute;
    top: 130px;
    left: 120px;
    width: 260px;
  }

  #page.index .separat02 .separat_lft_wrap p {
    font-size: 25px;
  }

  #page.index .separat02 .separat_lft_wrap {
    right: 26%;
  }

  #page.index .access .flbox {
    display: block;
    margin-top: 50px;
  }

  #page.index .access .flbox_rig {
    margin-left: 0;
    margin-top: 50px;
  }

  #page.index .access .flbox02 .item .item_ttl {
    line-height: 1.8em;
  }

  #page.index .access .flbox02 {
    margin-bottom: 0;
  }

  #page.index .access .book .ecMarketer {
    max-width: 450px;
    width: 100%;
  }

  #page.index .access .flbox03 {
    width: 90%;
    margin: auto;
  }

  #page.index .access .comment_botom {
    text-align: left;
    width: 90%;
    margin: auto;
  }

  #page.index .interview .flexbox {
    display: block;
  }

  #page.index .interview .flexbox .flex_rig {
    margin-left: 0;
    margin-top: 30px;
  }
  
  #page.index .company_profile .company_profile_flex {
    display: block;
  }
  
  #page.index .company_profile .company_profile_flex_lft {
    margin: auto;
    margin-bottom: 50px;
  }
  
  #page.index .company_profile .company_profile_wrap {
    width: 90%;
  }

  footer .application {
    display: block;
  }

  footer .tel_wrap {
    margin-right: 0;
    width: 90%;
    margin: 0 auto 25px;
  }

  footer .square_btn_wrap {
    text-align: center;
  }
  
  .footer_fix_wrap {
    width: 90%;
    margin: auto;
  }

  @media (min-width: 1px) and (max-width: 640px) {
    header {
      background-color: #fff;
      position: fixed;
      top: 0;
      z-index: 100;
      width: 100%;
    }

    header .header_wrap {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 15px;
      width: 100%;
      height: 60px;
    }

    header .header_logo img {
      max-width: 200px;
      width: 100%;
    }

    header .header_right .header_tel img {
      max-width: 30px;
      width: 100%;
    }
    
    #page.index .header_tel_pc {
      display: none;
    }

    .ttl_top {
      font-size: 14px;
    }

    .ttl_botom {
      font-size: 12px;
    }
    
    .ttl_botom_small {
      display: block;
      text-align: left;
    }

    .ttl_border {
      padding-bottom: 20px;
    }
    
    .flex02wrap {
      display: block;
    }
    
    .flex02wrap_item {
      margin-bottom: 30px;
    }

    h2 {
      font-size: 18px;
      padding: 15px 0;
    }

    .txt {
      font-size: 12px;
    }

    #page.index .logo {
      display: none;
    }

    #page.index .logo_company {
      display: none;
    }

    #page.index .professional_ttl p {
      font-size: 26px;
    }

    #page.index .bnr_campain {
      max-width: 340px;
    }

    #page.index .pcv {
      display: none;
    }

    #page.index .spv {
      display: block;
    }

    #page.index .mainvisual {
      background-image: url(../images/mv_sp.png);
      height: 350px;
      background-position: center;
      margin-top: 60px;
    }

    #page.index .mainvisual:before {
      display: none;
    }

    #page.index .bnr_campain01 {
      margin-top: 0px;
    }

    #page.index .professional {
      padding: 45px 0 20px;
    }

    #page.index .mainvisual_txt {
      max-width: 290px;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      margin: auto;
      width: 100%;
    }

    #page.index .professional_txt {
      font-size: 18px;
      line-height: 1.7em;
    }

    #page.index .professional_sub {
      line-height: 1.7em;
    }

    /* お客様の声：スマホは absolute / skew をやめて flex で整列 */
    #page.index .message_line {
      height: auto;
      min-height: 88px;
      overflow: hidden;
    }

    #page.index .message_line .wrap {
      width: 100%;
      max-width: none;
      padding: 0;
      margin: 0;
    }

    #page.index .message_line .slider_wrap {
      position: relative;
      display: flex;
      align-items: stretch;
      left: 0;
      top: 0;
      min-height: 88px;
    }

    #page.index .message_line_ttl {
      position: relative;
      top: 0;
      flex: 0 0 auto;
      max-width: none;
      width: auto;
      height: auto;
      min-height: 88px;
      line-height: 1.3;
      padding: 0 14px;
      display: flex;
      align-items: center;
      justify-content: center;
      box-sizing: border-box;
      -webkit-transform: none;
      transform: none;
    }

    #page.index .message_line_ttl p {
      font-size: 15px;
      position: static;
      top: auto;
      margin: 0;
      -webkit-transform: none;
      transform: none;
      white-space: nowrap;
    }

    #page.index .swiper-container {
      position: relative !important;
      top: auto !important;
      left: auto !important;
      right: auto !important;
      flex: 1 1 auto;
      width: auto !important;
      min-width: 0;
      height: 88px !important;
      margin: 0;
      padding: 0 12px;
      box-sizing: border-box;
      z-index: 1;
      overflow: hidden;
    }

    #page.index .swiper-container.is-sp-fade .swiper-wrapper {
      position: relative;
      width: 100%;
      height: 88px;
      transform: none !important;
    }

    #page.index .swiper-container.is-sp-fade .swiper-slide {
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      font-size: 15px;
      width: 100%;
      height: 88px;
      margin: 0;
      padding: 10px 4px;
      line-height: 1.4;
      font-weight: bold;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      box-sizing: border-box;
      white-space: normal;
      opacity: 0;
      transition: opacity 0.45s ease;
      pointer-events: none;
      transform: none !important;
      overflow: visible;
    }

    #page.index .swiper-container.is-sp-fade .swiper-slide.is-active {
      opacity: 1;
      pointer-events: auto;
      z-index: 1;
    }

    #page.index .swiper-container.is-sp-fade .swiper-slide-duplicate {
      display: none !important;
    }

    .sec {
      padding: 30px 0 20px;
    }

    #page.index .separat .separat_lft {
      height: 135px;
    }

    #page.index .separat .separat_rig {
      margin-top: -100px;
      height: 135px;
    }

    #page.index .equation_ttl {
      max-width: 200px;
      margin: 0 auto 25px;
    }
    
    #page.index .equation_txt_big {
      font-size: 25px;
      margin-bottom: 30px;
    }

    #page.index .equation_txt {
      font-size: 18px;
      margin-bottom: 25px;
    }

    #page.index .equation_sub {
      font-size: 12px;
      line-height: 2em;
      margin-bottom: 35px;
    }

    #page.index .quation_plus {
      max-width: 320px;
      width: 100%;
      margin: auto;
    }

    #page.index .equationen span {}
    
    #page.index .separat02 {
      margin-top: 0;
    }
    
    #page.index .separat03 {
      margin-top: 30px;
    }

    #page.index .separat .separat_lft p {
      top: 30px;
      right: 80px;
      width: 90px;
    }

    #page.index .separat .separat_rig_wrap {
      top: 25px;
      left: 30%;
    }

    #page.index .separat .separat_rig_wrap p {
      font-size: 12px;
    }

    #page.index .separat .separat_rig_wrap img {
      width: 40px;
      margin-bottom: 10px;
    }

    #page.index .commentary .flbox01 {
      margin: 35px 0;
    }

    #page.index .commentary .flbox_rig span {
      font-size: 20px;
      margin-bottom: 25px;
    }

    #page.index .video {
      margin-bottom: 50px;
    }

    #page.index .commentary .red_h2 {
      font-size: 14px;
      margin-left: 15px;
    }

    #page.index .movie_introduction .movie_introduction_ttl {
      margin-top: 40px;
    }

    #page.index .movie_introduction .movie_introduction_ttl {
      font-size: 18px;
    }

    #page.index .movie_introduction_wrap ul li {
      font-size: 13px;
      line-height: 1.7em;
      margin-bottom: 5px;
      font-weight: bold;
    }

    #page.index .separat02 .separat_lft {
      height: 135px;
      margin-top: 50px;
    }

    #page.index .separat02 .separat_rig {
      height: 135px;
      margin-top: -155px;
    }

    #page.index .separat02 .separat_rig p {
      position: absolute;
      top: 30px;
      left: 80px;
      width: 90px;
    }

    #page.index .separat02 .separat_lft_wrap p {
      font-size: 13px;
    }

    #page.index .separat02 .separat_lft_wrap img {
      width: 30px;
      margin-bottom: 10px;
    }

    #page.index .separat02 .separat_lft_wrap {
      top: 30px;
      right: 35%;
    }

    #page.index .access .flbox_lft_ttl {
      font-size: 20px;
      margin-bottom: 30px;
    }

    #page.index .access .flbox {
      margin-top: 30px;
    }

    #page.index .access .flbox_rig {
      margin-top: 30px;
    }

    #page.index .access .flbox02 {
      display: block;
    }

    #page.index .access .flbox02 .item {
      margin-top: 35px;
    }

    #page.index .access .book .coner {
      max-width: 80px;
    }

    #page.index .access .book .ecMarketer {
      max-width: 250px;
      padding: 40px 0;
    }

    #page.index .access .book .comment_top {
      font-size: 14px;
      margin-bottom: 30px;
    }

    #page.index .access .book .book01 {
      width: 95%;
    }

    #page.index .access .flbox03 {
      display: block;
    }

    #page.index .access .flbox03 .item {
      margin-left: 10px;
    }

    #page.index .access .flbox03 .item:first-child {
      margin-right: 0;
      margin-bottom: 20px;
    }

    #page.index .access .comment_botom {
      padding-bottom: 30px;
      font-weight: bold;
    }
    
    #page.index .movie_introduction_wrap {
      display: block;
    }

    #page.index .movie .red_h2 {
      font-size: 14px;
      margin-left: 15px;
    }

    #page.index .movie {
      margin-bottom: 50px;
    }

    #page.index .solution .ttl_botom {
      font-size: 13px;
      line-height: 1.7em;
    }

    #page.index .solution .comment_top {
      margin: 30px 0;
    }

    #page.index .solution .solution_txt01 {
      left: 0px;
      top: -80px;
      max-width: 360px;
    }

    #page.index .solution .ttl02 {
      margin-top: -80px;
    }

    #page.index .solution .ttl_botom {
      font-size: 11.5px;
      line-height: 3em;
    }

    #page.index .solution .ttl02 {
      margin-bottom: 45px;
    }

    #page.index .solution .performance .wrap {
      width: 100%;
    }

    #page.index .solution .comment_ttl {
      font-size: 23px;
    }

    #page.index .solution .comment {
      font-size: 14px;
      padding-bottom: 30px;
    }

    #page.index .solution .performance_txt01 {
      width: 80%;
      padding-bottom: 30px;
    }

    #page.index .interview .interview_ph01 {
      margin: 30px 0;
    }

    #page.index .interview .interview_txt_ttl {
      font-size: 14px;
    }

    #page.index .interview .flexbox {
      margin-top: 30px;
    }

    #page.index .interview .getugaku {
      margin: 30px 0;
    }

    #page.index .interview {
      margin-bottom: 30px;
    }
    
    #page.index .contact_flow .contact_flow_ttl {
      font-size: 17px;
    }
    
    #page.index .contact_flow_wrap {
      display: block;
    }
    
    #page.index .contact_flow_wrap .contact_flow_item {
      height: auto;
    }
    
    #page.index .contact_flow_wrap .contact_flow_item_step {
      margin: 0;
      margin-right: 10px;
    }
    
    #page.index .company_profile .company_profile_ttl {
      font-size: 18px;
      margin-bottom: 30px;
    }
    
    #page.index .company_profile .company_profile_wrap .motomura_logo {
      max-width: 60px;
    }
    
    #page.index .company_profile .company_profile_wrap {
      padding-top: 50px;
      padding-bottom: 50px;
    }
    
    #page.index .company_profile .company_profile_ttl_botom {
      text-align: left;
      font-size: 16px;
      margin-bottom: 30px;
    }
    
    #page.index .company_profile {
      margin-bottom: 50px;
    }
    
    #page.index .company_profile .company_profile_flex_lft {
      margin-bottom: 30px;
    }
    
    #page.index .company_profile .company_profile_flex_rig p {
      font-size: 12px;
    }
    
    #page.index .company_profile table th {
      font-size: 16px;
    }
    
    #page.index .company_profile table td {
      font-size: 16px;
    }
    
    #page.index .company_profile table td, table th {
      padding: 10px;
    }
    
    footer .goolemap {
      margin-top: 50px;
    }
    
    #page.index .contact_flow_wrap .ui01 img {
      margin: 10px auto;
      transform: rotate(90deg);
      max-width: 5px;
    }
    
    #page.index .contact_flow {
      margin-top: 50px;
      margin-bottom: 50px;
    }
    
    #page.index .contact_flow_item_stepttl_wrap {
      display: flex;
      align-items: center;
    }
    
    footer {
      margin-bottom: 70px;
    }

    footer .flbox {
      display: block;
    }

    footer .footer_logo {
      max-width: 200px;
      margin: 0 auto 10px;
    }

    footer .flbox p {
      font-size: 16px;
    }

    footer .tel_wrap .top {
      font-size: 19px;
      font-weight: bold;
    }

    footer .tel_wrap span {
      font-size: 11px;
    }

    footer .tel_wrap .number {
      margin: 10px auto;
    }

    footer .square_btn {
      font-size: 26px;
    }

    #page.index .wrap02 {
      width: 100%;
    }

    #page.index .professional_img_wrap {
      overflow: hidden;
    }

    #page.index .professional_img {
      max-width: none;
      width: auto;
      margin: auto;
      height: 200px;
    }

    /* SP: 人物画像を4つ横並び */
    #page.index .professional_img_wrap #scroller {
      display: flex;
      flex-wrap: nowrap;
      align-items: flex-end;
      justify-content: center;
      width: 100%;
      margin: 0;
      padding: 0;
      list-style: none;
    }

    #page.index .professional_img_wrap #scroller li {
      flex: 0 0 25%;
      width: 25%;
      margin: 0;
      padding: 0;
      list-style: none;
      box-sizing: border-box;
    }

    #page.index .professional_img_wrap #scroller li img {
      display: block;
      width: 100%;
      height: auto;
      max-width: none;
    }

    #page.index .simply-scroll {
      display: block;
      width: 100%;
      height: auto;
      margin: 0;
    }

    .footer_fix {
      background-color: #000;
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      z-index: 1000;
    }

    .footer_fix_wrap {
      display: flex;
      justify-content: center;
      padding: 17px 0;
      height: 70px;
      align-items: center;
    }

    .footer_fix_lft {
      margin-right: 10px;
      max-width: 160px;
      width: 100%;
    }

    .footer_fix_rig {
      max-width: 180px;
      width: 100%;
    }

    footer .application {
      display: block;
      padding: 50px 0 120px;
    }
  }

  @media (min-width: 1px) and (max-width: 374px) {
    #page.index .message_line,
    #page.index .message_line .slider_wrap,
    #page.index .message_line_ttl,
    #page.index .swiper-container,
    #page.index .swiper-container.is-sp-fade .swiper-wrapper,
    #page.index .swiper-container.is-sp-fade .swiper-slide {
      min-height: 96px;
      height: 96px;
    }

    #page.index .message_line_ttl p {
      font-size: 14px;
    }

    #page.index .swiper-container.is-sp-fade .swiper-slide {
      font-size: 14px;
      padding: 8px 2px;
    }

    #page.index .separat .separat_rig_wrap p {
      font-size: 12px;
    }

    #page.index .separat02 .separat_lft_wrap p {
      font-size: 12px;
    }

    #page.index .solution .ttl_botom {
      font-size: 11px;
    }
  }
} /* close @media max-width: 940px */
	
/* FBA追加　20200401 */
	.tittle01 {
    margin-top: 20px;
    margin-bottom: 30px;
    color: #E60003;
    font-size: 20pt;
    font-family: "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", Osaka-mono, monospace;
    font-weight: 600;
}
.tittle02 {
    color: #006B09;
    font-size: 15pt;
    line-height: 1.5em;
    font-family: "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", Osaka-mono, monospace;
    font-weight: 600;
}
.sub_img {
    margin-top: 20px;
    margin-bottom: 20px;
}
.contact a img {
    width: 768px;
    position: relative;
    top: -50px;
    padding-bottom: 0px;
}
.main .copyright {
    text-align: center;
    background-color: #03014B;
}
.main .copyright .wrap {
	max-width: 1000px;
    width: 90%;
    margin: auto;
	color:#FFFFFF
}
.main .spv {
	display: block;
}
.spv .header_wrap {
	display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px;
    width: 100%;
    height: 30px;
	position: relative;
	margin-top: -10px;
}
	

@media (max-width: 640px) and (min-width: 1px){
.main .main_img img {
    width: 100%;
}
.main img {
    width: 90%;
}
.main .sub_img img {
    width: 15px;
}
.main .tittle01 {
    font-size: 15pt;
    margin-left: 4px;
    margin-right: 4px;
}
.main .tittle02 {
    font-size: 12pt;
}
}
	
/* 20240130　追記 */
	.footer_fix.pcv {
    width: 100%;
    background: #fff;
    text-align: center;
    position: sticky;
    bottom: 0;
    z-index: 100;
    padding: 20px;
    padding-top: 20px;
}
	.footer_fix_rig_pc a {
    background: #f79603;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #ffffff;
    border-radius: 0.5rem;
}
	.footer_fix_lft_pc {
    margin-bottom: 10px;
    font-size: 1.2rem;
	font-weight: 600;
}
	.footer_fix_rig_pc:hover,
a.footer_fix_rig_pc:hover {
  color: #fff;
  background: #f56500;
}
@media (max-width: 640px) and (min-width: 1px){
.footer_fix.pcv {
    display: none;
}}