@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; }

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

p.sp {
  display: none; }

br.sp {
  display: none; }

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

.btn_inquiry {
  box-sizing: border-box;
  position: relative;
  background: #b7146c;
  border-radius: 8px; }
  .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: 8px; }
  .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: 8px;
    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: 30px;
    padding: 0 30px;
    font-size: 1.2rem;
    background: #f0f0f0; }
  header .inner {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    height: 70px;
    position: relative;
    margin: 0 auto; }
  header h1.logo {
    display: flex;
    align-items: center;
    position: absolute;
    top: 25px;
    left: 30px;
    font-size: 1.4rem;
    font-weight: bold; }
    header h1.logo img {
      display: block;
      width: 173px;
      height: 20px;
      margin-right: 20px; }
  header .tel {
    position: absolute;
    top: calc(50% - 13px);
    right: 270px; }
    header .tel span {
      line-height: 1; }
      header .tel span:nth-child(1) {
        margin-right: 5px;
        font-size: 1.4rem; }
      header .tel span:nth-child(2) {
        font-size: 2.8rem;
        font-weight: bold; }
      header .tel span:nth-child(3) {
        margin-left: 10px;
        font-size: 1rem; }
  header .btn_inquiry {
    position: absolute;
    top: 13px;
    right: 30px;
    width: 220px;
    height: 44px;
    padding-bottom: 4px; }
    header .btn_inquiry:before {
      height: 40px; }
    header .btn_inquiry a span {
      margin-top: -2px;
      font-size: 1.6rem;
      font-weight: bold; }
    header .btn_inquiry a:after {
      content: '';
      display: block;
      width: 7px;
      height: 7px;
      margin: -4px 0 0 10px;
      border-top: solid 2px #fff;
      border-right: solid 2px #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: 1000px;
  background: url("../img/bg_mainvisual.png");
  z-index: 0; }
#mainvisual .inner {
  box-sizing: border-box;
  position: relative;
  width: 1160px;
  margin: 0 auto;
  padding: 60px 80px 0; }
  #mainvisual .inner h2 {
    margin-bottom: 35px; }
  #mainvisual .inner p {
    margin-bottom: 35px;
    font-size: 1.6rem;
    line-height: 2; }
  #mainvisual .inner .btn_inquiry {
    width: 396px;
    height: 68px;
    padding-bottom: 8px; }
    #mainvisual .inner .btn_inquiry:before {
      height: 60px; }
    #mainvisual .inner .btn_inquiry a span {
      margin-top: -2px;
      font-size: 2rem;
      font-weight: bold; }
    #mainvisual .inner .btn_inquiry a:after {
      content: '';
      display: block;
      width: 7px;
      height: 7px;
      margin: -4px 0 0 10px;
      border-top: solid 2px #fff;
      border-right: solid 2px #fff;
      -ms-transform: rotate(135deg);
      -webkit-transform: rotate(135deg);
      transform: rotate(135deg); }
  #mainvisual .inner .sliderArea {
    width: 218px; }
    #mainvisual .inner .sliderArea .bx-viewport {
      height: 800px !important; }
    #mainvisual .inner .sliderArea ul li {
      width: 210px !important;
      margin-bottom: 40px;
      padding: 4px; }
      #mainvisual .inner .sliderArea ul li img {
        width: 100%;
        box-shadow: 0 0 6px #999; }
  #mainvisual .inner .sliderArea_pc01 {
    position: absolute;
    top: -152px;
    right: 332px; }
  #mainvisual .inner .sliderArea_pc02 {
    position: absolute;
    top: 0;
    right: 82px; }
  #mainvisual .inner .sliderArea_sp {
    position: absolute;
    z-index: -1;
    opacity: 0; }

/*----------------------------------------------------
	section00
----------------------------------------------------*/
#section00 {
  position: relative;
  margin-top: 80px;
  z-index: 0; }
  #section00:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: calc(50% - 3000px);
    width: 6000px;
    height: 6000px;
    transform: rotate(-9deg);
    background: #f0f0f0; }
  #section00 .inner {
    position: relative;
    width: 1160px;
    margin: 0 auto;
    padding: 45px 0 0;
    z-index: 99; }
    #section00 .inner h2 {
      margin-bottom: 70px;
      text-align: center; }
    #section00 .inner ul.trouble {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 150px; }
      #section00 .inner ul.trouble li {
        margin: 0 28px; }
    #section00 .inner .solution {
      box-sizing: border-box;
      width: 1100px;
      padding-bottom: 70px;
      background: #fff;
      border: 20px solid #fff100; }
      #section00 .inner .solution h3 {
        margin: -110px auto 25px;
        text-align: center; }
      #section00 .inner .solution h4 {
        margin: 40px auto;
        text-align: center; }
      #section00 .inner .solution p {
        margin-bottom: 25px;
        text-align: center;
        font-size: 1.6rem; }
      #section00 .inner .solution ul:nth-child(3) {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        width: 747px;
        margin: 0 auto 20px; }
        #section00 .inner .solution ul:nth-child(3) li {
          margin: 0 5px 10px;
          padding: 15px 10px;
          font-size: 2.2rem;
          font-weight: bold;
          color: #fff;
          line-height: 1;
          background: #17767f;
          border-radius: 6px; }
      #section00 .inner .solution ul:nth-child(6) {
        display: flex;
        justify-content: center; }
        #section00 .inner .solution ul:nth-child(6) li {
          margin: 0 11px; }

