/* OPN */
div#online-privacy-notice {
    margin-bottom: 30px;
    font-size: 14px;
    /* border: 1px solid #F5F5F5; */
}

div._opn_node_wrapper,
div._policy_explain_wrapper {
    background-color: #FFF;
}

span._opn_node_header,
span.policy_explain_header {
    display: block;
    text-align: center;
    font-weight: 600;
    font-size: 14px;
    margin-top: 2rem;
}

div._opn_node_inner,
div.policy_explain_inner {
    margin: 0;
    padding-bottom: 20px;
}

p._opn_node_inner_desc {
    font-size: 12px;
}

div._opn_node {
    padding-bottom: 0;
    margin-bottom: 0;
    display: flex;
    justify-content: space-evenly;
    /* align-items: center; */
}

div._opn_node_title {
    padding-bottom: 0;
    margin-bottom: 0;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}

p._opn_type_name {
    font-size: 12px;
    font-weight: 600;
    margin-top: 1rem;
}

div._opn_node:last-child {
    border-bottom: none;
}

a._opn_node_items {
    display: inline-block;
    width: 100%;
    margin-top: 0;
    flex: 0 1 25%;
    font-size: 12px;
    padding: .5em 0 .5em .5em;
    min-height: 2em;
    border-bottom: 1px solid #CCC;
    border-right: 1px solid #CCC;
    text-decoration: none;
}

a._opn_node_items:hover {
    text-decoration: underline;
}

span._opn_node_items {
    display: inline-block;
    margin-top: 0;
    flex: 1 1 20%;
    font-size: 12px;
    padding: .5em 0 .5em .5em;
    min-height: 2em;
    background-color: #EEE;
    border-right: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    border-top: 1px solid #CCC;
}

a._opn_node_items.no_href {
    text-decoration: none;
    color: #EEE;
    cursor: default;
}

a._opn_node_items.name.no_href {
    text-decoration: none;
    color: inherit;
    cursor: default;
}

a._opn_node_items.name {
    display: inline;
    /* flex: 1 1 20%; */
    border-left: 1px solid #CCC;
}

span._opn_node_items.name {
    display: inline;
    flex: 1 1 20%;
    border-left: 1px solid #CCC;
}

a._opn_node_items.name:after {
    content: "\A";
    white-space: pre;
}

div#opn_policy {
    background-color: #FDFDFD;
    padding: 1em 2em;
    margin: 1em 0;
}



.o_privacy_ttl.open {
    background: #E1ECFA;
    border-radius: 3px 3px 0 0;
}
.o_privacy_item {
    display: none;
    margin-top: 0;
    border: solid 1px #E1ECFA;
    padding:5px 10px;
    background-color: #FFF;
}
.o_privacy_item ul {
    display: flex;
    gap:1em;
    margin: 5px 0 0;
    padding: 0;
}
.o_privacy_item li {
    list-style-type: none;
}
.o_privacy_item.active {
    display: block;
}
.o_privacy_item strong {
    display: block;
    font-weight: 400;
    margin: 15px 0 10px;
    border-bottom: solid 1px #EEE;
  }
.o_privacy_link {
    margin-top: 40px;
}
.serviceInfoDescription p {
margin: 0 !important;
padding: 0 0 0 1em;
text-indent: -1em;
}
.serviceInfoDescription p::before {
    content: "・";
}


.o_privacy_wrap {
    max-width: 750px;
    margin: 0 20px 20px;
}

