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

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

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

p.sp {
  display: none; }

br.sp {
  display: none; }

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

.btn_inquiry {
  box-sizing: border-box;
  position: relative;
  background: #b7146c;
  border-radius: 0.68vw; }
  .btn_inquiry:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to left, #f3068c 0%, #ff6bbe 100%);
    border-radius: 0.68vw; }
  .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: 0.68vw;
    z-index: 1;
    transition: all 0.2s ease; }
    .btn_inquiry a:hover {
      background: none;
      transition: all 0.2s ease; }

/*----------------------------------------------------
	header
----------------------------------------------------*/
header {
  box-sizing: border-box;
  position: fixed;
  top: 0;
  width: 100%;
  background: #fff;
  z-index: 100; }
  header p.description {
    display: flex;
    align-items: center;
    height: 2.58vw;
    padding: 0 2.58vw;
    font-size: 1.03vw;
    background: #f0f0f0; }
  header .inner {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    height: 6.03vw;
    position: relative;
    margin: 0 auto; }
  header h1.logo {
    display: flex;
    align-items: center;
    position: absolute;
    top: 2.15vw;
    left: 2.58vw;
    font-size: 1.2vw;
    font-weight: bold; }
    header h1.logo img {
      display: block;
      width: 14.91vw;
      height: 1.72vw;
      margin-right: 1.72vw; }
  header .tel {
    position: absolute;
    top: calc(50% - 1.12vw);
    right: 23.27vw; }
    header .tel span {
      line-height: 1; }
      header .tel span:nth-child(1) {
        margin-right: 0.43vw;
        font-size: 1.2vw; }
      header .tel span:nth-child(2) {
        font-size: 2.41vw;
        font-weight: bold; }
      header .tel span:nth-child(3) {
        margin-left: 0.86vw;
        font-size: 0.86vw; }
  header .btn_inquiry {
    position: absolute;
    top: 1.12vw;
    right: 2.58vw;
    width: 18.96vw;
    height: 3.79vw;
    padding-bottom: 0.34vw; }
    header .btn_inquiry:before {
      height: 3.44vw; }
    header .btn_inquiry a span {
      margin-top: -0.17vw;
      font-size: 1.37vw;
      font-weight: bold; }
    header .btn_inquiry a:after {
      content: '';
      display: block;
      width: 0.6vw;
      height: 0.6vw;
      margin: -0.34vw 0 0 0.86vw;
      border-top: solid 0.17vw #fff;
      border-right: solid 0.17vw #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: 86.2vw;
  background: url("../img/bg_mainvisual.png");
  z-index: 0; }
#mainvisual .inner {
  box-sizing: border-box;
  position: relative;
  margin: 0 auto;
  padding: 5.17vw 6.89vw 0; }
  #mainvisual .inner h2 {
    width: 34.05vw;
    margin-bottom: 3.01vw; }
  #mainvisual .inner p {
    margin-bottom: 3.01vw;
    font-size: 1.37vw;
    line-height: 2; }
  #mainvisual .inner .btn_inquiry {
    width: 34.13vw;
    height: 5.86vw;
    padding-bottom: 0.68vw; }
    #mainvisual .inner .btn_inquiry:before {
      height: 5.17vw; }
    #mainvisual .inner .btn_inquiry a span {
      margin-top: -0.17vw;
      font-size: 1.72vw;
      font-weight: bold; }
    #mainvisual .inner .btn_inquiry a:after {
      content: '';
      display: block;
      width: 0.6vw;
      height: 0.6vw;
      margin: -0.34vw 0 0 0.86vw;
      border-top: solid 0.17vw #fff;
      border-right: solid 0.17vw #fff;
      -ms-transform: rotate(135deg);
      -webkit-transform: rotate(135deg);
      transform: rotate(135deg); }
  #mainvisual .inner .sliderArea {
    width: 18.79vw; }
    #mainvisual .inner .sliderArea .bx-viewport {
      height: 68.96vw !important; }
    #mainvisual .inner .sliderArea ul li {
      width: 18.1vw !important;
      margin-bottom: 3.44vw;
      padding: 0.34vw; }
      #mainvisual .inner .sliderArea ul li img {
        width: 100%;
        box-shadow: 0 0 0.51vw #999; }
  #mainvisual .inner .sliderArea_pc01 {
    position: absolute;
    top: -13.1vw;
    right: 28.62vw; }
  #mainvisual .inner .sliderArea_pc02 {
    position: absolute;
    top: 0;
    right: 7.06vw; }
  #mainvisual .inner .sliderArea_sp {
    position: absolute;
    z-index: -1;
    opacity: 0; }

