#family {
  height: 100%; }
  #family .box-remaining {
    height: 100%;
    position: relative; }
    #family .box-remaining .whiteback {
      height: auto;
      width: 90%;
      background-color: white;
      position: relative;
      margin: 0 auto;
      padding: 100px 0; }
      #family .box-remaining .whiteback .wrapper h1 {
        letter-spacing: 0.8rem;
        text-align: center;
        font-weight: bold;
        font-size: 33px;
        color: #002446; }
      #family .box-remaining .whiteback .wrapper .message-box {
        margin: 80px 0 0;
        padding: 50px 0;
        position: relative;
        text-align: center;
        line-height: 2.0;
        border: solid 1px;
        border-color: #002446;
        color: #002446;
        letter-spacing: 0.1em;
        font-size: 20px; }
        #family .box-remaining .whiteback .wrapper .message-box ::after {
          content: "";
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          margin: 0 auto;
          border-right: 100px solid transparent;
          border-top: 100px solid #002446;
          height: 0;
          width: 0; }
        #family .box-remaining .whiteback .wrapper .message-box ::before {
          content: "";
          display: block;
          position: absolute;
          bottom: 0;
          right: 0;
          margin: 0 auto;
          border-left: 100px solid transparent;
          border-bottom: 100px solid #002446;
          height: 0;
          width: 0; }
      #family .box-remaining .whiteback .wrapper h2 {
        margin-top: 100px;
        margin-bottom: 30px;
        text-align: left;
        font-weight: bold;
        font-size: 28px;
        color: #002446;
        letter-spacing: 0.1em; }
        #family .box-remaining .whiteback .wrapper h2 span {
          font-size: 20px;
          margin-left: 30px; }
      #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box {
        width: 100%;
        display: flex;
        margin: 60px 0;
        position: relative; }
        #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box p {
          width: 80%;
          margin-right: auto;
          background-color: rgba(255, 255, 255, 0.781);
          padding: 20px;
          color: #002446;
          line-height: 1.7rem;
          font-size: 16px;
          font-weight: bold;
          border-radius: 20px;
          position: relative;
          border: 3px #2fff63 solid; }
          #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box p::after {
            content: '';
            position: absolute;
            display: block;
            width: 0;
            height: 0;
            left: -22px;
            top: 20px;
            border-right: 25px solid white;
            border-top: 25px solid transparent;
            border-bottom: 25px solid transparent; }
          #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box p::before {
            content: '';
            position: absolute;
            display: block;
            width: 0;
            height: 0;
            left: -25px;
            top: 20px;
            border-right: 25px solid #2fff63;
            border-top: 25px solid transparent;
            border-bottom: 25px solid transparent; }
        #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box span {
          font-size: 20px;
          color: red;
          background: linear-gradient(transparent 30%, #fffc01 70%); }
        #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box .speech-img {
          width: 250px;
          position: relative; }
          #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box .speech-img img {
            width: 100%;
            position: absolute;
            top: 0;
            right: 0;
            left: 0;
            bottom: 0;
            margin: auto; }
        #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box > a {
          width: 40px;
          height: 40px;
          position: absolute;
          border-radius: 50%;
          border: solid 1px #002446;
          right: 10px;
          top: 50%;
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
          #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box > a img {
            width: 20px;
            height: 20px;
            position: absolute;
            top: 0;
            right: 0;
            left: 0;
            bottom: 0;
            margin: auto; }
      #family .box-remaining .whiteback .wrapper .speech-boxes .row-reverse {
        flex-direction: row-reverse;
        margin-left: auto;
        margin-right: 0; }
        #family .box-remaining .whiteback .wrapper .speech-boxes .row-reverse p::after {
          right: -22px;
          left: inherit;
          top: 20px;
          border-right: none;
          border-left: 25px solid white;
          border-top: 25px solid transparent;
          border-bottom: 25px solid transparent; }
        #family .box-remaining .whiteback .wrapper .speech-boxes .row-reverse p::before {
          right: -25px;
          left: inherit;
          top: 20px;
          border-right: none;
          border-left: 25px solid #2fff63;
          border-top: 25px solid transparent;
          border-bottom: 25px solid transparent; }
      #family .box-remaining .whiteback .wrapper .commitment {
        color: #002446;
        letter-spacing: 0.1em;
        line-height: 1.5;
        font-size: 18px; }