/*----------------------------------------------------
	section01,section02,section03 共通
----------------------------------------------------*/
#section01,
#section02,
#section03 {
  position: relative;
  margin-top: 130px; }
  #section01 .inner,
  #section02 .inner,
  #section03 .inner {
    position: relative;
    width: 1160px;
    margin: 0 auto;
    z-index: 99; }
    #section01 .inner h2,
    #section02 .inner h2,
    #section03 .inner h2 {
      margin-bottom: 40px;
      padding: 0 20px; }
    #section01 .inner h3,
    #section02 .inner h3,
    #section03 .inner h3 {
      box-sizing: border-box;
      height: 150px;
      padding: 75px 0 0 30px;
      margin-bottom: 25px;
      font-size: 2.6rem;
      font-weight: bold; }
    #section01 .inner .column,
    #section02 .inner .column,
    #section03 .inner .column {
      display: flex;
      width: 1160px;
      margin: 0 auto 55px; }
      #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.6rem;
          line-height: 2; }
    #section01 .inner .voiceArea,
    #section02 .inner .voiceArea,
    #section03 .inner .voiceArea {
      box-sizing: border-box;
      position: relative;
      width: 846px;
      margin: 0 auto 84px;
      padding: 45px 40px 15px;
      background: #fff100;
      border-radius: 10px; }
      #section01 .inner .voiceArea:after,
      #section02 .inner .voiceArea:after,
      #section03 .inner .voiceArea:after {
        display: block;
        position: absolute;
        left: calc(50% - 80px);
        bottom: -60px; }
      #section01 .inner .voiceArea h4,
      #section02 .inner .voiceArea h4,
      #section03 .inner .voiceArea h4 {
        width: 166px;
        height: 42px;
        margin: -70px auto 20px; }
      #section01 .inner .voiceArea p,
      #section02 .inner .voiceArea p,
      #section03 .inner .voiceArea p {
        font-size: 1.6rem;
        line-height: 2; }
        #section01 .inner .voiceArea p span,
        #section02 .inner .voiceArea p span,
        #section03 .inner .voiceArea p span {
          font-size: 2rem;
          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.2rem; }
  #section01 .btn_inquiry,
  #section02 .btn_inquiry,
  #section03 .btn_inquiry {
    width: 600px;
    height: 92px;
    margin: 0 auto;
    padding-bottom: 10px; }
    #section01 .btn_inquiry:before,
    #section02 .btn_inquiry:before,
    #section03 .btn_inquiry:before {
      height: 82px; }
    #section01 .btn_inquiry a span,
    #section02 .btn_inquiry a span,
    #section03 .btn_inquiry a span {
      margin-top: -2px;
      font-size: 2.6rem;
      font-weight: bold; }
    #section01 .btn_inquiry a:after,
    #section02 .btn_inquiry a:after,
    #section03 .btn_inquiry a:after {
      content: '';
      display: block;
      width: 12px;
      height: 12px;
      margin: -6px 0 0 20px;
      border-top: solid 4px #fff;
      border-right: solid 4px #fff;
      -ms-transform: rotate(135deg);
      -webkit-transform: rotate(135deg);
      transform: rotate(135deg); }

/*----------------------------------------------------
	section01
----------------------------------------------------*/
#section01 {
  margin-top: 140px;
  z-index: 1; }
  #section01:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: calc(50% - 3000px);
    width: 6000px;
    height: 2000px;
    transform: rotate(-9deg);
    background: #fff; }
  #section01 .inner h3 {
    background: url("../img/sub_title01.png") left center no-repeat; }
  #section01 .inner .column .cell:nth-child(1) {
    padding: 0 20px 0 50px;
    order: 2; }
  #section01 .inner .voiceArea:after {
    content: url("../img/good01.png"); }

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

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