/*----------------------------------------------------
	section00
----------------------------------------------------*/
#section00 {
  position: relative;
  margin-top: 6.89vw;
  z-index: 0; }
  #section00:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: calc(50% - 258.62vw);
    width: 517.24vw;
    height: 517.24vw;
    transform: rotate(-9deg);
    background: #f0f0f0; }
  #section00 .inner {
    position: relative;
    margin: 0 auto;
    padding: 3.87vw 0 0;
    z-index: 99; }
    #section00 .inner h2 {
      margin-bottom: 6.03vw;
      text-align: center; }
    #section00 .inner ul.trouble {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 12.93vw; }
      #section00 .inner ul.trouble li {
        width: 25vw;
        margin: 0 2.41vw; }
    #section00 .inner .solution {
      box-sizing: border-box;
      width: 94.82vw;
      margin: 0 auto;
      padding-bottom: 6.03vw;
      background: #fff;
      border: 1.72vw solid #fff100; }
      #section00 .inner .solution h3 {
        margin: -8.62vw auto 2.15vw;
        text-align: center; }
      #section00 .inner .solution h4 {
        margin: 3.44vw auto;
        text-align: center; }
      #section00 .inner .solution p {
        margin-bottom: 2.15vw;
        text-align: center;
        font-size: 1.37vw; }
      #section00 .inner .solution ul:nth-child(3) {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        width: 64.39vw;
        margin: 0 auto 1.72vw; }
        #section00 .inner .solution ul:nth-child(3) li {
          margin: 0 0.43vw 0.86vw;
          padding: 1.29vw 0.86vw;
          font-size: 1.89vw;
          font-weight: bold;
          color: #fff;
          line-height: 1;
          background: #17767f;
          border-radius: 0.51vw; }
      #section00 .inner .solution ul:nth-child(6) {
        display: flex;
        justify-content: center; }
        #section00 .inner .solution ul:nth-child(6) li {
          width: 21.37vw;
          margin: 0 0.94vw; }

