/*******************************
criminal_cases
*******************************/
#main .contents p:not(:last-child) {
  margin-bottom: 0.75em; }
#main .contents h2 {
  margin-top: 0; }
#main .contents #sec01 {
  position: relative; }
  #main .contents #sec01 .img01 {
    overflow: hidden; }
    #main .contents #sec01 .img01 img.pc_parts {
      width: 110%; }
      @media screen and (max-width: 1024px) {
        #main .contents #sec01 .img01 img.pc_parts {
          width: 160%; } }
    @media screen and (max-width: 738px) {
      #main .contents #sec01 .img01 img.sp_parts {
        display: block;
        width: 100%; } }
  #main .contents #sec01 section {
    position: absolute;
    top: 50%;
    left: 2.5%;
    width: 100%;
    transform: translate(0, -50%);
    color: #fff; }
    #main .contents #sec01 section h2 {
      color: #fff;
      font-size: 3.5rem;
      line-height: 1.1; }
      @media screen and (max-width: 1024px) {
        #main .contents #sec01 section h2 {
          font-size: 5vw; } }
      @media screen and (max-width: 738px) {
        #main .contents #sec01 section h2 {
          font-size: 10vw; } }
    #main .contents #sec01 section .txt01 {
      font-weight: 700;
      font-size: 1.125rem; }
      @media screen and (max-width: 738px) {
        #main .contents #sec01 section .txt01 {
          font-size: 4.25vw; } }
    #main .contents #sec01 section .list01 {
      margin-top: 2em; }
      #main .contents #sec01 section .list01 li {
        display: flex;
        align-items: flex-start;
        font-weight: 700; }
        @media screen and (max-width: 738px) {
          #main .contents #sec01 section .list01 li {
            font-size: 3.75vw; } }
        #main .contents #sec01 section .list01 li:not(:last-child) {
          margin-bottom: 0.75em; }
        #main .contents #sec01 section .list01 li .number {
          width: 6%;
          padding-left: 1%;
          background: #db0200;
          display: flex;
          align-items: center;
          justify-content: center;
          height: 2rem;
          position: relative;
          font-size: 1.25em; }
          #main .contents #sec01 section .list01 li .number::after {
            position: absolute;
            left: 100%;
            content: "";
            display: inline-block;
            vertical-align: middle;
            line-height: 1;
            width: 0;
            height: 0;
            border-style: solid;
            border-color: transparent;
            border-width: 1em 1em;
            border-left-color: #db0200;
            border-right: 0; }
        #main .contents #sec01 section .list01 li .txt {
          width: 93%;
          margin-left: 1.5em;
          margin-top: 0.35em; }
          @media screen and (max-width: 738px) {
            #main .contents #sec01 section .list01 li .txt {
              margin-right: 1.5%; } }
#main .contents #sec06 {
  margin-top: 3.5rem;
  background: #f8f8f8;
  padding: 1.75rem 2.5% 2.5rem; }
  #main .contents #sec06 .flow01 li {
    position: relative; }
    #main .contents #sec06 .flow01 li:not(:last-child) {
      padding-bottom: 2em; }
    #main .contents #sec06 .flow01 li::after {
      content: "";
      width: 2px;
      height: 100%;
      background: #333;
      position: absolute;
      top: 0;
      left: 3%; }
      @media screen and (max-width: 1024px) {
        #main .contents #sec06 .flow01 li::after {
          left: 4%; } }
      @media screen and (max-width: 738px) {
        #main .contents #sec06 .flow01 li::after {
          left: 8%; } }
    #main .contents #sec06 .flow01 li:last-child::after {
      display: none; }
    #main .contents #sec06 .flow01 li .box01 {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      width: 100%; }
      #main .contents #sec06 .flow01 li .box01 .hours {
        width: 15%;
        font-size: 1.5rem;
        font-weight: 700;
        color: #333;
        position: relative; }
        @media screen and (max-width: 738px) {
          #main .contents #sec06 .flow01 li .box01 .hours {
            width: 25%; } }
        #main .contents #sec06 .flow01 li .box01 .hours span {
          background: #f8f8f8;
          position: relative;
          z-index: 2;
          padding: 0.25em 0.25em 0.25em 2.5%; }
        #main .contents #sec06 .flow01 li .box01 .hours::after {
          content: "";
          width: 100%;
          height: 2px;
          background: #333;
          position: absolute;
          top: 50%;
          left: 0; }
      #main .contents #sec06 .flow01 li .box01 .txt {
        width: 84%;
        margin-top: 0.35em; }
        @media screen and (max-width: 738px) {
          #main .contents #sec06 .flow01 li .box01 .txt {
            margin-left: 1.5%; } }
