@charset "UTF-8";
/* ===================================================================
CSS information
 style info
=================================================================== */
/*----------------------------------------------------
	基本設定
----------------------------------------------------*/
/* リンク設定 ====================*/
a:link {
  color: #000000;
  text-decoration: none; }
a:visited {
  color: #000000; }
a:hover {
  text-decoration: none; }
a:active {
  color: #000000; }

/* 画像サイズ可変 ====================*/
img {
  width: 100%; }

/* SP用画像非表示 ====================*/
img.pc {
  display: none; }

p.pc {
  display: none; }

br.pc {
  display: none; }

#container {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 15.6vw; }

.btn_inquiry {
  box-sizing: border-box;
  position: relative;
  background: #b7146c;
  border-radius: 1.06vw; }
  .btn_inquiry a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: #fff;
    background: #da3d94;
    border-radius: 1.06vw;
    z-index: 1; }

/*----------------------------------------------------
	header
----------------------------------------------------*/
header {
  box-sizing: border-box;
  position: fixed;
  top: 0;
  width: 100%;
  background: #fff;
  z-index: 100; }
  header p.description {
    display: none; }
  header .inner {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    height: 15.6vw;
    position: relative;
    margin: 0 auto; }
  header h1.logo {
    align-items: center;
    position: absolute;
    top: 4vw;
    left: 4vw;
    font-size: 2.4vw;
    font-weight: bold;
    line-height: 1; }
    header h1.logo img {
      display: block;
      width: 33.33vw;
      height: 3.86vw;
      margin-bottom: 1.33vw; }
  header .tel {
    position: absolute;
    top: 3.33vw;
    right: 18.66vw; }
    header .tel span {
      line-height: 1; }
      header .tel span:nth-child(1) {
        margin-right: 0.66vw;
        font-size: 2.66vw; }
      header .tel span:nth-child(2) {
        font-size: 4.53vw;
        font-weight: bold; }
      header .tel span:nth-child(3) {
        display: block;
        margin-top: 1.33vw;
        text-align: right;
        font-size: 2.13vw; }
  header .btn_inquiry {
    position: absolute;
    top: 2.13vw;
    right: 4vw;
    width: 10.66vw;
    height: 11.46vw;
    padding-bottom: 0.8vw; }
    header .btn_inquiry a {
      display: block;
      background: #da3d94 url("../img/ic_mail.png") center top 2.53vw no-repeat;
      background-size: 5.46vw 4vw; }
      header .btn_inquiry a span {
        display: none; }
      header .btn_inquiry a:after {
        content: '';
        display: block;
        position: absolute;
        left: 4.4vw;
        bottom: 2vw;
        width: 1.6vw;
        height: 1.6vw;
        margin-top: 4vw;
        border-top: solid 0.4vw #fff;
        border-right: solid 0.4vw #fff;
        -ms-transform: rotate(135deg);
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg); }

/*----------------------------------------------------
	mainvisual
----------------------------------------------------*/
#mainvisual:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 400vw;
  background: url("../img/bg_mainvisual.png");
  z-index: 0; }
#mainvisual .inner {
  box-sizing: border-box;
  position: relative;
  margin: 0 auto;
  padding: 8vw 0 0; }
  #mainvisual .inner h2 {
    width: 57.06vw;
    height: 36.66vw;
    margin: 0 auto 4.66vw; }
    #mainvisual .inner h2 img {
      width: 57.06vw;
      height: 36.66vw; }
  #mainvisual .inner p {
    width: 78.26vw;
    margin: 0 auto 4.66vw;
    font-size: 3.2vw;
    line-height: 2; }
  #mainvisual .inner .btn_inquiry {
    position: relative;
    width: 92vw;
    height: 15.46vw;
    margin: 0 auto;
    padding-bottom: 1.86vw; }
    #mainvisual .inner .btn_inquiry a span {
      margin-top: -0.26vw;
      font-size: 4.8vw;
      font-weight: bold; }
    #mainvisual .inner .btn_inquiry a:after {
      content: '';
      display: block;
      position: absolute;
      top: calc(50% - 0.8vw);
      right: 4vw;
      width: 1.6vw;
      height: 1.6vw;
      margin: -0.8vw 0 0 2.66vw;
      border-top: solid 0.53vw #fff;
      border-right: solid 0.53vw #fff;
      -ms-transform: rotate(135deg);
      -webkit-transform: rotate(135deg);
      transform: rotate(135deg); }
  #mainvisual .inner .sliderArea_pc01 {
    position: absolute;
    z-index: -1;
    opacity: 0; }
  #mainvisual .inner .sliderArea_pc02 {
    position: absolute;
    z-index: -1;
    opacity: 0; }
  #mainvisual .inner .sliderArea_sp {
    margin-bottom: 8vw; }
    #mainvisual .inner .sliderArea_sp ul {
      display: flex; }
      #mainvisual .inner .sliderArea_sp ul li {
        width: 35.46vw !important;
        margin-left: 5.33vw;
        padding: 0.63vw; }
        #mainvisual .inner .sliderArea_sp ul li img {
          box-shadow: 0 0 0.8vw #999; }