@media screen and (max-width: 960px) {
  #family {
    height: 100%; }
    #family .box-remaining {
      height: 100%;
      position: relative; }
      #family .box-remaining .whiteback {
        height: auto;
        width: 90%;
        background-color: white;
        position: relative;
        margin: 0 auto;
        padding: 100px 0; }
        #family .box-remaining .whiteback .wrapper h1 {
          letter-spacing: 0.8rem;
          font-size: 33px; }
        #family .box-remaining .whiteback .wrapper .message-box {
          margin: 60px 0 0;
          padding: 50px 0;
          position: relative;
          text-align: center;
          line-height: 2.0;
          letter-spacing: 0em;
          font-size: 18px; }
          #family .box-remaining .whiteback .wrapper .message-box ::after {
            border-right: 100px solid transparent;
            border-top: 100px solid #002446;
            height: 0;
            width: 0; }
          #family .box-remaining .whiteback .wrapper .message-box ::before {
            border-left: 100px solid transparent;
            border-bottom: 100px solid #002446;
            height: 0;
            width: 0; }
        #family .box-remaining .whiteback .wrapper h2 {
          margin-top: 100px;
          margin-bottom: 30px;
          font-size: 28px;
          letter-spacing: 0.1em; }
          #family .box-remaining .whiteback .wrapper h2 span {
            font-size: 20px;
            margin-left: 30px; }
        #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box {
          width: 100%;
          display: flex;
          margin: 60px 0; }
          #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box p {
            width: 80%;
            margin-right: auto;
            background-color: rgba(255, 255, 255, 0.781);
            padding: 20px 40px 20px 20px;
            color: #002446;
            line-height: 1.7rem;
            font-size: 16px;
            font-weight: bold;
            border-radius: 20px;
            position: relative;
            border: 3px #2fff63 solid; }
            #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box p::after {
              content: '';
              position: absolute;
              display: block;
              width: 0;
              height: 0;
              left: -22px;
              top: 20px;
              border-right: 25px solid white;
              border-top: 25px solid transparent;
              border-bottom: 25px solid transparent; }
            #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box p::before {
              content: '';
              position: absolute;
              display: block;
              width: 0;
              height: 0;
              left: -25px;
              top: 20px;
              border-right: 25px solid #2fff63;
              border-top: 25px solid transparent;
              border-bottom: 25px solid transparent; }
          #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box span {
            font-size: 20px;
            color: red;
            background: linear-gradient(transparent 30%, #fffc01 70%); }
          #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box .speech-img {
            width: 250px;
            position: relative; }
            #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box .speech-img img {
              width: 100%;
              position: absolute;
              top: 0;
              right: 0;
              left: 0;
              bottom: 0;
              margin: auto; }
        #family .box-remaining .whiteback .wrapper .speech-boxes .row-reverse {
          flex-direction: row-reverse;
          margin-left: auto;
          margin-right: 0; }
          #family .box-remaining .whiteback .wrapper .speech-boxes .row-reverse p::after {
            right: -22px;
            left: inherit;
            top: 20px;
            border-right: none;
            border-left: 25px solid white;
            border-top: 25px solid transparent;
            border-bottom: 25px solid transparent; }
          #family .box-remaining .whiteback .wrapper .speech-boxes .row-reverse p::before {
            right: -25px;
            left: inherit;
            top: 20px;
            border-right: none;
            border-left: 25px solid #2fff63;
            border-top: 25px solid transparent;
            border-bottom: 25px solid transparent; }
        #family .box-remaining .whiteback .wrapper .commitment {
          color: #002446;
          letter-spacing: 0.1em;
          line-height: 1.5;
          font-size: 18px; } }
@media screen and (max-width: 560px) {
  #family .box-remaining .whiteback {
    width: 95%;
    padding: 80px 0; }
    #family .box-remaining .whiteback .wrapper h1 {
      letter-spacing: 0.5rem;
      font-size: 30px; }
    #family .box-remaining .whiteback .wrapper .message-box {
      margin: 60px 0 0;
      padding: 50px 5px;
      line-height: 1.5;
      letter-spacing: 0em;
      font-size: 16px; }
      #family .box-remaining .whiteback .wrapper .message-box ::after {
        border-right: 50px solid transparent;
        border-top: 50px solid #002446;
        height: 0;
        width: 0; }
      #family .box-remaining .whiteback .wrapper .message-box ::before {
        border-left: 50px solid transparent;
        border-bottom: 50px solid #002446;
        height: 0;
        width: 0; }
    #family .box-remaining .whiteback .wrapper h2 {
      margin-top: 50px;
      margin-bottom: 30px;
      font-size: 22px;
      letter-spacing: 0.1em; }
      #family .box-remaining .whiteback .wrapper h2 span {
        font-size: 16px;
        margin-left: 0px; }
    #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box {
      width: 100%;
      display: block;
      margin: 40px 0; }
      #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box p {
        width: 90%;
        margin: 30px auto 0;
        padding: 10px;
        color: #002446;
        line-height: 1.5rem;
        font-size: 14px;
        border-radius: 20px;
        border: 3px #2fff63 solid; }
        #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box p::after {
          content: '';
          position: absolute;
          display: block;
          width: 0;
          height: 0;
          left: 24px;
          top: -22px;
          border-right: 25px solid transparent;
          border-left: 25px solid transparent;
          border-top: none;
          border-bottom: 25px solid white; }
        #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box p::before {
          content: '';
          position: absolute;
          display: block;
          width: 0;
          height: 0;
          left: 24px;
          top: -25px;
          border-right: 25px solid transparent;
          border-left: 25px solid transparent;
          border-top: none;
          border-bottom: 25px solid #2fff63; }
      #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box span {
        font-size: 14px; }
      #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box > a {
        top: 30%;
        -webkit-transform: translateY(-30%);
        -ms-transform: translateY(-30%);
        transform: translateY(-30%); }
      #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box .speech-img {
        width: 250px;
        margin: 0 auto; }
        #family .box-remaining .whiteback .wrapper .speech-boxes .speech-box .speech-img img {
          position: relative; }
    #family .box-remaining .whiteback .wrapper .speech-boxes .row-reverse p::after {
      content: '';
      position: absolute;
      display: block;
      width: 0;
      height: 0;
      left: 24px;
      top: -22px;
      border-right: 25px solid transparent;
      border-left: 25px solid transparent;
      border-top: none;
      border-bottom: 25px solid white; }
    #family .box-remaining .whiteback .wrapper .speech-boxes .row-reverse p::before {
      content: '';
      position: absolute;
      display: block;
      width: 0;
      height: 0;
      left: 24px;
      top: -25px;
      border-right: 25px solid transparent;
      border-left: 25px solid transparent;
      border-top: none;
      border-bottom: 25px solid #2fff63; }
    #family .box-remaining .whiteback .wrapper .commitment {
      font-size: 16px; } }
