@charset "UTF-8";
/*-------------------------------------------------------------------------------------------------------
*********************************************************************************************************
*********************************************************************************************************
******
****** SPスタイル
******
*********************************************************************************************************
*********************************************************************************************************
-------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
******************************************************************************
** common
******************************************************************************
----------------------------------------------------------------------------*/
img {
  max-width: 100%;
  height: auto; }

a {
  text-decoration: none;
  color: #000; }

/*----------------------------------------------------------------------------
******************************************************************************
** common class
******************************************************************************
----------------------------------------------------------------------------*/
.pc {
  display: none; }

.clearfix::after {
  content: '';
  clear: both;
  display: block; }

/*----------------------------------------------------------------------------
******************************************************************************
** header
******************************************************************************
----------------------------------------------------------------------------*/
main {
  font-size: calc(16 / 750 * 100vw); }

.hd_bg {
  width: 100%; }
  .hd_bg .hd {
    width: 100%;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    -webkit-display: flex;
    -moz-display: flex;
    -ms-display: flex;
    -o-display: flex;
    display: flex;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    -o-justify-content: space-between;
    justify-content: space-between; }
    .hd_bg .hd .logo_area {
      width: calc( 490/ 750 * 100%);
      padding-left: calc( 20/ 750 * 100%);
      margin-right: calc( 20/ 750 * 100%);
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      -webkit-display: flex;
      -moz-display: flex;
      -ms-display: flex;
      -o-display: flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      -o-flex-wrap: wrap;
      flex-wrap: wrap;
      -ms-align-items: center;
      align-items: center; }
      .hd_bg .hd .logo_area .h1_ttl {
        width: calc( 270/ 470 * 100%);
        font-size: .538em;
        line-height: 1.3;
        order: 2; }
      .hd_bg .hd .logo_area .hd_logo {
        width: calc( 180/ 470 * 100%);
        display: block;
        margin-top: calc( 5/ 470 * 100%);
        margin-right: calc( 20/ 470 * 100%);
        order: 1;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        -webkit-display: flex;
        -moz-display: flex;
        -ms-display: flex;
        -o-display: flex;
        display: flex;
        -ms-align-items: center;
        align-items: center; }
        .hd_bg .hd .logo_area .hd_logo img {
          max-width: initial;
          width: 100%; }
    .hd_bg .hd .contact_area {
      width: calc( 240/ 750 * 100%);
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      -webkit-display: flex;
      -moz-display: flex;
      -ms-display: flex;
      -o-display: flex;
      display: flex;
      -webkit-justify-content: flex-end;
      -moz-justify-content: flex-end;
      -ms-justify-content: flex-end;
      -o-justify-content: flex-end;
      justify-content: flex-end;
      align-items: center; }
      .hd_bg .hd .contact_area a {
        width: 50%;
        display: inline-block; }
        .hd_bg .hd .contact_area a img {
          max-width: initial;
          width: 100%; }

/*----------------------------------------------------------------------------
******************************************************************************
** main
******************************************************************************
----------------------------------------------------------------------------*/
.mv img {
  max-width: initial;
  width: 100%; }

.content_bg {
  width: 100%;
  padding: 0 calc(40 / 750 * 100%); }
  .content_bg .content {
    width: 100%; }

.cv_area {
  background-color: #f39800; }
  .cv_area .content {
    padding: calc(40 / 670 * 100%) 0; }
    .cv_area .content .ttl01 {
      width: 100%;
      font-size: 2em;
      line-height: 1;
      color: #fff;
      letter-spacing: .1em;
      text-align: center;
      margin-bottom: calc(20 / 670 * 100%); }
    .cv_area .content .box01 {
      width: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      -webkit-display: flex;
      -moz-display: flex;
      -ms-display: flex;
      -o-display: flex;
      display: flex;
      -webkit-justify-content: space-between;
      -moz-justify-content: space-between;
      -ms-justify-content: space-between;
      -o-justify-content: space-between;
      justify-content: space-between;
      -ms-align-items: center;
      align-items: center; }
      .cv_area .content .box01 .cv_tel {
        display: inline-block; }
      .cv_area .content .box01 .cv_contact {
        display: inline-block; }

.index01 .content {
  padding: calc(60 / 670 * 100%) 0 calc(70 / 670 * 100%); }
  .index01 .content .list01 {
    width: 100%;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    -webkit-display: flex;
    -moz-display: flex;
    -ms-display: flex;
    -o-display: flex;
    display: flex;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    -o-justify-content: space-between;
    justify-content: space-between;
    margin-top: calc(60 / 750 * 100vw); }
    .index01 .content .list01 li {
      width: 32%; }

.index02 {
  background-color: #fff7ef; }
  .index02 .content {
    padding: calc(80 / 670 * 100%) 0; }
    .index02 .content .ttl01 {
      font-size: 2.5em;
      line-height: 1.3;
      letter-spacing: .1em;
      text-align: center; }
    .index02 .content .list01 {
      width: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      -webkit-display: flex;
      -moz-display: flex;
      -ms-display: flex;
      -o-display: flex;
      display: flex;
      -webkit-justify-content: space-between;
      -moz-justify-content: space-between;
      -ms-justify-content: space-between;
      -o-justify-content: space-between;
      justify-content: space-between;
      margin-top: calc(50 / 670 * 100%); }
      .index02 .content .list01 li {
        width: 32%; }
    .index02 .content .ttl02 {
      font-size: 2.5em;
      color: #ec7000;
      line-height: 1.4;
      letter-spacing: .1em;
      text-align: center;
      padding-top: calc(120 / 670 * 100%);
      margin-top: calc(40 / 670 * 100%);
      position: relative; }
      .index02 .content .ttl02::before {
        content: '';
        background: url("../images/icon-01.png") no-repeat center center;
        width: calc(100 / 750 * 100vw);
        height: calc(100 / 750 * 100vw);
        background-size: contain;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%); }
      .index02 .content .ttl02 span {
        display: inline-block;
        border-bottom: solid 2px #ec7000; }
    .index02 .content .txt01 {
      font-size: 1.5em;
      text-align: center;
      margin-top: calc(20 / 670 * 100%); }
    .index02 .content .img01 {
      text-align: center;
      margin-top: calc(60 / 670 * 100%); }
    .index02 .content .txt02 {
      font-size: 1.5em;
      text-align: center;
      margin-top: calc(60 / 670 * 100%);
      position: relative;
      padding-bottom: calc(170 / 670 * 100%); }
      .index02 .content .txt02::before {
        content: '';
        background: url("../images/arrow01.png") no-repeat center center;
        width: calc( 329/ 750 * 100vw);
        height: calc( 100/ 750 * 100vw);
        background-size: contain;
        position: absolute;
        bottom: 0%;
        left: 50%;
        transform: translate(-50%, 0%); }
    .index02 .content .ttl03 {
      width: 100%;
      text-align: center;
      margin-top: calc(60 / 670 * 100%); }
      .index02 .content .ttl03 span {
        font-size: 2.5em;
        letter-spacing: .1em;
        color: #ec7000;
        position: relative;
        display: inline-block;
        padding: 10px 40px 0;
        line-height: 1; }
        .index02 .content .ttl03 span::before {
          content: '';
          width: 3px;
          height: 100%;
          background-color: #ec7000;
          position: absolute;
          bottom: -3px;
          left: 0;
          transform: rotate(-30deg); }
        .index02 .content .ttl03 span::after {
          content: '';
          width: 3px;
          height: 100%;
          background-color: #ec7000;
          position: absolute;
          bottom: -3px;
          right: 0;
          transform: rotate(30deg); }
    .index02 .content .list02 {
      width: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      -webkit-display: flex;
      -moz-display: flex;
      -ms-display: flex;
      -o-display: flex;
      display: flex;
      -webkit-justify-content: space-between;
      -moz-justify-content: space-between;
      -ms-justify-content: space-between;
      -o-justify-content: space-between;
      justify-content: space-between;
      margin-top: calc(60 / 670 * 100%); }
      .index02 .content .list02 li {
        width: 32%; }

.index03 {
  background-color: #f5f5f5; }
  .index03 .content {
    padding: calc(100 / 670 * 100%) 0; }
    .index03 .content .ttl01 {
      font-size: 2.5em;
      line-height: 1.3;
      letter-spacing: .1em;
      text-align: center; }
    .index03 .content .list01 {
      width: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      -webkit-display: flex;
      -moz-display: flex;
      -ms-display: flex;
      -o-display: flex;
      display: flex;
      -webkit-justify-content: space-between;
      -moz-justify-content: space-between;
      -ms-justify-content: space-between;
      -o-justify-content: space-between;
      justify-content: space-between;
      margin-top: calc(60 / 670 * 100%); }
      .index03 .content .list01 li {
        width: 33.333%; }
        .index03 .content .list01 li p {
          font-size: 1.25em;
          letter-spacing: .1em;
          margin-top: calc(20 / 223 * 100%);
          padding: 0 calc(10 / 223 * 100%); }
    .index03 .content .list02 {
      width: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      -webkit-display: flex;
      -moz-display: flex;
      -ms-display: flex;
      -o-display: flex;
      display: flex;
      -webkit-justify-content: space-between;
      -moz-justify-content: space-between;
      -ms-justify-content: space-between;
      -o-justify-content: space-between;
      justify-content: space-between;
      margin-top: calc(60 / 670 * 100%); }
      .index03 .content .list02 li {
        width: 49%; }

/*----------------------------------------------------------------------------
******************************************************************************
** footer
******************************************************************************
----------------------------------------------------------------------------*/
.ft_bg {
  width: 100%; }
  .ft_bg .ft01_bg {
    width: 100%;
    padding: 0 calc(40 / 750 * 100%) calc(90 / 750 * 100%); }
    .ft_bg .ft01_bg .ft01 {
      width: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      -webkit-display: flex;
      -moz-display: flex;
      -ms-display: flex;
      -o-display: flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      -moz-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      -o-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      -ms-justify-content: center;
      -o-justify-content: center;
      justify-content: center;
      padding: calc(25 / 670 * 100%) 0;
      margin: 0 auto; }
      .ft_bg .ft01_bg .ft01 a {
        width: calc(250 / 670 * 100%);
        display: inline-block; }
      .ft_bg .ft01_bg .ft01 .copy {
        width: 100%;
        font-size: .75em;
        text-align: center;
        margin-top: calc(20 / 670 * 100%); }
  .ft_bg .ft02_bg {
    width: 100%;
    background-color: #ef8200;
    padding: 0 calc(40 / 750 * 100%);
    transition: .3s; }
    .ft_bg .ft02_bg.fixed {
      position: fixed;
      bottom: 0;
      left: 0;
      opacity: 1;
      transition: .3s; }
    .ft_bg .ft02_bg .ft02 {
      width: 100%;
      display: -webkit-flex;
      display: -moz-flex;
      display: -ms-flex;
      display: -o-flex;
      -webkit-display: flex;
      -moz-display: flex;
      -ms-display: flex;
      -o-display: flex;
      display: flex;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      -ms-justify-content: center;
      -o-justify-content: center;
      justify-content: center;
      -ms-align-items: center;
      align-items: center;
      margin: 0 auto;
      opacity: 1; }
      .ft_bg .ft02_bg .ft02 a {
        display: inline-block; }
        .ft_bg .ft02_bg .ft02 a.ft_tel {
          margin-right: calc(20 / 670 * 100%); }