/*----------------------------------------------------
	section01,section02,section03 共通
----------------------------------------------------*/
#section01,
#section02,
#section03 {
  position: relative;
  margin-top: 11.2vw; }
  #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: 3.44vw;
      padding: 0 1.72vw; }
    #section01 .inner h3,
    #section02 .inner h3,
    #section03 .inner h3 {
      box-sizing: border-box;
      height: 12.93vw;
      padding: 6.46vw 0 0 2.58vw;
      margin-bottom: 2.15vw;
      font-size: 2.24vw;
      font-weight: bold; }
    #section01 .inner .column,
    #section02 .inner .column,
    #section03 .inner .column {
      display: flex;
      margin: 0 auto 4.74vw; }
      #section01 .inner .column .cell,
      #section02 .inner .column .cell,
      #section03 .inner .column .cell {
        box-sizing: border-box;
        width: 50%; }
        #section01 .inner .column .cell p,
        #section02 .inner .column .cell p,
        #section03 .inner .column .cell p {
          font-size: 1.37vw;
          line-height: 2; }
    #section01 .inner .voiceArea,
    #section02 .inner .voiceArea,
    #section03 .inner .voiceArea {
      box-sizing: border-box;
      position: relative;
      width: 72.93vw;
      margin: 0 auto 7.24vw;
      padding: 3.87vw 3.44vw 1.29vw;
      background: #fff100;
      border-radius: 0.86vw; }
      #section01 .inner .voiceArea:after,
      #section02 .inner .voiceArea:after,
      #section03 .inner .voiceArea:after {
        content: '';
        width: 13.87vw;
        height: 7.32vw;
        display: block;
        position: absolute;
        left: calc(50% - 6.89vw);
        bottom: -5.17vw; }
      #section01 .inner .voiceArea h4,
      #section02 .inner .voiceArea h4,
      #section03 .inner .voiceArea h4 {
        width: 14.31vw;
        height: 3.62vw;
        margin: -6.03vw auto 1.72vw; }
      #section01 .inner .voiceArea p,
      #section02 .inner .voiceArea p,
      #section03 .inner .voiceArea p {
        font-size: 1.37vw;
        line-height: 2; }
        #section01 .inner .voiceArea p span,
        #section02 .inner .voiceArea p span,
        #section03 .inner .voiceArea p span {
          font-size: 1.72vw;
          font-weight: bold;
          text-decoration: underline; }
      #section01 .inner .voiceArea p.client,
      #section02 .inner .voiceArea p.client,
      #section03 .inner .voiceArea p.client {
        text-align: right;
        font-size: 1.03vw; }
  #section01 .btn_inquiry,
  #section02 .btn_inquiry,
  #section03 .btn_inquiry {
    width: 51.72vw;
    height: 7.93vw;
    margin: 0 auto;
    padding-bottom: 0.86vw; }
    #section01 .btn_inquiry:before,
    #section02 .btn_inquiry:before,
    #section03 .btn_inquiry:before {
      height: 7.06vw; }
    #section01 .btn_inquiry a span,
    #section02 .btn_inquiry a span,
    #section03 .btn_inquiry a span {
      margin-top: -0.17vw;
      font-size: 2.24vw;
      font-weight: bold; }
    #section01 .btn_inquiry a:after,
    #section02 .btn_inquiry a:after,
    #section03 .btn_inquiry a:after {
      content: '';
      display: block;
      width: 1.03vw;
      height: 1.03vw;
      margin: -0.51vw 0 0 1.72vw;
      border-top: solid 0.34vw #fff;
      border-right: solid 0.34vw #fff;
      -ms-transform: rotate(135deg);
      -webkit-transform: rotate(135deg);
      transform: rotate(135deg); }

/*----------------------------------------------------
	section01
----------------------------------------------------*/
#section01 {
  margin-top: 12.06vw;
  z-index: 1; }
  #section01:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: calc(50% - 258.62vw);
    width: 517.24vw;
    height: 172.41vw;
    transform: rotate(-9deg);
    background: #fff; }
  #section01 .inner h3 {
    background: url("../img/sub_title01.png") left center no-repeat;
    background-size: cover; }
  #section01 .inner .column .cell:nth-child(1) {
    padding: 0 1.72vw 0 4.31vw;
    order: 2; }
  #section01 .inner .voiceArea:after {
    background: url("../img/good01.png") left center no-repeat;
    background-size: cover; }

/*----------------------------------------------------
	section02
----------------------------------------------------*/
#section02 {
  z-index: 2; }
  #section02:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: calc(50% - 258.62vw);
    width: 517.24vw;
    height: 172.41vw;
    transform: rotate(-9deg);
    background: #f0f0f0; }
  #section02 .inner h3 {
    background: url("../img/sub_title02.png") left center no-repeat;
    background-size: cover; }
  #section02 .inner .column .cell:nth-child(1) {
    padding: 0 4.31vw 0 1.72vw; }
  #section02 .inner .voiceArea:after {
    background: url("../img/good02.png") left center no-repeat;
    background-size: cover; }