/*----------------------------------------------------
	section00
----------------------------------------------------*/
#section00 {
  position: relative;
  margin-top: 18.33vw;
  z-index: 0; }
  #section00:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: calc(50% - 400vw);
    width: 800vw;
    height: 800vw;
    transform: rotate(-9deg);
    background: #f0f0f0; }
  #section00 .inner {
    position: relative;
    margin: 0 auto;
    padding: 1.33vw 4vw 0;
    z-index: 99; }
    #section00 .inner h2 {
      width: 84vw;
      margin: 0 auto 8vw;
      text-align: center; }
    #section00 .inner ul.trouble {
      width: 84vw;
      margin: 0 auto 20vw; }
    #section00 .inner .solution {
      box-sizing: border-box;
      padding-bottom: 8vw;
      background: #fff;
      border: 2.66vw solid #fff100; }
      #section00 .inner .solution h3 {
        margin: -14.66vw auto 3.33vw;
        text-align: center; }
      #section00 .inner .solution h4 {
        margin: 5.33vw auto 6.66vw;
        text-align: center; }
      #section00 .inner .solution p {
        margin-bottom: 5.33vw;
        text-align: center;
        font-size: 3.73vw;
        line-height: 1.85; }
      #section00 .inner .solution ul:nth-child(3) {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: 0 auto;
        padding: 0 4vw; }
        #section00 .inner .solution ul:nth-child(3) li {
          margin: 0 1.33vw 4vw;
          padding: 1.8vw 1.663vw 2.4vw;
          font-size: 3.73vw;
          font-weight: bold;
          color: #fff;
          line-height: 1;
          background: #17767f;
          border-radius: 0.8vw; }
      #section00 .inner .solution ul:nth-child(6) {
        width: 71.06vw;
        margin: 0 auto; }
        #section00 .inner .solution ul:nth-child(6) li {
          margin-bottom: 2.66vw; }
          #section00 .inner .solution ul:nth-child(6) li:last-child {
            margin-bottom: 0; }

