.family .mv {
  background: url("../family/img/bg_family.jpg") no-repeat center;
  background-size: cover; }
.family .contents01 .txtlead {
  max-width: 800px;
  margin: 0 auto; }
  .family .contents01 .txtlead span {
    display: inline-block; }
.family .contents02 .conts01 {
  background: url(/family/img/img_fam01.jpg) no-repeat center;
  background-size: cover; }
  .family .contents02 .conts01 .icon {
    background-color: rgba(242, 186, 195, 0.85); }
    .family .contents02 .conts01 .icon p {
      margin-top: .5em; }
.family .contents02 .conts02 {
  background: url(/family/img/img_fam02.jpg) no-repeat center;
  background-size: cover; }
  .family .contents02 .conts02 .icon {
    background-color: rgba(255, 218, 196, 0.85); }
    .family .contents02 .conts02 .icon p {
      margin-top: .5em; }
.family .contents02 .conts03 {
  background: url(/family/img/img_fam03.jpg) no-repeat center;
  background-size: cover; }
  .family .contents02 .conts03 .icon {
    background-color: rgba(184, 222, 170, 0.85); }
    .family .contents02 .conts03 .icon p {
      margin-top: .5em; }

@media screen and (max-width: 750px) {
  .pc-lower {
    display: none; }

  .family {
    margin: 0;
    padding: 0;
    width: 100%; }
    .family .contents01 {
      margin: 0 auto;
      padding: 50px 35px;
      width: 100%; }
      .family .contents01 h2 {
        margin-bottom: 15px;
        text-align: center;
        font-size: 20px;
        font-weight: bold;
        line-height: 1.5;
        letter-spacing: 0; }
        .family .contents01 h2 span {
          display: inline-block; }
      .family .contents01 .txtlead {
        text-align: center;
        font-size: 14px; }
        .family .contents01 .txtlead p {
          margin-bottom: 10px;
          text-align: left; }
          .family .contents01 .txtlead p:last-child {
            margin-bottom: 0; }
          .family .contents01 .txtlead p span {
            display: inline; }
    .family .contents02 {
      margin: 0 auto;
      padding: 0;
      width: 100%; }
      .family .contents02 .wrapper .inner {
        background-size: cover; }
        .family .contents02 .wrapper .inner .icon {
          text-align: center;
          color: #fff;
          font-size: 18px;
          padding: 50px 35px; }
          .family .contents02 .wrapper .inner .icon span {
            display: block;
            margin-bottom: 15px; }
            .family .contents02 .wrapper .inner .icon span:before {
              font-size: 100px; }
        .family .contents02 .wrapper .inner .text {
          width: 100%;
          height: 100%;
          background: rgba(147, 135, 137, 0.9) url(/common/img/bg_stripe.png) repeat;
          color: #fff;
          padding: 50px 35px; }
          .family .contents02 .wrapper .inner .text h3 {
            margin: 0 0 30px;
            font-size: 18px; }
          .family .contents02 .wrapper .inner .text p {
            margin: 0;
            font-size: 14px; }
    .family .qanda-content {
      margin: 0 auto;
      padding: 50px 20px; } }
@media screen and (max-width: 480px) {
  .family .mv {
    background: url(../family/img/bg_family_sp.jpg) no-repeat center;
    background-size: cover; }
    .family .mv .lead {
      letter-spacing: normal; }
  .family .contents01 {
    padding: 50px 20px; }
  .family .contents02 .conts01 {
    background-position: right 20% bottom 15%; }
  .family .contents02 .wrapper .inner .icon, .family .contents02 .wrapper .inner .text {
    padding: 50px 20px; } }
@media screen and (min-width: 768px) {
  .family .contents01 .txtlead span {
    display: inline-block; } }