/*----------------------------------------------------
	section03
----------------------------------------------------*/
#section03 {
  z-index: 3; }
  #section03:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: calc(50% - 258.62vw);
    width: 517.24vw;
    height: 172.41vw;
    transform: rotate(-9deg);
    background: #fff; }
  #section03 .inner h3 {
    background: url("../img/sub_title03.png") left center no-repeat;
    background-size: cover; }
  #section03 .inner .column .cell:nth-child(1) {
    padding: 0 1.72vw 0 4.31vw;
    order: 2; }
  #section03 .inner .voiceArea:after {
    background: url("../img/good03.png") left center no-repeat;
    background-size: cover; }

/*----------------------------------------------------
	section04
----------------------------------------------------*/
#section04 {
  position: relative;
  margin-top: 8.62vw;
  background: #cfedef;
  z-index: 4; }
  #section04:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 41.2vw;
    background: #cfedef;
    z-index: 0; }
  #section04 .inner {
    box-sizing: border-box;
    margin: 0 auto;
    padding: 4.31vw 0 5.17vw; }
    #section04 .inner h2 {
      position: relative;
      margin-bottom: 3.44vw;
      text-align: center; }
    #section04 .inner .bx-wrapper {
      max-width: 100% !important; }
    #section04 .inner ul.slider03 {
      padding: 0; }
      #section04 .inner ul.slider03 li {
        width: 32.75vw !important;
        margin-right: 3.44vw;
        padding-top: 0.51vw; }
        #section04 .inner ul.slider03 li img {
          width: 100%;
          box-shadow: 0 0 0.51vw #999; }
        #section04 .inner ul.slider03 li p {
          margin-top: 0.43vw;
          font-size: 1.2vw; }
    #section04 .inner .sliderArea_sp {
      position: absolute;
      z-index: -1;
      opacity: 0; }

/*----------------------------------------------------
	section05
----------------------------------------------------*/
#section05 {
  position: relative;
  background: #f0f0f0;
  z-index: 5; }
  #section05 .inner {
    box-sizing: border-box;
    margin: 0 auto;
    padding: 4.31vw 2.58vw 5.17vw; }
    #section05 .inner h2 {
      margin-bottom: 3.44vw;
      text-align: center; }
    #section05 .inner h3 {
      box-sizing: border-box;
      height: 12.93vw;
      padding: 6.46vw 0 0 2.58vw;
      margin-bottom: 2.15vw;
      font-size: 2.24vw;
      font-weight: bold;
      background: url("../img/sub_title03.png") left center no-repeat; }

/*----------------------------------------------------
	contact
----------------------------------------------------*/
#contact {
  position: relative;
  background: url("../img/bg_contact.png");
  z-index: 6; }
  #contact .inner {
    box-sizing: border-box;
    margin: 0 auto;
    padding: 5.17vw 2.58vw; }
    #contact .inner h2 {
      margin-bottom: 4.31vw;
      text-align: center; }
    #contact .inner dl.form {
      display: flex;
      width: 72.93vw;
      margin: 0 auto 2.58vw;
      font-weight: bold; }
      #contact .inner dl.form dt {
        box-sizing: border-box;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-end;
        width: 9.91vw;
        margin-right: 1.72vw;
        font-size: 1.2vw;
        line-height: 1;
        color: #fff; }
      #contact .inner dl.form dt.ic_required span:after {
        content: '必須';
        display: block;
        width: 100%;
        margin-top: 0.43vw;
        text-align: right;
        color: #fff100;
        line-height: 1; }
      #contact .inner dl.form dd {
        box-sizing: border-box;
        width: 50.43vw;
        font-size: 1.37vw;
        line-height: 1.42; }
    #contact .inner .buttonArea {
      display: flex;
      justify-content: center;
      margin-top: 3.44vw; }
    #contact .inner input[type="text"],
    #contact .inner input[type="email"],
    #contact .inner button,
    #contact .inner textarea {
      margin: 0;
      padding: 0 0.43vw;
      font-size: 1.2vw;
      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%;
      margin-right: 0.86vw;
      padding: 1.03vw;
      background: #fff;
      border-radius: 0.34vw; }
    #contact .inner input[type="radio"] {
      display: none; }
    #contact .inner label.radio {
      display: block;
      margin-bottom: 0.86vw;
      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: 1.72vw;
          height: 1.72vw;
          margin-right: 0.86vw;
          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: 0.43vw;
        left: 0.43vw;
        width: 0.86vw;
        height: 0.86vw;
        background: #17767f;
        border-radius: 50%; }
    #contact .inner textarea {
      box-sizing: border-box;
      width: 100%;
      padding: 1.03vw;
      line-height: 1.42;
      background: #fff;
      border-radius: 0.34vw; }
    #contact .inner button.btn_submit {
      display: flex;
      align-items: center;
      justify-content: center;
      box-sizing: border-box;
      min-width: 16.37vw;
      height: 4.31vw;
      padding: 0 1.72vw;
      text-decoration: none;
      font-size: 1.55vw;
      font-weight: bold;
      color: #fff;
      background: #17767f;
      border: 0.17vw solid #fff;
      border-radius: 2.15vw;
      cursor: pointer;
      transition: all 0.2s ease; }
      #contact .inner button.btn_submit:hover {
        color: #17767f;
        background: #fff100;
        transition: all 0.2s ease; }