#main .contents #sec08 {
  margin-top: 3.5rem; }
  #main .contents #sec08 .box01 {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 738px) {
      #main .contents #sec08 .box01 {
        display: block; } }
    #main .contents #sec08 .box01:not(:last-child) {
      margin-bottom: 2.5rem; }
    #main .contents #sec08 .box01 .img {
      width: 25%; }
      @media screen and (max-width: 738px) {
        #main .contents #sec08 .box01 .img {
          width: 60%;
          margin: 0 auto 1em; } }
      #main .contents #sec08 .box01 .img img {
        width: 100%; }
    #main .contents #sec08 .box01 .txt {
      width: 73%; }
      @media screen and (max-width: 738px) {
        #main .contents #sec08 .box01 .txt {
          width: 100%; } }
      #main .contents #sec08 .box01 .txt h3 {
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 1.25rem;
        margin: 0 0 0.5em; }
        @media screen and (max-width: 738px) {
          #main .contents #sec08 .box01 .txt h3 {
            align-items: flex-start; } }
        #main .contents #sec08 .box01 .txt h3 .icon {
          width: 20%;
          padding-left: 1%;
          background: #025fa0;
          color: #fff;
          display: flex;
          align-items: center;
          justify-content: center;
          height: 3rem;
          position: relative; }
          @media screen and (max-width: 738px) {
            #main .contents #sec08 .box01 .txt h3 .icon {
              font-size: 3.25vw;
              white-space: nowrap; } }
          #main .contents #sec08 .box01 .txt h3 .icon::after {
            position: absolute;
            left: 100%;
            content: "";
            display: inline-block;
            vertical-align: middle;
            line-height: 1;
            width: 0;
            height: 0;
            border-style: solid;
            border-right-style: solid;
            border-color: transparent;
            border-right-color: transparent;
            border-left-color: transparent;
            border-width: 1.5em 1em;
            border-right-width: 1em;
            border-left-color: #025fa0;
            border-right: 0; }
            @media screen and (max-width: 738px) {
              #main .contents #sec08 .box01 .txt h3 .icon::after {
                border-width: 2em 1em; } }
        #main .contents #sec08 .box01 .txt h3 .txt01 {
          width: 75%;
          line-height: 1.3;
          font-size: 1.25rem; }
#main .contents .layout01, #main .contents .layout02 {
  margin-top: 3.5rem; }
  #main .contents .layout01 .inner, #main .contents .layout02 .inner {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 1024px) {
      #main .contents .layout01 .inner, #main .contents .layout02 .inner {
        display: block; } }
    #main .contents .layout01 .inner .img, #main .contents .layout02 .inner .img {
      width: 43%; }
      @media screen and (max-width: 1024px) {
        #main .contents .layout01 .inner .img, #main .contents .layout02 .inner .img {
          margin: 0 auto 1.5em; } }
      @media screen and (max-width: 738px) {
        #main .contents .layout01 .inner .img, #main .contents .layout02 .inner .img {
          width: 100%;
          margin: 0 0 1em; } }
      #main .contents .layout01 .inner .img img, #main .contents .layout02 .inner .img img {
        width: 100%; }
    #main .contents .layout01 .inner .txt, #main .contents .layout02 .inner .txt {
      width: 55%; }
      @media screen and (max-width: 1024px) {
        #main .contents .layout01 .inner .txt, #main .contents .layout02 .inner .txt {
          width: 100%; } }
#main .contents .layout02 .inner {
  flex-direction: row-reverse; }
#main .contents .contact {
  margin-top: 3em;
  border: 1px solid #333;
  position: relative;
  box-sizing: border-box; }
  #main .contents .contact dl dt {
    background: #a48b78;
    padding: 0.35em 2.5%;
    color: #fff;
    font-weight: 700;
    font-size: 175%; }
    @media screen and (max-width: 738px) {
      #main .contents .contact dl dt {
        font-size: 6vw;
        text-align: center; } }
  #main .contents .contact dl dd {
    padding: 1.5em 2.5% 3em;
    background: #f7ede7;
    display: flex; }
    @media screen and (max-width: 1024px) {
      #main .contents .contact dl dd {
        display: block; } }
    @media screen and (max-width: 738px) {
      #main .contents .contact dl dd {
        padding: 0.5em 2.5% 1.5em; } }
    #main .contents .contact dl dd .tel {
      font-size: 350%;
      margin-right: 0.5em; }
      @media screen and (max-width: 1024px) {
        #main .contents .contact dl dd .tel {
          margin-right: 0; } }
      #main .contents .contact dl dd .tel a {
        color: #a48b78;
        font-weight: 700; }
    #main .contents .contact dl dd .wrap {
      margin-top: 1rem; }
      @media screen and (max-width: 1024px) {
        #main .contents .contact dl dd .wrap {
          margin-top: 0; } }
      @media screen and (max-width: 738px) {
        #main .contents .contact dl dd .wrap {
          margin-right: 28%; } }
      #main .contents .contact dl dd .wrap .overseas {
        color: #025fa0;
        font-weight: 700;
        font-size: 1.25rem; }
        @media screen and (max-width: 738px) {
          #main .contents .contact dl dd .wrap .overseas br.sp_parts {
            display: block; } }
      #main .contents .contact dl dd .wrap .hours {
        color: #000;
        font-weight: 700;
        font-size: 1.25rem; }
      #main .contents .contact dl dd .wrap .note01 {
        text-indent: -0.5em;
        margin-left: 0.5em; }
  #main .contents .contact .img {
    width: 20%;
    position: absolute;
    right: 0;
    bottom: 0; }
    @media screen and (max-width: 1024px) {
      #main .contents .contact .img {
        width: 27%; } }
    @media screen and (max-width: 738px) {
      #main .contents .contact .img {
        width: 40%; } }
    #main .contents .contact .img img {
      width: 100%; }