/*----------------------------------------------------
	section01,section02,section03 共通
----------------------------------------------------*/
#section01,
#section02,
#section03 {
  position: relative;
  margin-top: 16vw; }
  #section01 .inner,
  #section02 .inner,
  #section03 .inner {
    position: relative;
    margin: 0 auto;
    z-index: 99; }
    #section01 .inner h2,
    #section02 .inner h2,
    #section03 .inner h2 {
      margin-bottom: 5.33vw;
      padding: 0 4vw; }
    #section01 .inner h3,
    #section02 .inner h3,
    #section03 .inner h3 {
      box-sizing: border-box;
      height: 25.86vw;
      padding: 12.26vw 0 0 4vw;
      margin-bottom: 6.66vw;
      font-size: 4.8vw;
      font-weight: bold; }
    #section01 .inner .column,
    #section02 .inner .column,
    #section03 .inner .column {
      margin-bottom: 10.66vw; }
      #section01 .inner .column .cell,
      #section02 .inner .column .cell,
      #section03 .inner .column .cell {
        box-sizing: border-box; }
        #section01 .inner .column .cell:nth-child(1),
        #section02 .inner .column .cell:nth-child(1),
        #section03 .inner .column .cell:nth-child(1) {
          margin-bottom: 6.66vw;
          padding: 0 4vw; }
        #section01 .inner .column .cell p,
        #section02 .inner .column .cell p,
        #section03 .inner .column .cell p {
          font-size: 3.73vw;
          line-height: 2; }
    #section01 .inner .voiceArea,
    #section02 .inner .voiceArea,
    #section03 .inner .voiceArea {
      box-sizing: border-box;
      position: relative;
      margin: 0 4vw 16.66vw;
      padding: 9.33vw 6.66vw;
      background: #fff100;
      border-radius: 1.33vw; }
      #section01 .inner .voiceArea:after,
      #section02 .inner .voiceArea:after,
      #section03 .inner .voiceArea:after {
        content: '';
        display: block;
        position: absolute;
        width: 92vw;
        height: 17.06vw;
        left: 0;
        bottom: -11.73vw; }
      #section01 .inner .voiceArea h4,
      #section02 .inner .voiceArea h4,
      #section03 .inner .voiceArea h4 {
        margin: -13.33vw auto 2.66vw; }
      #section01 .inner .voiceArea p,
      #section02 .inner .voiceArea p,
      #section03 .inner .voiceArea p {
        font-size: 3.2vw;
        line-height: 2; }
        #section01 .inner .voiceArea p span,
        #section02 .inner .voiceArea p span,
        #section03 .inner .voiceArea p span {
          font-size: 4vw;
          font-weight: bold;
          text-decoration: underline; }
      #section01 .inner .voiceArea p.client,
      #section02 .inner .voiceArea p.client,
      #section03 .inner .voiceArea p.client {
        margin-top: 4vw;
        text-align: right;
        font-size: 2.66vw; }
  #section01 .btn_inquiry,
  #section02 .btn_inquiry,
  #section03 .btn_inquiry {
    position: relative;
    width: 80vw;
    height: 21.33vw;
    margin: 0 auto;
    padding-bottom: 1.86vw; }
    #section01 .btn_inquiry a span,
    #section02 .btn_inquiry a span,
    #section03 .btn_inquiry a span {
      margin-top: -0.26vw;
      text-align: center;
      font-size: 4.8vw;
      font-weight: bold; }
    #section01 .btn_inquiry a:after,
    #section02 .btn_inquiry a:after,
    #section03 .btn_inquiry a:after {
      content: '';
      display: block;
      position: absolute;
      top: calc(50% - 0.8vw);
      right: 4vw;
      width: 1.6vw;
      height: 1.6vw;
      margin: -0.8vw 0 0 2.66vw;
      border-top: solid 0.53vw #fff;
      border-right: solid 0.53vw #fff;
      -ms-transform: rotate(135deg);
      -webkit-transform: rotate(135deg);
      transform: rotate(135deg); }

/*----------------------------------------------------
	section01
----------------------------------------------------*/
#section01 {
  z-index: 1; }
  #section01:before {
    content: '';
    display: block;
    position: absolute;
    top: 5.33vw;
    left: calc(50% - 400vw);
    width: 800vw;
    height: 533.33vw;
    transform: rotate(-9deg);
    background: #fff; }
  #section01 .inner h3 {
    background: url("../img/sub_title01sp.png") left center no-repeat;
    background-size: cover; }
  #section01 .inner .voiceArea:after {
    background: url("../img/good01sp.png") left center no-repeat;
    background-size: cover; }

/*----------------------------------------------------
	section02
----------------------------------------------------*/
#section02 {
  z-index: 2; }
  #section02:before {
    content: '';
    display: block;
    position: absolute;
    top: 5.33vw;
    left: calc(50% - 400vw);
    width: 800vw;
    height: 533.33vw;
    transform: rotate(-9deg);
    background: #f0f0f0; }
  #section02 .inner h3 {
    background: url("../img/sub_title02sp.png") left center no-repeat;
    background-size: cover; }
  #section02 .inner .voiceArea:after {
    background: url("../img/good02sp.png") left center no-repeat;
    background-size: cover; }

/*----------------------------------------------------
	section03
----------------------------------------------------*/
#section03 {
  z-index: 3; }
  #section03:before {
    content: '';
    display: block;
    position: absolute;
    top: 5.33vw;
    left: calc(50% - 400vw);
    width: 800vw;
    height: 533.33vw;
    transform: rotate(-9deg);
    background: #fff; }
  #section03 .inner h3 {
    background: url("../img/sub_title03sp.png") left center no-repeat;
    background-size: cover; }
  #section03 .inner .voiceArea:after {
    background: url("../img/good03sp.png") left center no-repeat;
    background-size: cover; }