/*----------------------------------------------------
	pagetop
----------------------------------------------------*/
.pagetop {
  display: none;
  position: fixed;
  right: 2.58vw;
  bottom: 10.34vw;
  padding-bottom: 3.87vw;
  display: block;
  z-index: 100; }
  .pagetop a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 5.17vw;
    height: 5.17vw;
    background: #fff;
    border: 0.17vw solid #17767f;
    border-radius: 2.58vw;
    transition: all 0.2s ease; }
    .pagetop a:hover {
      background: #fff100;
      transition: all 0.2s ease; }
    .pagetop a:before {
      content: '';
      overflow: hidden;
      display: block;
      width: 1.2vw;
      height: 1.2vw;
      margin-top: 0.6vw;
      border-top: solid 0.25vw #17767f;
      border-right: solid 0.25vw #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 {
    display: flex;
    margin: 0 auto;
    padding: 4.31vw 2.58vw 3.44vw;
    background: #fff100; }
  footer#footer p.logo {
    display: flex;
    align-items: center;
    margin-right: 3.01vw; }
    footer#footer p.logo img {
      width: 18.7vw; }
  footer#footer ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center; }
    footer#footer ul:nth-child(2) {
      width: 26.72vw;
      padding-right: 2.58vw;
      margin-right: 2.58vw;
      border-right: 0.08vw solid #000; }
    footer#footer ul:nth-child(3) {
      width: 36.2vw; }
    footer#footer ul li {
      font-size: 1.2vw;
      line-height: 1; }
    footer#footer ul li.address,
    footer#footer ul li.tel {
      margin-top: 1.12vw; }
    footer#footer ul li.access {
      position: relative;
      padding-left: 5em;
      line-height: 1.5; }
      footer#footer ul li.access:before {
        content: 'アクセス：';
        display: block;
        position: absolute;
        top: 0;
        left: 0; }
    footer#footer ul li.map {
      margin-top: 0.86vw; }
      footer#footer ul li.map a {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 11.2vw;
        height: 2.58vw;
        font-size: 1.2vw;
        line-height: 1;
        background: #fff;
        border: 0.17vw solid #000;
        border-radius: 1.29vw;
        transition: all 0.2s ease; }
        footer#footer ul li.map a:hover {
          text-decoration: none;
          background: #fff100;
          transition: all 0.2s ease; }
  footer#footer p.copy {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 6.2vw;
    font-size: 1.2vw;
    line-height: 1; }
  footer#footer p.copy_sp {
    display: none; }
