#policy h3 {
  color: #4f177f;
  font-weight: bold;
  font-size: 34px;
  font-size: 3.4rem;
  padding-bottom: 0.6em; }
  #policy h3 span {
    font-size: 27px;
    font-size: 2.7rem; }
#policy p a {
  color: #036eb8; }
#policy p.red {
  color: #e61673; }

.policy_intro {
  font-size: 16px;
  font-size: 1.6rem;
  padding-bottom: 95px; }
  .policy_intro p {
    line-height: 1.8; }
  .policy_intro ol {
    padding: 40px 0; }
    .policy_intro ol li {
      padding-left: 1.6em;
      text-indent: -1.6em;
      line-height: 1.8;
      padding-bottom: 0.5em; }
  .policy_intro .txtright {
    text-align: right; }
    .policy_intro .txtright p {
      padding-bottom: 50px; }
      .policy_intro .txtright p:last-of-type {
        padding-bottom: 0; }

.policy_block {
  padding-bottom: 60px; }
  .policy_block h3 + h4 {
    padding-top: 30px; }
  .policy_block h4 {
    font-size: 25px;
    font-size: 2.5rem;
    padding-bottom: 1em; }
  .policy_block p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.8;
    padding-bottom: 1em; }
    .policy_block p:last-of-type {
      padding-bottom: 0; }
  .policy_block ol li {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.8;
    padding-left: 1.8em;
    text-indent: -1.8em;
    padding-bottom: 1.5em; }
    .policy_block ol li ol li {
      padding-bottom: 0.5em; }
    .policy_block ol li .txt1 {
      padding-top: 0.5em; }
    .policy_block ol li .txt2 {
      text-indent: 0; }
  .policy_block .site-tbl {
    margin-top: 20px;
    width: 100%;
    font-size: 16px;
    font-size: 1.6rem; }
    .policy_block .site-tbl th {
      background-color: #dcdddd;
      text-align: center;
      vertical-align: middle;
      border-bottom: 5px solid #fff;
      width: 335px;
      padding: 30px 15px; }
    .policy_block .site-tbl td {
      vertical-align: middle;
      border-bottom: 5px solid #fff;
      padding: 15px 30px;
      line-height: 2; }
      .policy_block .site-tbl td p {
        padding-bottom: 1em; }
      .policy_block .site-tbl td dl dt {
        padding-bottom: 0.5em; }
      .policy_block .site-tbl td dl dd {
        padding-left: 1em;
        padding-bottom: 1em;
        line-height: 2; }
      .policy_block .site-tbl td .mark {
        width: 290px; }
        .policy_block .site-tbl td .pmark {
          width: 150px; }
  .policy_block .app-tbl {
    margin-top: 20px;
    width: 100%;
    font-size: 16px;
    font-size: 1.6rem;
    text-align: left; }
    .policy_block .app-tbl .th-first {
      background-color: #898989;
      color: #fff;
      border-bottom: 5px solid #fff;
      width: 340px;
      padding: 10px 20px;
      line-height: 1.7; }
    .policy_block .app-tbl .th-second {
      background-color: #898989;
      color: #fff;
      border-bottom: 5px solid #fff;
      border-left: 5px solid #fff;
      padding: 10px 20px;
      line-height: 1.7; }
    .policy_block .app-tbl .td-first {
      background-color: #dcdddd;
      border-bottom: 5px solid #fff;
      padding: 10px 20px;
      line-height: 1.7; }
    .policy_block .app-tbl .td-second {
      border-bottom: 5px solid #fff;
      border-left: 5px solid #fff;
      padding: 10px 20px;
      line-height: 1.7; }
  .policy_block .privacy-tbl {
    margin-top: 20px;
    margin-bottom: 20px;
    width: 100%;
    text-align: left; }
    .policy_block .privacy-tbl th {
      background-color: #898989;
      color: #fff;
      width: 50%;
      padding: 10px 20px;
      line-height: 1;
      font-size: 16px;
      font-size: 1.6rem;
      border: 1px solid #bbbbbb; }
    .policy_block .privacy-tbl td {
      padding: 20px 20px;
      font-size: 16px;
      font-size: 1.6rem;
      border: 1px solid #bbbbbb;
      border-top: none;
      line-height: 1.5;
      vertical-align: middle; }

@media screen and (max-width: 1366px) {
  #policy h3 {
    font-size: calc(34 / 1366 * 100vw); }
    #policy h3 span {
      font-size: calc(27 / 1366 * 100vw); }

  .policy_intro {
    font-size: calc(16 / 1366 * 100vw);
    padding-bottom: calc(95 / 1366 * 100vw); }
    .policy_intro ol {
      padding: calc(40 / 1366 * 100vw) 0; }
    .policy_intro .txtright p {
      padding-bottom: calc(50 / 1366 * 100vw); }
      .policy_intro .txtright p:last-of-type {
        padding-bottom: 0; }

  .policy_block {
    padding-bottom: calc(60 / 1366 * 100vw); }
    .policy_block h3 + h4 {
      padding-top: calc(30 / 1366 * 100vw); }
    .policy_block h4 {
      font-size: calc(25 / 1366 * 100vw); }
    .policy_block p {
      font-size: calc(16 / 1366 * 100vw); }
    .policy_block ol li {
      font-size: calc(16 / 1366 * 100vw); }
    .policy_block .site-tbl {
      margin-top: calc(20 / 1366 * 100vw);
      font-size: calc(16 / 1366 * 100vw); }
      .policy_block .site-tbl th {
        border-width: calc(5 / 1366 * 100vw);
        width: calc(335 / 1366 * 100vw);
        padding: calc(30 / 1366 * 100vw) calc(15 / 1366 * 100vw); }
      .policy_block .site-tbl td {
        border-width: calc(5 / 1366 * 100vw);
        padding: calc(15 / 1366 * 100vw) calc(30 / 1366 * 100vw); }
        .policy_block .site-tbl td .mark {
          width: calc(290 / 1366 * 100vw); }
    .policy_block .app-tbl {
      margin-top: calc(20 / 1366 * 100vw);
      font-size: calc(16 / 1366 * 100vw); }
      .policy_block .app-tbl .th-first {
        width: calc(340 / 1366 * 100vw);
        padding: calc(10 / 1366 * 100vw) calc(20 / 1366 * 100vw); }
      .policy_block .app-tbl .th-second {
        padding: calc(10 / 1366 * 100vw) calc(20 / 1366 * 100vw); }
      .policy_block .app-tbl .td-first {
        padding: calc(10 / 1366 * 100vw) calc(20 / 1366 * 100vw); }
      .policy_block .app-tbl .td-second {
        padding: calc(10 / 1366 * 100vw) calc(20 / 1366 * 100vw); }
    .policy_block .privacy-tbl {
      margin-top: calc(20 / 1366 * 100vw);
      margin-bottom: calc(20 / 1366 * 100vw); }
      .policy_block .privacy-tbl th {
        padding: calc(10 / 1366 * 100vw) calc(20 / 1366 * 100vw);
        font-size: calc(16 / 1366 * 100vw); }
      .policy_block .privacy-tbl td {
        padding: calc(20 / 1366 * 100vw) calc(20 / 1366 * 100vw);
        font-size: calc(16 / 1366 * 100vw); } }