/*----------------------------------------------------
	section04
----------------------------------------------------*/
#section04 {
  position: relative;
  margin-top: 13.33vw;
  background: #cfedef;
  z-index: 4; }
  #section04:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 86.93vw;
    background: #cfedef;
    z-index: 0; }
  #section04 .inner {
    overflow: hidden;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 9.33vw 0 10.66vw; }
    #section04 .inner h2 {
      position: relative;
      margin-bottom: 6.66vw;
      text-align: center; }
    #section04 .inner .bx-wrapper {
      max-width: 100% !important; }
    #section04 .inner ul.slider03sp {
      padding: 0;
      left: 14.8vw; }
      #section04 .inner ul.slider03sp li {
        width: 65.06vw !important;
        margin: 0 2.66vw;
        padding-top: 0.8vw; }
        #section04 .inner ul.slider03sp li img {
          box-shadow: 0 0 0.8vw #999; }
        #section04 .inner ul.slider03sp li p {
          margin-top: 2vw;
          font-size: 3.73vw; }
    #section04 .inner a.bx-prev,
    #section04 .inner a.bx-next {
      display: flex;
      align-items: center;
      justify-content: center;
      position: absolute;
      width: 10.66vw;
      height: 10.66vw;
      z-index: 99;
      background: rgba(23, 118, 127, 0.6);
      border-radius: 50%; }
    #section04 .inner a.bx-prev {
      top: 41.19vw;
      left: 4vw; }
      #section04 .inner a.bx-prev:before {
        content: '';
        overflow: hidden;
        display: block;
        width: 2.13vw;
        height: 2.13vw;
        margin-left: 1.2vw;
        border-top: solid 0.53vw #fff;
        border-right: solid 0.53vw #fff;
        -ms-transform: rotate(-135deg);
        -webkit-transform: rotate(-135deg);
        transform: rotate(-135deg); }
    #section04 .inner a.bx-next {
      top: 41.19vw;
      right: 4vw; }
      #section04 .inner a.bx-next:before {
        content: '';
        overflow: hidden;
        display: block;
        width: 2.13vw;
        height: 2.13vw;
        margin-right: 1.2vw;
        border-top: solid 0.53vw #fff;
        border-right: solid 0.53vw #fff;
        -ms-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg); }
    #section04 .inner .sliderArea_pc {
      position: absolute;
      z-index: -1; }

/*----------------------------------------------------
	section05
----------------------------------------------------*/
#section05 {
  position: relative;
  background: #f0f0f0;
  z-index: 6; }
  #section05 .inner {
    box-sizing: border-box;
    margin: 0 auto;
    padding: 9.33vw 6vw 8vw; }
    #section05 .inner h2 {
      margin-bottom: 6.66vw;
      text-align: center; }
    #section05 .inner h3 {
      box-sizing: border-box;
      height: 20vw;
      padding: 10vw 0 0 4vw;
      margin-bottom: 3.33vw;
      font-size: 2.6rem;
      font-weight: bold;
      background: url("../img/sub_title03.png") left center no-repeat; }
    #section05 .inner figure {
      width: 84vw;
      margin: 0 auto; }