.o_privacy_ttl {
    margin-top: 5px;
    font-size: 14px;
    position: relative;
    padding: 6px 10px;
    transition: all 0.5s ease 0s;
   border:solid 2px #E1ECFA;
   transition: all 0.5s ease 0s;
   border-radius: 3px;
   background: #FFF;
}
.o_privacy_ttl:hover {
    background: #E1ECFA;
}
.o_privacy_ttl span{
    font-weight: bold;
}
.o_privacy_ttl span::before {
    margin: auto;
    top: 0;
    bottom: 0;
    position: absolute;
    content: '';
    display: block;
    border-top: 2px solid #005bb5;
    width: 20px;
    height: 0;
    right: 10px;
    transition-duration: .5s;
    transform: rotate(90deg);
}
.o_privacy_ttl.open span::before {
    transform: rotate(0deg);
}
.o_privacy_ttl span::after {
    margin: auto;
    top: 0;
    bottom: 0;
    position: absolute;
    content: '';
    display: block;
    border-top: 2px solid #005bb5;
    width: 20px;
    height: 0;
    right: 10px;
    transition-duration: .5s;
}
.o_privacy_item {
    display: none;
    /* margin-top: 4px; */
}
.o_privacy_link {
    margin-top: 40px;
}
.o_privacy_ttl_l {
    margin: 15px 0 0 0;
    font-size: 16px;
    position: relative;
    padding: 8px 10px;
    transition: all 0.5s ease 0s;
   border:solid 2px #E1ECFA;
   transition: all 0.5s ease 0s;
   border-radius: 3px;
}
.o_privacy_ttl_l:hover {
    background: #E1ECFA;
}
.o_privacy_ttl_l span{
    font-weight: bold;
}
.o_privacy_ttl_l span::before {
    margin: auto;
    top: 0;
    bottom: 0;
    position: absolute;
    content: '';
    display: block;
    border-top: 2px solid #005bb5;
    width: 20px;
    height: 0;
    right: 10px;
    transition-duration: .5s;
    transform: rotate(90deg);
}
.o_privacy_ttl_l.open span::before {
    transform: rotate(0deg);
}
.o_privacy_ttl_l span::after {
    margin: auto;
    top: 0;
    bottom: 0;
    position: absolute;
    content: '';
    display: block;
    border-top: 2px solid #005bb5;
    width: 20px;
    height: 0;
    right: 10px;
    transition-duration: .5s;
}
.o_privacy_ttl_l.open {
    background: #E1ECFA;
    border-radius: 3px 3px 0 0;
}
.o_privacy_wrap_l {
    border:solid 1px #E1ECFA;
    display: none;
    padding: 5px 3% 0;
    background: #f6f6f6;
    margin: 0 !important;
}
.icon-external-link {
    &::after {
        content: "";
        background: url(../common/img/arrow.svg) center center /contain no-repeat;
        display: inline-block;
        width: .8em;
        height: .8em;
    }
}
.examInfo {
    position: relative;
    &::before {
      margin: auto;
      top: 0;
      bottom: 0;
      position: absolute;
      content: '';
      display: block;
      border-top: 2px solid #777777;
      width: 14px;
      height: 0;
      right: 10px;
      transition-duration: .5s;
      transform: rotate(90deg);
    }
  &.open::before {
    transform: rotate(0deg);
  }
    &::after {
      margin: auto;
      top: 0;
      bottom: 0;
      position: absolute;
      content: '';
      display: block;
      border-top: 2px solid #777777;
      width: 14px;
      height: 0;
      right: 10px;
      transition-duration: .5s;
    }
  }
  .examItem {
    display: none;
  }

@media screen and (min-width: 700px) {
.sp-only  {
    display: none;
}
}
@media screen and (max-width: 600px) {

    div._opn_node {
        display: block;
        margin-bottom: 1em;
    }

    span._opn_node_header,
    span.policy_explain_header {
        border-bottom: 1px solid #FFF;
    }

    span.policy_explain_header:last-of-type {
        border-bottom: none;
    }

    div._opn_node_inner_wrap {
        display: flex;
    }

    span._opn_node_thead {
        flex: 0 1 45%;
        padding: 10px 5px;
        font-size: 11px;
        background-color: #EEE;
        border-left: 1px solid #CCC;
        border-right: 1px solid #CCC;
        border-top: 1px solid #CCC;
        align-items: center;
        display: flex;
    }

    div._opn_node_inner_wrap.optout {
        border-bottom: 1px solid #CCC;
    }

    a._opn_node_items.name,
    a._opn_node_items {
        flex: 1 1 20%;
        padding: 10px 5px;
        font-size: 11px;
        border-top: 1px solid #CCC;
        border-right: 1px solid #CCC;
        border-bottom: none;
        border-left: none;
        align-items: center;
        display: flex;
        word-break: break-word;
    }

    div.content {
        padding-bottom: 20px;
    }

    div#opn_policy {
        background-color: #FFF;
        margin-bottom: 0;
    }
    .o_privacy_wrap {
        margin: 20px 10px 0;
    }
    .o_privacy_wrap {
        margin: 20px 10px 0;
    }
    .o_in_text_ {
        margin-bottom: 1.5em;
    }
    .o_privacy_ttl {
        font-weight: normal;
        font-size: 16px;
        position: relative;
        padding: 8px 10px;
        transition: all 0.5s ease 0s;
        border:solid 1px #E1ECFA;
        border-radius: 3px;
        font-weight: bold;
    }
    .o_privacy_ttl.open {
        background: #E1ECFA;
        border-radius: 3px 3px 0 0;
    }
    .o_privacy_item {
        display: none;
        margin-top: 0;
        border: solid 1px #E1ECFA;
        padding:3%;
        >ul {
          flex-flow: column;
          gap:5px;
        }
    }
    div#online-privacy-notice {
        margin-bottom: 0;
    }
/*     .o_privacy_ttl_l,.o_privacy_wrap_l {
        margin: auto 3%;
    } */
    .o_privacy_wrap_l {
        padding: 3%;
    }
}