@media screen and (max-width: 768px) {
  #policy h3 {
    font-size: calc(50 / 768 * 100vw); }
    #policy h3 span {
      font-size: calc(34 / 768 * 100vw);
      display: block;
      padding-top: 0.5em; }

  .policy_intro {
    font-size: calc(28 / 768 * 100vw);
    padding-bottom: calc(150 / 768 * 100vw); }
    .policy_intro ol {
      padding: calc(60 / 768 * 100vw) 0; }
    .policy_intro .txtright p {
      padding-bottom: calc(80 / 768 * 100vw); }
      .policy_intro .txtright p:last-of-type {
        padding-bottom: 0; }

  .policy_block {
    padding-bottom: calc(120 / 768 * 100vw); }
    .policy_block h3 + h4 {
      padding-top: calc(50 / 768 * 100vw); }
    .policy_block h4 {
      font-size: calc(40 / 768 * 100vw);
      line-height: 1.6;
      padding-left: 1em;
      text-indent: -1em; }
    .policy_block p {
      font-size: calc(28 / 768 * 100vw); }
    .policy_block ol li {
      font-size: calc(28 / 768 * 100vw); }
      .policy_block ol li ol li {
        padding-left: 1em;
        text-indent: -1em; }
    .policy_block .site-tbl {
      margin-top: calc(40 / 768 * 100vw);
      width: 100%;
      font-size: calc(28 / 768 * 100vw); }
      .policy_block .site-tbl th {
        border: none;
        display: block;
        width: 100%;
        padding: calc(20 / 768 * 100vw) calc(30 / 768 * 100vw); }
      .policy_block .site-tbl td {
        display: block;
        width: 100%;
        vertical-align: middle;
        border: none;
        padding: calc(40 / 768 * 100vw) calc(40 / 768 * 100vw);
        line-height: 1.6; }
        .policy_block .site-tbl td dl dd {
          line-height: 1.6; }
        .policy_block .site-tbl td .mark {
          width: calc(400 / 768 * 100vw);
          margin: 0 auto;
          display: block; }
          .policy_block .site-tbl td .pmark {
            width: calc(150 / 768 * 100vw);
            margin: 0 auto;
            display: block; }
          .policy_block .site-tbl td .pmark {
            width: calc(150 / 768 * 100vw);
            margin: 0 auto;
            display: block; }
    .policy_block .app-tbl {
      margin-top: calc(40 / 768 * 100vw);
      font-size: calc(28 / 768 * 100vw); }
      .policy_block .app-tbl .th-first {
        width: 40%;
        padding: calc(10 / 768 * 100vw) calc(20 / 768 * 100vw); }
      .policy_block .app-tbl .th-second {
        padding: calc(10 / 768 * 100vw) calc(20 / 768 * 100vw); }
      .policy_block .app-tbl .td-first {
        padding: calc(10 / 768 * 100vw) calc(20 / 768 * 100vw); }
      .policy_block .app-tbl .td-second {
        padding: calc(10 / 768 * 100vw) calc(20 / 768 * 100vw); }
    .policy_block .privacy-tbl {
      margin-top: calc(40 / 768 * 100vw);
      margin-bottom: calc(40 / 768 * 100vw);
      overflow: hidden; }
      .policy_block .privacy-tbl th {
        font-size: calc(28 / 768 * 100vw); }
      .policy_block .privacy-tbl td {
        font-size: calc(28 / 768 * 100vw);
        padding: calc(20 / 768 * 100vw) calc(20 / 768 * 100vw); } }