@media screen and (min-width: 751px) and (max-width: 1199px) {
  .pc-lower {
    display: none; }

  .family {
    margin: 0;
    padding: 0;
    width: 100%; }
    .family .contents01 {
      margin: 0 auto;
      padding: 50px 0 40px;
      width: 100%; }
      .family .contents01 h2 {
        margin-bottom: 20px;
        text-align: center;
        font-size: 30px;
        font-weight: bold;
        line-height: 1.5;
        letter-spacing: 0; }
        .family .contents01 h2 span {
          display: inline-block; }
      .family .contents01 .txtlead {
        text-align: center;
        padding: 0 30px; }
        .family .contents01 .txtlead p {
          margin: 0 0 20px; }
          .family .contents01 .txtlead p:last-child {
            margin-bottom: 0; }
    .family .contents02 {
      margin: 0 auto;
      padding: 0;
      width: 100%; }
      .family .contents02 .wrapper .inner {
        display: table;
        width: 100%; }
        .family .contents02 .wrapper .inner .icon, .family .contents02 .wrapper .inner .text {
          display: table-cell;
          vertical-align: middle; }
        .family .contents02 .wrapper .inner .icon {
          text-align: center;
          color: #fff;
          font-size: 20px;
          width: 33.33%;
          padding: 30px 15px; }
          .family .contents02 .wrapper .inner .icon span {
            display: block;
            margin-bottom: 15px; }
            .family .contents02 .wrapper .inner .icon span:before {
              font-size: 80px; }
        .family .contents02 .wrapper .inner .text {
          width: 66.67%;
          background: rgba(125, 105, 83, 0.9) url(/common/img/bg_stripe.png) repeat;
          color: #fff;
          padding: 50px 0 40px; }
          .family .contents02 .wrapper .inner .text h3 {
            margin: 0 0 20px;
            padding: 0 20px 0 30px;
            font-size: 18px; }
          .family .contents02 .wrapper .inner .text .detail {
            padding: 0 20px 0 30px; }
            .family .contents02 .wrapper .inner .text .detail p {
              font-size: 14px;
              margin: 0 0 10px; }
              .family .contents02 .wrapper .inner .text .detail p:last-child {
                margin-bottom: 0; }
    .family .qanda-content {
      margin: 0 auto;
      padding: 70px 0;
      width: 100%; } }
@media screen and (min-width: 1200px) {
  .sp-lower {
    display: none; }

  .family {
    margin: 0;
    padding: 0;
    width: 100%; }
    .family .sp-br {
      display: none; }
    .family .contents01 {
      margin: 0 auto;
      padding: 65px 0;
      max-width: 1160px; }
      .family .contents01 h2 {
        margin-bottom: 25px;
        text-align: center;
        font-size: 30px;
        font-weight: bold;
        line-height: 1.5;
        letter-spacing: -0.01em; }
        .family .contents01 h2 span {
          display: inline-block; }
      .family .contents01 .txtlead {
        text-align: center; }
        .family .contents01 .txtlead p {
          margin-bottom: 20px; }
          .family .contents01 .txtlead p:last-child {
            margin-bottom: 0; }
    .family .contents02 .wrapper .inner {
      display: table;
      width: 100%; }
      .family .contents02 .wrapper .inner .icon, .family .contents02 .wrapper .inner .text {
        display: table-cell;
        vertical-align: middle; }
      .family .contents02 .wrapper .inner .icon {
        text-align: center;
        color: #fff;
        font-size: 19px;
        width: 33.33%;
        padding: 30px 15px; }
        .family .contents02 .wrapper .inner .icon span {
          display: block;
          margin-bottom: 25px; }
          .family .contents02 .wrapper .inner .icon span:before {
            font-size: 143px; }
      .family .contents02 .wrapper .inner .text {
        width: 66.67%;
        background: rgba(147, 135, 137, 0.9) url(/common/img/bg_stripe.png) repeat;
        color: #fff;
        padding: 115px 0; }
        .family .contents02 .wrapper .inner .text h3 {
          margin: 0 0 30px;
          padding: 0 0 0 50px;
          font-size: 22px; }
        .family .contents02 .wrapper .inner .text .detail p {
          margin: 0 0 20px;
          padding: 0 50px;
          font-size: 16px; }
          .family .contents02 .wrapper .inner .text .detail p:last-child {
            margin-bottom: 0; }
    .family .qanda-content {
      margin: 0 auto;
      padding: 70px 0 125px;
      width: 100%; } }
@media screen and (min-width: 1800px) {
  .sp-lower {
    display: none; }

  .family .contents02 .wrapper .inner .icon span {
    margin-bottom: 25px; }
    .family .contents02 .wrapper .inner .icon span:before {
      font-size: 143px; }
  .family .contents02 .wrapper .inner .text {
    padding: 115px 0; }
    .family .contents02 .wrapper .inner .text p {
      padding: 0 50px;
      font-size: 16px; } }

/*# sourceMappingURL=family.css.map */