/*----------------------------------------------------
	contact
----------------------------------------------------*/
#contact {
  position: relative;
  background: url("../img/bg_contact.png");
  z-index: 6; }
  #contact .inner {
    box-sizing: border-box;
    margin: 0 auto;
    padding: 8vw 6vw; }
    #contact .inner h2 {
      margin-bottom: 6.66vw;
      text-align: center; }
    #contact .inner dl.form {
      margin: 0 auto 5.33vw;
      font-weight: bold; }
      #contact .inner dl.form dt {
        box-sizing: border-box;
        margin-bottom: 2vw;
        font-size: 3.2vw;
        line-height: 1;
        color: #fff; }
      #contact .inner dl.form dt.ic_required span:after {
        content: '必須';
        margin-left: 4vw;
        color: #fff100;
        line-height: 1; }
      #contact .inner dl.form dd {
        box-sizing: border-box;
        font-size: 3.73vw;
        line-height: 1.42; }
    #contact .inner .buttonArea {
      display: flex;
      justify-content: center;
      margin-top: 8vw; }
    #contact .inner input[type="text"],
    #contact .inner input[type="email"],
    #contact .inner button,
    #contact .inner textarea {
      margin: 0;
      padding: 0 0.66vw;
      font-size: 1.6rem;
      background: none;
      border: none;
      border-radius: 0;
      outline: none;
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none; }
    #contact .inner input[type="text"],
    #contact .inner input[type="email"] {
      box-sizing: border-box;
      width: 100%;
      padding: 1.6vw;
      background: #fff;
      border-radius: 0.53vw; }
    #contact .inner input[type="radio"] {
      display: none; }
    #contact .inner label.radio {
      display: block;
      margin-top: 4vw;
      line-height: 1;
      cursor: pointer; }
      #contact .inner label.radio:last-child {
        margin-bottom: 0; }
      #contact .inner label.radio span {
        display: flex;
        align-items: center;
        position: relative;
        color: #fff; }
        #contact .inner label.radio span:before {
          content: '';
          box-sizing: border-box;
          display: block;
          width: 5.33vw;
          height: 5.33vw;
          margin-right: 1.33vw;
          background: #fff;
          border-radius: 50%; }
      #contact .inner label.radio input:checked + span:before {
        background: #fff100; }
      #contact .inner label.radio input:checked + span:after {
        content: '';
        display: block;
        position: absolute;
        top: 1.33vw;
        left: 1.33vw;
        width: 2.66vw;
        height: 2.66vw;
        background: #17767f;
        border-radius: 50%; }
    #contact .inner textarea {
      box-sizing: border-box;
      width: 88vw;
      margin-right: 1.33vw;
      padding: 1.6vw;
      line-height: 1.42;
      background: #fff;
      border-radius: 0.53vw; }
    #contact .inner button.btn_submit {
      display: flex;
      align-items: center;
      justify-content: center;
      box-sizing: border-box;
      min-width: 45.6vw;
      height: 12vw;
      padding: 0 2.66vw;
      text-decoration: none;
      font-size: 3.73vw;
      font-weight: bold;
      color: #fff;
      background: #17767f;
      border: 0.53vw solid #fff;
      border-radius: 6vw;
      cursor: pointer; }

/*----------------------------------------------------
	pagetop
----------------------------------------------------*/
.pagetop {
  display: none;
  position: fixed;
  right: 4vw;
  padding-bottom: 4vw;
  display: block;
  z-index: 100; }
  .pagetop a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 12vw;
    height: 12vw;
    background: #fff;
    border: 0.53vw solid #17767f;
    border-radius: 50%; }
    .pagetop a:before {
      content: '';
      overflow: hidden;
      display: block;
      width: 2.13vw;
      height: 2.13vw;
      margin-top: 1.2vw;
      border-top: solid 0.53vw #17767f;
      border-right: solid 0.53vw #17767f;
      -ms-transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg); }

/*----------------------------------------------------
	footer
----------------------------------------------------*/
footer#footer {
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
  width: 100%; }
  footer#footer .inner {
    margin: 0 auto;
    padding: 10.66vw 4vw;
    background: #fff100; }
  footer#footer p.logo {
    width: 40vw;
    margin: 0 auto 6.66vw; }
  footer#footer ul li {
    text-align: center;
    font-size: 3.2vw;
    line-height: 1; }
  footer#footer ul li.address,
  footer#footer ul li.tel {
    margin-top: 2.66vw; }
  footer#footer ul li.access,
  footer#footer ul li.map {
    margin-top: 5.33vw; }
    footer#footer ul li.access a,
    footer#footer ul li.map a {
      box-sizing: border-box;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 34.66vw;
      height: 8.53vw;
      margin: 0 auto;
      font-size: 3.2vw;
      line-height: 1;
      background: #fff;
      border: 0.53vw solid #000;
      border-radius: 4.26vw; }
  footer#footer ul li.access {
    line-height: 1.5; }
    footer#footer ul li.access:before {
      content: 'アクセス：';
      display: block; }
  footer#footer p.copy {
    display: none;
    height: 0; }
  footer#footer p.copy_sp {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 20vw;
    font-size: 3.2vw;
    line-height: 1; }