/*----------------------------------------------------
	section04
----------------------------------------------------*/
#section04 {
  position: relative;
  margin-top: 100px;
  background: #cfedef;
  z-index: 4; }
  #section04:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 478px;
    background: #cfedef;
    z-index: 0; }
  #section04 .inner {
    box-sizing: border-box;
    margin: 0 auto;
    padding: 50px 0 60px; }
    #section04 .inner h2 {
      position: relative;
      margin-bottom: 40px;
      text-align: center; }
    #section04 .inner .bx-wrapper {
      max-width: 100% !important; }
    #section04 .inner ul.slider03 {
      display: flex;
      padding: 0; }
      #section04 .inner ul.slider03 li {
        width: 380px !important;
        margin-right: 40px;
        padding-top: 6px; }
        #section04 .inner ul.slider03 li img {
          width: 100%;
          box-shadow: 0 0 6px #999; }
        #section04 .inner ul.slider03 li p {
          margin-top: 5px;
          font-size: 1.4rem; }
    #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;
    width: 1160px;
    margin: 0 auto;
    padding: 50px 30px 60px; }
    #section05 .inner h2 {
      margin-bottom: 40px;
      text-align: center; }
    #section05 .inner h3 {
      box-sizing: border-box;
      height: 150px;
      padding: 75px 0 0 30px;
      margin-bottom: 25px;
      font-size: 2.6rem;
      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;
    width: 1160px;
    margin: 0 auto;
    padding: 60px 30px; }
    #contact .inner h2 {
      margin-bottom: 50px;
      text-align: center; }
    #contact .inner dl.form {
      display: flex;
      width: 846px;
      margin: 0 auto 30px;
      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: 115px;
        margin-right: 20px;
        font-size: 1.4rem;
        line-height: 1;
        color: #fff; }
      #contact .inner dl.form dt.ic_required span:after {
        content: '必須';
        display: block;
        width: 100%;
        margin-top: 5px;
        text-align: right;
        color: #fff100;
        line-height: 1; }
      #contact .inner dl.form dd {
        box-sizing: border-box;
        width: 585px;
        font-size: 1.6rem;
        line-height: 1.42; }
    #contact .inner .buttonArea {
      display: flex;
      justify-content: center;
      margin-top: 40px; }
    #contact .inner input[type="text"],
    #contact .inner input[type="email"],
    #contact .inner button,
    #contact .inner textarea {
      margin: 0;
      padding: 0 5px;
      font-size: 1.4rem;
      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: 12px;
      background: #fff;
      border-radius: 4px; }
    #contact .inner input[type="radio"] {
      display: none; }
    #contact .inner label.radio {
      display: block;
      margin-bottom: 10px;
      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: 20px;
          height: 20px;
          margin-right: 10px;
          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: 5px;
        left: 5px;
        width: 10px;
        height: 10px;
        background: #17767f;
        border-radius: 50%; }
    #contact .inner textarea {
      box-sizing: border-box;
      width: 100%;
      padding: 12px;
      line-height: 1.42;
      background: #fff;
      border-radius: 4px; }
    #contact .inner button.btn_submit {
      display: flex;
      align-items: center;
      justify-content: center;
      box-sizing: border-box;
      min-width: 190px;
      height: 50px;
      padding: 0 20px;
      text-decoration: none;
      font-size: 1.8rem;
      font-weight: bold;
      color: #fff;
      background: #17767f;
      border: 2px solid #fff;
      border-radius: 25px;
      transition: all 0.2s ease;
      cursor: pointer; }
      #contact .inner button.btn_submit:hover {
        color: #17767f;
        background: #fff100;
        transition: all 0.2s ease; }

/*----------------------------------------------------
	pagetop
----------------------------------------------------*/
.pagetop {
  display: none;
  position: fixed;
  right: 30px;
  bottom: 120px;
  padding-bottom: 45px;
  display: block;
  z-index: 100; }
  .pagetop a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 60px;
    height: 60px;
    background: #fff;
    border: 2px solid #17767f;
    border-radius: 30px;
    transition: all 0.2s ease; }
    .pagetop a:hover {
      background: #fff100;
      transition: all 0.2s ease; }
    .pagetop a:before {
      content: '';
      overflow: hidden;
      display: block;
      width: 14px;
      height: 14px;
      margin-top: 7px;
      border-top: solid 3px #17767f;
      border-right: solid 3px #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: 50px 30px 40px;
    background: #fff100; }
  footer#footer p.logo {
    display: flex;
    align-items: center;
    margin-right: 35px; }
    footer#footer p.logo img {
      width: 217px; }
  footer#footer ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center; }
    footer#footer ul:nth-child(2) {
      width: 310px;
      padding: 5px 30px 5px 0;
      margin-right: 30px;
      border-right: 1px solid #000; }
    footer#footer ul:nth-child(3) {
      width: 420px; }
    footer#footer ul li {
      font-size: 1.4rem;
      line-height: 1; }
    footer#footer ul li.address,
    footer#footer ul li.tel {
      margin-top: 10px; }
    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: 10px; }
      footer#footer ul li.map a {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 130px;
        height: 30px;
        font-size: 1.4rem;
        line-height: 1;
        background: #fff;
        border: 2px solid #000;
        border-radius: 15px;
        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: 72px;
    font-size: 1.4rem;
    line-height: 1; }
  footer#footer p.copy_sp {
    display: none; }
